第8章. ウェイクワードの検出モデルをトレーニングする
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
第7章では、"はい "と "いいえ "を認識するように訓練されたモデルを中心にアプリケーションを構築した。この章では、異なる単語を認識できる新しいモデルを訓練する。
我々のアプリケーション・コードはかなり一般化されている。音声をキャプチャして処理し、それをTensorFlow Liteモデルに送り込み、出力に基づいて何かを行うだけだ。ほとんどの場合、モデルがどの単語を探しているかは気にしない。つまり、新しいモデルをトレーニングすれば、それをアプリケーションにドロップするだけで、すぐに動作するようになる。
新しいモデルをトレーニングする際に考慮しなければならないことは以下の通りだ:
- インプット
-
新しいモデルは、アプリケーションコードと同じ前処理を施した、同じ形状と形式の入力データでトレーニングされなければならない。
- 出力
-
新しいモデルの出力は同じ形式でなければならない:各クラスに1つずつ、確率のテンソルである。
- トレーニングデータ
-
どの新しい単語を選ぶにせよ、新しいモデルを訓練するために、人々がその単語を口にする様子をたくさん録音する必要がある。
- 最適化
-
このモデルは、限られたメモリーしか持たないマイクロコントローラー上で効率的に動作するように最適化されなければならない。
幸いなことに、我々の既存のモデルはTensorFlowチームが公開したスクリプトを使ってトレーニングされており、このスクリプトを使って新しいモデルをトレーニングすることができる。また、トレーニングデータとして使える音声のデータセットも無料で入手できる。
次のセクションでは、このスクリプトを使ってモデルをトレーニングするプロセスを説明する。そして「プロジェクトでモデルを使う」では、新しいモデルを既存のアプリケーション・コードに組み込む。その後、「モデルがどのように機能するか」で、モデルが実際にどのように機能するかを学ぶ。最後に、「自分のデータでトレーニングする」では、自分のデータセットを使ってモデルをトレーニングする方法を見る。
新しいモデルを育成する
これは、TensorFlowを使って音声認識モデルを構築し、訓練する方法を示すために設計されたサンプルスクリプトである。
このスクリプトを使えば、音声認識モデルの学習が非常に簡単になる。特に以下のことができる:
-
20の話し言葉を含む音声のデータセットをダウンロードする。
-
どの単語のサブセットでモデルを訓練するかを選択する。
-
オーディオに使用する前処理の種類を指定する。
-
数種類のモデルアーキテクチャから選べる。
-
量子化を使用して、マイクロコントローラ用にモデルを最適化する。
スクリプトを実行すると、データセットをダウンロードし、モデルを学習し、学習済みモデルを表すファイルを出力する。次に、このファイルをTensorFlow Lite用の正しい形式に変換するために、他のツールを使う。
注
モデル作成者は、このようなタイプのトレーニングスクリプトを作成するのが一般的である。これによって、モデル・アーキテクチャやハイパーパラメータのさまざまなバリエーションを簡単に試すことができ、また自分の作業を他の人と共有することができる。
トレーニングスクリプトを実行する最も簡単な方法は、Colaboratory(Colab)ノートブック内で実行することである。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access