安定した90%以上のRecall – ウェイクワードをゼロから学習する理由
「Recall 90%以上」は多くのウェイクワードツールが謳う数字ですが、安定して達成できるものは少数です。openWakeWordの自作モデルは、単語や日によって25%〜90%の間を揺れ動きます。ここでは「安定」の本当の意味と、ゼロからの学習がそれを実現する理由を解説します。
不安定なRecallとはどういうものか
- openWakeWordの自動学習ノートブックは、Recall 25.7%のモデルを生成したことがあります。
- 90%以上を達成したモデルは、それぞれ異なるハイパーパラメータを必要としていました — 「全ウェイクワードに効く単一の設定は存在しない」。
- 独立ベンチマークでは、openWakeWordはRecall 69%、誤検出 毎時8.5回でした。
いつも同じパターンです。あるテストでは良さそうに見えても、次の単語で崩れる。仕組みの全体像はこちら(英語)。
凍結embeddingが不安定な理由
openWakeWordは話者照合のembeddingを凍結し、単語ごとに小さなヘッドだけを学習します。このembeddingは「誰が話しているか」に答えるために学習されており、つまり何を言っているかを無視するようにできています。ウェイクワード検出はその正反対です。このミスマッチにより、借用した空間できれいに分離できる単語とできない単語が生まれ、Recallが宝くじのようになります。
ゼロからの学習が安定する理由
Voicuteは単語ごとにTCN(時間畳み込みネットワーク)をゼロから学習します。フィルタは借用した特徴空間に頼らず、対象単語の音響形状を直接学習します。畳み込みの帰納バイアス(局所結合・重み共有・並進不変性)によって少ないデータで済み、合成音声から実話者・騒がしい部屋へもRecallを崩さず一般化します。
その結果が安定した90%以上のRecallです。日本語・英語・ドイツ語・フランス語・中国語のいずれでも、声やノイズレベルが変わっても同じ数字を維持し、単語ごとの調整は不要です。
| 凍結embedding(openWakeWord) | ゼロからのTCN(Voicute) | |
|---|---|---|
| Recall | 25%–90%、単語依存 | 安定して90%以上 |
| 単語の選り好み | あり | なし |
| 非英語 | スコア約0.001 | 日本語・英語・独・仏・中にネイティブ対応 |
| 調整 | 単語ごとのハイパーパラメータ | 不要 |
FAQ
ウェイクワードの「安定したRecall」とは何ですか?
安定したRecallとは、単語・声・ノイズレベルが変わってもモデルが90%以上を達成することです。ある幸運な単語で90%、別の単語で25%という状態ではありません。
なぜopenWakeWordのRecallは不安定なのですか?
openWakeWordは各単語を、内容を無視するように学習された英語の話者照合embedding(凍結済み)の上に構築します。この目的のミスマッチが単語の選り好みと、~25%〜~90%で揺れるRecallを引き起こします。
ゼロからの学習でRecallが90%以上で安定するのはなぜですか?
ゼロから学習したTCNは、借用した特徴空間に頼らず、対象単語の音響形状を直接学習します。畳み込みの帰納バイアスにより、少ないデータで済み、ノイズや話者変化に対しても安定します。
日本語のウェイクワードも90%以上の安定したRecallになりますか?
はい。各モデルは対象言語で学習されるため、日本語のウェイクワードも英語と同じ90%以上の安定したRecallを達成します。
安定したウェイクワードを作成する →