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 は、現在のモデルがモデル・ダウンローダーによってダウンロードされるフォルダーへのパスです。

入力

元のモデル

  1. オーディオ 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 を参照してください。

  2. オーディオフレームの数、INT32 値、名前: input_lengths、形状 1

  3. LSTM インステート (c) と入力ベクトル (h、別名隠れ状態)。名前: previous_state_c および previous_state_h、形状: 1, 2048、形式: B, C

長いオーディオをチャンクに分割する場合、入力には前のチャンクからの対応する出力が供給される必要があります。チャンクの処理順序は、オーディオ位置の早い方から遅い方の順である必要があります。

変換されたモデル

  1. オーディオ 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 を参照してください。

  2. LSTM インステートと入力ベクトル。名前: previous_state_c および previous_state_h、形状: 1, 2048、形式: B, C

長いオーディオをチャンクに分割する場合、入力には前のチャンクからの対応する出力が供給される必要があります。チャンクの処理順序は、オーディオ位置の早い方から遅い方の順である必要があります。

出力

元のモデル

  1. アルファベットの各シンボルのフレームごとの確率 (ソフトマックス後)、名前: logits、形状: 16, 1, 29、形式: N, B, C

    説明:

    • N - オーディオセクションのオーディオフレーム数

    • B - バッチサイズ、1 に固定

    • C - アルファベットのサイズ (CTC ブランク記号を含む)

    フレームごとの確率は、CTC デコーダーでデコードされます。アルファベットは: 0 = スペース、1…26 = “a” から “z”、27 = アポストロフィ、28 = CTC 空白記号です。

    NB: logits は、名前とは異なり softmax の後の確率です。

  2. LSTM アウトステートおよび出力ベクトル。名前: new_state_c および new_state_h、形状: 1, 2048、形式: B, C。入力を参照してください。

変換されたモデル

  1. アルファベットの各シンボルのフレームごとの確率 (ソフトマックス後)、名前: 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 の後の確率です。

  2. LSTM アウトステートおよび出力ベクトル。
    名前:

    • cudnn_lstm/rnn/multi_rnn_cell/cell_0/cudnn_compatible_lstm_cell/BlockLSTM/TensorIterator.2 for new_state_c

    • cudnn_lstm/rnn/multi_rnn_cell/cell_0/cudnn_compatible_lstm_cell/BlockLSTM/TensorIterator.1 for new_state_h

    形状: 1, 2048、形式: B, C。対応する入力を参照してください。

モデルをダウンロードして OpenVINO™ IR 形式に変換

以下の例に示すように、モデルをダウンロードし、必要に応じてモデル・ダウンローダーやその他の自動化ツールによってモデルを OpenVINO™ IR 形式に変換できます。

モデル・ダウンローダーの使用例:

omz_downloader --name <model_name>

モデル・コンバーターの使用例:

omz_converter --name <model_name>

デモの使い方

Open Model Zoo が提供する次のデモでこのモデルを使用して、その機能を確認できます。