Replies: 1 comment
-
CTC_Greedyの場合、もはや言語モデルを使っていないので、 RNN系の訓練が上手くいかない場合は、CTCで正確にデコードできるモデルを訓練して、 (ただし、長い音声をバッファして処理するロジックは別途検討して実装が必要) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
背景:音声認識モデルを実用的に利用する上で、低遅延であることは重要です。
実験:
実装:transcribe.pyの推論する行を
asr = ctc_greedy(np.pad(segment, config.padding, mode="constant"), speech2text)
に変え、他の部分(文分割などのロジック)はtranscribeの中にあるものそのまま。CTC Greedy decoding:
データ:JSUT bookの一文
マシンスペック: NVIDIA V100(16GB)
リザルト:
結論:
速度を重視する場合は、CTC Greedyを使用することで、そこそこ精度を維持しながら、大幅に処理速度を向上させることができるため有望です。さらにbeamsearchなどと組み合わせによって速度と精度を両方を保つことができるでしょう(CTCの性質など色々考えるとbeamsearchは必須かもしれないです)。
また、公開したモデルのobjectiveはctcだけではないので、訓練(もしくはfinetune)時ctcに変えると精度がもっと伸びるかもしれません。
benchmark data setなどの検証とか色々追加する予定です!
ちなみに精度だけを確認したい場合、推論クラスのパラメータを
ctc_weight=1, lm_weight=0, beamsize=1
に変更すると手っ取り早いと思います!Beta Was this translation helpful? Give feedback.
All reactions