第 2 章
モデルの学習および検証のための注釈付きデータの作成
学習、検証、テスト用データセット: 違いは何ですか?
有効なディープラーニング モデルを作成するためには、モデルを開発するために少なくとも 3 つの異なるタイプのデータが必要です。具体的には、学習のためのデータ、実際に学習しているかを検証するためのデータ、最終的な性能をテストするためのデータです。
お使いのデータのほとんどを学習用に保存しておくことが必要です。学習セットは、指定された出力注釈に入力データを適合させることによって、大量のネットワークの重みを最適化するために、誤差逆伝播アルゴリズムで使用されます。学習データセットは非常に大容量になる傾向があり、既存のデータやシミュレーション データが含まれることがよくあります。学習データセットは、重みの値を最適化することによってデータを学習および適合させることに使用されます。そのため、モデルは、何を重要とみなすべきなのかを学習していきます。
検証データは、モデルを学習させる場合にも使用されます。このデータは、学習を行う際に、新しいデータに対してモデルがどの程度汎用性を持つかを継続的にチェックするために使用されるので、モデルの選択に役立ちます。検証セットは、データを大量に必要とする最適化アルゴリズムでは使用されず、通常は学習セットよりもはるかに小さくできます。最近のシステムでは、検証データは可能な限り現実的なものとすることが多く、検証データの作成では、多くの場合実世界の新しい信号を取得し、新たに注釈を付けます。
学習が一段階完了した後、モデルの性能を計算するためにテストデータセットを使用します。検証データセットと同様に、テストデータセットは可能な限り現実的なものである場合が多く、最新のデータを作成するには、実世界の新しい信号を取得し、新たに注釈を付けます。
データセットのインポート
ディープラーニング モデルを 学習させるために必要なデータ量を考えた場合、メモリ制約とデータ管理を検討することが重要です。メモリにすべてのデータを収めることができない場合は、保存データを一括で読み込まずに表現する方法が必要になります。MATLAB でこれを行う方法の 1 つは、 audioDatastore
(Audio Toolbox™ が必要) や、 signalDatastore
(Signal Processing Toolbox™ および Deep Learning Toolbox™ が必要) などのデータストアを使用することです。これらのデータストアは、メモリ内外の信号を管理し、信号を処理して並列プールを使用した特徴抽出を行うのに役立ちます。
ラベル付け
モデルを正しくキャリブレーションするためには、データに正しくラベル付けまたは注釈付けすることが必要です。検証データセットとテストデータセットは、正確なラベルを持つことが重要です。それは、これらのデータセットが、学習中と学習完了後に、モデルの性能を判定する基準となるからです。これらのラベルが正確でない場合は、行き詰まってしまいます。学習データのラベルも重要ですが、学習データセットのサイズを考慮すると、これらのラベルは多くの場合別の手法で処理されます。
このセクションでは、まず検証データセットとテストデータセットのラベルを説明し、次に学習データセットを見ていきます。
検証データとテストデータ
検証データは、ネットワークが最終的なアプリケーションで表示するデータを正確に表現している必要があります。まず、検証データは、解決しようとしている問題をほぼ正確に表現する信号を含んでいなければなりません。音声アプリケーションでは、静かな環境で同じマイクを使用して信号を録音し、その後、ノイズ、エコー、残響のレベルを変えて録音する場合があります。
検証データには、手動で追加される可能性のある、いくつかの高品質なラベルが含まれていなければなりません。これこそ、ネットワークに学習してもらいたい内容です。この例では、上部にプロットされた赤いマスクです。
キーワードマスクを付けた領域だけを再生すると、次のように聞こえます。
検証データやテストデータ向けに良質なラベルを実現する方法
別のオプションとして、ほかの誰かが開発した作業用モデルを使用することもできます。ここでは、Google のクラウド API インターフェイスを通して、Google の有名な音声認識サービスを使用した例をご紹介します。
トリガーワードのマスクラベルを作成するには、ワードラベルを MATLAB コマンドラインにエクスポートし、数行のコードの後に必要なラベルを得ることができます。 この例のコードはこちらでご確認いただけます。
以下で注釈付けされたセグメントを再生できます。
学習データ
音声録音などの信号データを処理する場合、テラバイトの良質なデータを記録し、手動で正確にラベル付けすることは現実的ではありません。これを回避する方法の 1 つが、類似する課題のためにラベル付けされた既存の録音を使用することです。ライセンスを取得できる研究用のデータセットも良い選択といえます。
学習セットがアプリケーションに合わせて作られたものでなくても問題はありませんが、学習データと検証データの差が大きくなればなるほど、精度の差も大きくなります。
最初は、自動化されたラベル付けアルゴリズムなどの便利な技術をいくつか追加して利用するのがお勧めです。
外部 API を使用した音声信号内の発声単語のラベル付け
IBM® の Watson Speech to Text API を使用して、信号ラベラーアプリをテストしてみましょう。
特に、Audio Toolbox には、detectSpeech、speech2text などの自動ラベリング機能が多くあり、ラベル付けに役立ちます。同様に、Signal Processing Toolbox は、ピークラベラーとカスタム関数を使用した一括自動ラベリングに対応しています。
次の章では、データの拡張や合成など、学習データの品質を向上させ、サイズを拡大させる手法を説明します。
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
アジア太平洋地域
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)