本記事では、End-to-End音声認識手法の概要をサーベイします。
各手法の詳細には触れませんが、そもそもEnd-to-End音声認識とは何かよくわからない方のための記事です。
大体の概要を掴んでいただいた後、各手法の詳細を調べていただければと思います。
End-to-End音声認識モデルとHybrid音声認識モデル
近年、深層学習を用いたEnd-to-End音声認識モデルが大きなトレンドになっていますが、深層学習登場前は、音響モデルと言語モデルがカスケードに接続されたHybridモデルと呼ばれる方法が用いられていました。
以下の図は、Hybrid音声認識モデル(GMM-HMM, DNN-HMM)とEnd-to-End音声認識モデルを示しています。
①GMM-HMM
深層学習登場以前は、GMMやN-gramでモデル化された音響モデル、言語モデルのカスケード構造が用いられていました。
音響モデルは、音声入力から音素列を出力し、言語モデルは、音素列から文字列を出力します。
②DNN-HMM
2010年代に、従来GMMやN-gramでモデル化されてきた音響モデルや言語モデルが深層学習に置き換えられました。
具体的には、DNNを用いた音響モデルやRNNを用いた言語モデルが提案され、深層学習登場前に比べ、大きく音声認識性能が向上しました。
しかし、このようなカスケード構造では、モデルの表現力および誤差蓄積という点で、性能の限界が存在します。
例えば、音響モデルは音素列を出力しますが、本来話し方にばらつきが存在するところ、無理やり有限パターンの音素列に変換してしまうため、表現力の限界があります。つまり、音響モデルの出力は誤差を含みますが、カスケード構造では誤差が蓄積してしまいます。
③End-to-Endモデル
そのような誤差蓄積を防ぐため、全体を1つのニューラルネットワークで表現したのがEnd-to-Endモデルです。
Hybridモデルのように、音響モデル、言語モデルといったものはなく、音声入力から文字列を直接推定します。
このように、全体を1つのネットワークとして、同時に最適化することで、理論上は全体最適が行われることになります。
音声認識性能の推移
では、End-to-Endモデルの出現以降、どの程度音声認識性能は向上したのでしょうか。
以下の図は、各コーパスにおける音声認識性能の推移を示しています。赤線で示すのがCSJと呼ばれる日本語コーパスでのWER(単語誤り率)です。
2016年に星印で示しているのはDNN-HMMモデルでのWERであり、それ以外の手法はEnd-to-End手法のWERを示しています。
DNN-HMMモデルではWER10%を超えていたのに対し、近年のEnd-to-Endモデルでは5%程度まで削減されています。
End-to-End音声認識手法の3分類
近年、様々なEnd-to-End音声認識モデルが提案されています。ここでは、End-to-End音声認識モデルの分類について述べます。End-to-Endモデルは、大きく分けると以下の3つに分類することができます。
①Attention-based encoder decoder
Encoder, Attention, Decoderの3つのモジュールから構成されています。Encoderブロックでは、音響特徴量から特徴量への変換を行い、Decoderでテキストへの変換を行います。また、Attentionモジュールでそれらのアラインメント(どの特徴量とどのテキストが紐づくか)を行います。
1つの発話全体に対して、Attentionを用いたアラインメントを行うため、ストリーミング処理ができませんが、前後の文脈を考慮することができるため、一般的に認識性能が高いです。
代表手法としては、Transformer, Conformer, LAS (Listen, Attend, and Speller)などがあります。
LASでは、Encoder, decoderにLSTMが用いられていますが、Conformer, Transformerモジュールに置き換えることで性能が向上することが報告されています。
②Transducer
Transducer型のEnd-to-End音声認識モデルは、Encoder, Prediction Network, Joint Networkから構成されます。
Encoderによって音声入力から抽出された特徴量と、1時刻前のテキストを用いて、現在時刻のテキストを逐次的に出力します。
逐次出力が可能であることがこの手法の大きなメリットの一つでありますが、Attentionに比べると、一般的に性能は低くなります。
ただし、後述するCTCでは、前後のコンテキストは考慮されないのに対し、Transducer型では、1時刻前のテキストが入力されるので、left-to-rightのコンテキストは考慮されます。
代表手法としては、RNN-Transducer, Transformer-Transducer, ContextNetがあります。
RNN-Transducerでは、EncoderにLSTMが用いられていますが、TransformerやCNNモジュールに置き換えることで性能が向上することが報告されています。
③CTC
CTCは、Joint NetworkとPrediction Networkを持たない、Transducer型の特殊系と考えることができます。
CTCでは、逐次処理ができることに加え、計算コストが小さいことがメリットとして挙げられますが、出力テキストが互いに独立と仮定されるため、前後のコンテキストが考慮されません。したがって、3つの手法の中では性能は低くなります。
代表手法として、RNN-CTT, QuartzNetがあります。QuartzNetでは、EncoderにCNNを用いています。
End-to-End音声認識手法の性能比較
End-to-End音声認識モデルは、3つに分類されることを述べましたが、それぞれの分類の中でも多くの手法が提案されています。
ここでは、各モデルの性能を比較します。以下の図は、各End-to-End音声認識手法のパラメータ数とLibrispeechコーパスにおけるWERを示しています。
全体の中で最も性能が高いモデルは、Conformer Lであり、WERは4.3%でした。
ストリーミング処理が可能なモデルの中では、ContextNet Lがもっとも性能が高く、WERは4.6%程度でした。
Wav2vec2.0を用いたさらなる性能向上
上図は、Librispeechコーパスだけで学習した際の音声認識性能を示していますが、他のテクニックと併用することで、さらに音声認識性能を向上させることができると報告されています。
詳細は省略しますが、Wav2vec2.0と呼ばれる学習済みのencoderを用いることで、さらなる性能向上が可能であることが報告されています(青線→緑線)。
まとめ
本記事では、End-to-End音声認識モデルの概要を述べました。次から次へと新たな手法が登場し、混乱している方の参考になれば幸いです。全体像を俯瞰した上で、各手法の詳細を調べていただければと思います。
Reference
[1] Watanabe, Shinji, et al. "The 2020 espnet update: new features, broadened applications, performance improvements, and future plans." 2021 IEEE Data Science and Learning Workshop (DSLW). IEEE, 2021.
[2] Chan, William, et al. "Listen, attend and spell." arXiv preprint arXiv:1508.01211 (2015).
[3] Dai, Zihang, et al. "Transformer-xl: Attentive language models beyond a fixed-length context." arXiv preprint arXiv:1901.02860 (2019).
[4] Gulati, Anmol, et al. "Conformer: Convolution-augmented transformer for speech recognition." arXiv preprint arXiv:2005.08100 (2020).
[5] Kriman, Samuel, et al. "Quartznet: Deep automatic speech recognition with 1d time-channel separable convolutions." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[6] Rao, Kanishka, Haşim Sak, and Rohit Prabhavalkar. "Exploring architectures, data and units for streaming end-to-end speech recognition with rnn-transducer." 2017 IEEE Automatic Speech Recognition and Understanding Workshop (ASRU). IEEE, 2017.
[7] Zhang, Qian, et al. "Transformer transducer: A streamable speech recognition model with transformer encoders and rnn-t loss." ICASSP 2020-2020 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2020.
[8] Han, Wei, et al. "Contextnet: Improving convolutional neural networks for automatic speech recognition with global context." arXiv preprint arXiv:2005.03191 (2020).