mozilla-deepspeech-0.6.1#
ユースケースと概要説明#
mozilla-deepspeech-0.6.1 モデルは、変更されたニューラル・ネットワーク・トポロジーを備えた DeepSpeech アーキテクチャー (ビーム検索および n-gram 言語モデルを備えた CTC デコーダー) に基づいて Mozilla によって事前トレーニングされた音声認識ニューラル・ネットワークです。
オリジナルの DeepSpeech の詳細については、論文を参照してください。
このモデルの詳細は、リポジトリーを参照してください。
仕様#
メトリック |
値 |
|---|---|
タイプ |
音声認識 |
オーディオフレームごとの GFlops |
0.0472 |
オーディオの 1 秒あたりの GFlops |
2.36 |
MParams |
47.2 |
ソース・フレームワーク |
TensorFlow* |
精度#
メトリック |
値 |
パラメーター |
|---|---|---|
WER @ Librispeech test-clean |
8.93% |
LM あり、beam_width = 32、Python CTC デコーダー |
WER @ Librispeech test-clean |
7.55% |
LM あり、beam_width = 500、C++ CTC デコーダー |
NB: beam_width=32 は CTC デコーダーとしては低い値であり、精度チェッカーで Python CTC デコーダーを使用して妥当な評価時間を達成するために使用されました。beam_width を増やすと、WER メトリックが向上し、デコードが遅くなります。音声認識 DeepSpeech デモには、より高速な C++ CTC デコーダーモジュールが含まれています。
追加のモデル属性へのパスを指定するには、accuracy_check [...] --model_attributes <path_to_folder_with_downloaded_model> を使用します。path_to_folder_with_downloaded_model は、現在のモデルがモデル・ダウンローダーによってダウンロードされるフォルダーへのパスです。
入力#
元のモデル#
オーディオ MFCC 係数、名前:
input_node、形状:1, 16, 19, 26、形式:B, N, T, C、ここで:B- バッチサイズ、1 に固定N-input_lengths、オーディオセクションのオーディオフレーム数T- コンテキスト・フレーム: 現在のフレームとともに、ネットワークは 9 つの先行フレームと 9 つの後続フレームを予期します。存在しないコンテキスト・フレームはゼロで埋められます。C- 各フレームあたり 26 の MFCC 係数
すべてのオーディオ前処理パラメーターと特徴抽出パラメーターについては、
<omz_dir>/models/public/mozilla-deepspeech-0.6.1/accuracy-check.ymlを参照してください。オーディオフレームの数、INT32 値、名前:
input_lengths、形状1。LSTM インステート (c) と入力ベクトル (h、別名隠れ状態)。名前:
previous_state_cおよびprevious_state_h、形状:1, 2048、形式:B, C。
長いオーディオをチャンクに分割する場合、入力には前のチャンクからの対応する出力が供給される必要があります。チャンクの処理順序は、オーディオ位置の早い方から遅い方の順である必要があります。
変換されたモデル#
オーディオ MFCC 係数、名前:
input_node、形状:1, 16, 19, 26、形式:B, N, T, C、ここで:B- バッチサイズ、1 に固定N- オーディオセクションのオーディオフレーム数、16 に固定T- コンテキスト・フレーム: 現在のフレームとともに、ネットワークは 9 つの先行フレームと 9 つの後続フレームを予期します。存在しないコンテキスト・フレームはゼロで埋められます。C- 各フレームに 26 個の MFCC 係数
すべてのオーディオ前処理パラメーターと特徴抽出パラメーターについては、
<omz_dir>/models/public/mozilla-deepspeech-0.6.1/accuracy-check.ymlを参照してください。LSTM インステートと入力ベクトル。名前:
previous_state_cおよびprevious_state_h、形状:1, 2048、形式:B, C。
長いオーディオをチャンクに分割する場合、入力には前のチャンクからの対応する出力が供給される必要があります。チャンクの処理順序は、オーディオ位置の早い方から遅い方の順である必要があります。
出力#
元のモデル#
アルファベットの各シンボルのフレームごとの確率 (ソフトマックス後)、名前:
logits、形状:16, 1, 29、形式:N, B, C、ここで:N- オーディオセクションのオーディオフレーム数B- バッチサイズ、1 に固定C- アルファベットのサイズ (CTC ブランク記号を含む)
フレームごとの確率は、CTC デコーダーでデコードされます。アルファベットは: 0 = スペース、1…26 = “a” から “z”、27 = アポストロフィ、28 = CTC 空白記号です。
NB:
logitsは、名前とは異なり softmax の後の確率です。LSTM アウトステートおよび出力ベクトル。名前:
new_state_cおよびnew_state_h、形状:1, 2048、形式:B, C。入力を参照してください。
変換されたモデル#
アルファベットの各シンボルのフレームごとの確率 (ソフトマックス後)、名前:
logits、形状:16, 1, 29、形式:N, B, C、ここで:N- オーディオセクションのオーディオフレーム数、16 に固定B- バッチサイズ、1 に固定C- アルファベットのサイズ (CTC ブランク記号を含む)
フレームごとの確率は、CTC デコーダーでデコードされます。アルファベットは: 0 = スペース、1…26 = “a” から “z”、27 = アポストロフィ、28 = CTC 空白記号です。
NB:
logitsは、名前とは異なり softmax の後の確率です。LSTM アウトステートおよび出力ベクトル。名前:
cudnn_lstm/rnn/multi_rnn_cell/cell_0/cudnn_compatible_lstm_cell/BlockLSTM/TensorIterator.2(new_state_c用)cudnn_lstm/rnn/multi_rnn_cell/cell_0/cudnn_compatible_lstm_cell/BlockLSTM/TensorIterator.1(new_state_h用)
形状:
1, 2048、形式:B, C。対応する入力を参照してください。
モデルをダウンロードして OpenVINO™ IR 形式に変換#
以下の例に示すように、モデルをダウンロードし、必要に応じてモデル・ダウンローダーやその他の自動化ツールによってモデルを OpenVINO™ IR 形式に変換できます。
モデル・ダウンローダーの使用例:
omz_downloader --name <model_name>モデル・コンバーターの使用例:
omz_converter --name <model_name>デモの使い方#
このモデルは、Open Model Zoo が提供する次のデモで使用して、その機能を示します:
法務上の注意書き#
元のモデルは、Mozilla パブリック・ライセンス・バージョン 2.0 に基づいて配布されています。ライセンスの内容は、<omz_dir>/models/public/licenses/MPL-2.0-Mozilla-Deepspeech.txt で確認できます。