社会人博士の深層学習ブログ

深層学習を使った環境音認識研究で、働きながら博士号を取得しました

End-to-End音声認識サーベイ オフラインモデルの概要とオンライン化

本記事では、End-to-End音声認識において、オフラインモデルの代表的な手法とそのオンライン化について述べます。

各手法の詳細には触れませんが、そもそもEnd-to-End音声認識とは何かよくわからない方のための記事です。

大体の概要を掴んでいただいた後、各手法の詳細を調べていただければと思います。

 

End-to-End音声認識については、以下を参照していただければと思います。

ys0510.hatenablog.com

 

オンラインモデルとオフラインモデルの違い

・オンラインモデル

オンラインモデルは、発話が開始された直後から逐次的に処理が開始されます。

発話した直後からテキストが出力されるため、レスポンス時間が短いというメリットがありますが、オフラインモデルに比べ、性能が低いというデメリットがあります。

 

・オフラインモデル

オフラインモデルは、発話全体を入力する必要があるため、1つの発話が完了するまで処理を開始することができません。

例えば、1つの発話が10秒間だったとすると、発話が完了した10秒後から処理が開始され、発話中は何も出力されません。

レスポンス時間が遅いというデメリットはありますが、前後関係を学習することができるため、オンラインモデルと比べると性能が高いというメリットがあります。

 

f:id:ys0510:20211225142642p:plain

 

オフラインモデルのレスポンス時間

オフラインモデルのレスポンス時間が遅い原因について述べます。

Attention-based encoder decoderは大きく、以下の3つのモジュールから構成されています[1]。

 

・Encoder

音響特徴量を入力し、中間層の特徴量を抽出するモジュール。Bidirectional LSTM、Transformerなど、さまざまな手法が提案されている。

 

・Decoder

Encoderで抽出する特徴量から、出力であるテキストへの変換を行います。Encoder同様、LSTMやTransformerなどが使用できます。

 

・Attention

中間特徴量と出力テキストのアラインメントを取ります。直感的に言うと、音声信号とテキストのどの部分が対応しているかを学習します。

 

f:id:ys0510:20211225155851p:plain

 

この中で、レスポンス時間を遅くしているのは、以下の2点です。

 

①Attention

Attentionでは、音声信号とテキストがどう対応しているかを学習するため、発話全体を入力する必要があります。つまり、1つの発話が完了してからでないと処理を開始できません。

※Encoder、DecoderにTransformerやConformerを使用した場合、それぞれのモジュール内にもSelf-Attentionが使用されているため、発話全体の入力が必要になります。

 

②AutoregressiveなDecoder

上図の赤矢印で示すように、デコード時には1時刻前のテキストが必要になります。1時刻前のテキストがないと次のテキストがデコードできないため、複数の文字を並列でデコードすることができません。

 

2つの原因により、発話が完了してから処理が開始され、1文字ずつしか出力されないということになりますので、実用上は非常に大きなデメリットとなります。

 

レスポンス時間短縮のための手法

レスポンス時間短縮のため、Non-autoregressiveモデルと呼ばれる手法が提案されています。

これらの手法は、前節②AutoregressiveなDecoderを解決するための手法です。

 

Mask CTC [2]

詳細は割愛しますが、Mask CTCという手法は、Non-autoregressiveなデコーダによって、複数の文字を並列にデコードすることを可能としています。

 

CTC(Connectionist Temporal Classification)

CTCは、レスポンス時間短縮のために提案された手法というよりは、最初のEnd-to-Endモデルの手法として提案されたものですが、エンコーダしか用いないため計算量が少なく、近年でも注目されている手法です。

 

 

f:id:ys0510:20211225155709p:plain

オフラインEnd-to-End音声認識のオンライン化

発話全体における、音声信号と出力テキストの対応関係を学習するためのAttentionという機構があるために、Attention-based encoder decoder構造の手法はオンライン処理ができないということを述べました。

しかし、近年、Streaming Transformerと呼ばれる、ブロックごとに処理をすることでオンライン処理を可能にした手法も提案されています [3]。

詳細は割愛しますが、Contextual Block Processing of the EncoderとBlockwise Synchronous Beam Search of the Decoderという処理によって、前後のコンテキストを維持したままブロック処理を行います。

 

f:id:ys0510:20211225150604p:plain

 

まとめ

本記事では、オフラインEnd-to-End音声認識モデルとそのオンライン化について概要を述べました。

次から次へと新たな手法が登場し、混乱している方の参考になれば幸いです。全体像を俯瞰した上で、各手法の詳細を調べていただければと思います。

 

Reference

[1] Watanabe, Shinji, et al. "Hybrid CTC/attention architecture for end-to-end speech recognition." IEEE Journal of Selected Topics in Signal Processing 11.8 (2017): 1240-1253.

[2] Higuchi, Yosuke, et al. "Mask CTC: Non-autoregressive end-to-end ASR with CTC and mask predict." arXiv preprint arXiv:2005.08700 (2020).

[3] Tsunoo, Emiru, Yosuke Kashiwagi, and Shinji Watanabe. "Streaming Transformer ASR with blockwise synchronous beam search." 2021 IEEE Spoken Language Technology Workshop (SLT). IEEE, 2021.