最新AI論文をキャッチアップ

これが音声認識のSoTA論文だ! 半教師あり学習の限界を突破したGoogleの研究とは!?

これが音声認識のSoTA論文だ! 半教師あり学習の限界を突破したGoogleの研究とは!?

音声認識

3つの要点
✔️ Googleが音声認識のSoTA論文を発表
✔️ Transformerベースの音声認識モデルConformerを元にした
✔️ 自己訓練と半教師あり学習のベストプラクティスを組み合わせた

Pushing the Limits of Semi-Supervised Learning for Automatic Speech Recognition
written by Yu ZhangJames QinDaniel S. ParkWei HanChung-Cheng ChiuRuoming PangQuoc V. LeYonghui Wu
(Submitted on 20 Oct 2020)
Comments: Accepted by NeurIPS SAS 2020 Workshop

Subjects: Audio and Speech Processing (eess.AS); Machine Learning (cs.LG); Sound (cs.SD)

code:    

はじめに

近年,音声認識において性能を著しく向上させるために,半教師あり学習が用いられています.深層学習に取り組んでいると,ラベルなしデータは大量に入手することができる一方で,ラベルありデータの量は少ないという場面によく出くわすと思いますが,半教師あり学習の目的は,そんな大規模なラベルなしデータを用いることによって,ラベルありデータによる教師あり学習の性能を向上させることにあります.本論文では,近年発展著しい事前学習と自己訓練を組み合わせることで,上図で示されている通り,LibriSpeechデータセットにおいてSoTAを達成しています.半教師あり学習で用いるラベルなしデータは,フリーのLibriVoxデータセットから得ています.

ここで,iterative self-trainingについておさらいしましょう.Self-trainingでは,ラベルあり学習でモデルを学習し,そのモデルを用いてラベルなしデータにラベルを付与し,それを学習することです.そして,これを繰り返したものをiterative self-trainingと呼びます.ここで, ラベルを付与するモデルを教師モデル(teacher),疑似ラベル(Pseudo Label)を学習するモデルを生徒モデル(student)ということも,抑えておきましょう.

一方で,事前学習では,モデルは事前学習タスクによってラベルなしデータで訓練され,その後で教師ありデータでファインチューニングします.例えば,画像認識における事前学習では,ImageNetの画像分類タスクで学習して得られたモデルを他のタスクの初期パラメータとして使います.また,自然言語処理の分野でも,例えばBERTでは文章中の一部の単語をマスクし,マスクされた単語を周囲の文脈から予測するタスクを解くことを最初に行い,このタスクを解けるように学習されたモデルを事前学習済みモデルとし,他のタスクの学習時の初期モデルとして使用します.

本論文では,このiterative self-trainingと事前学習を組み合わせる手法を提案しています.すなわち,まずいくつかのモデルを事前学習し,それをiterative self-training用のモデルの初期モデルとして使います.ここで,ラベルなしデータセットは,事前学習用データセットと,生徒モデル訓練用の疑似ラベルを生成するためのラベルなしデータセットという2つの意味での役割を果たしています.このアイデア自体は画像認識の分野では広く扱われていますが,今回音声認識に応用しました.

提案手法

モデルアーキテクチャ: Conformer

モデルアーキテクチャにはConformerというTransformerベースの音声認識モデルが使用されています.このConformerこちらの記事で詳しく解説していますので,興味のある方は見てみて下さい.

音声認識ネットワーク自体は,LSTMデコーダとConformerエンコーダから成る一連の変換であり,その主な要素はそれぞれがmulti-headed self-attention, depth-wise convolution, feed-forward layersから成る「Conformer Block」の積み重ねです.このConformerエンコーダを図示したものが上図になります.

wav2vec 2.0による事前学習

本論文では,Conformerエンコーダを,Libri-Lightのサブセットであるunlab-60中の発話で事前学習するwav2vec 2.0と同様に,事前学習を行います.Wav2vec 2.0はこちらの記事(https://ai-scholar.tech/articles/voice-recognition/wav2vec)でも詳しく解説していますので,良かったら見てみて下さい.

生のwav形式を入力としたwav2vec 2.0の元研究とは異なり,本論文ではメルスペクトログラムを入力として用いています.Conformerエンコーダは,convolution subsampling blockから成る「feature encoder」とlinear layerから成る「context network」とconformerブロックの積み重ねの3つに分けることができます.このconvolutional subsampling blockからエンコードされた特徴量は,一方ではマスキングしてcontext vectorにした後に残りのネットワークに与えられますが,もう一方では,linear層を通過してtarget context vectorを生成します.つまり,Wav2vec 2.0による事前学習は,このマスクされたcontext vectortarget context vectorの間のcontrastive lossを最適化しています.この仕組みは上図に表されています.

Noisy Student Training with SpecAugment

本論文では,wav2vec 2.0で事前学習したモデルを訓練するためにnoisy student trainingパイプラインを採用しています.(noisy studentについてはこちらをどうぞ!画像認識の最新SoTAモデル「Noisy Student」を徹底解説!)NSTでは,教師モデルは言語モデルとともにASRモデル全体をshallo-fusingを行うことで得られ,まだaugmentationを行っていない音声の推論を通じてラベルなしデータのためのtranscriptを生成します.ラベルありデータは,フィルタリングとバランシングを行った後,次のASRモデルを生成します.その生徒モデルに対する入力データは,adaptive SpecAugmentによりaugmentationされます.実験から,SoTAの性能を達成するためには,フィルタリングやバランシングを行うよりも,教師モデルによって生成されたデータを用いる方が効果的であることが分かりました.

少し話が難しかったのでまとめると,ラベル付きのLibriSpeechデータセットをS, ラベルなしのLibri-LightデータセットをU, LibriSpeech言語モデルコーパスで訓練した言語モデルをLMとすると,一連のモデルを訓練処理するための手順は以下のようになります.

実験結果

LibriSpeechで実験して得られたWERs(%)の結果が上図になります.ラベルなしデータで学習していないモデル(Baseline),事前学習なし(NSTのみ)で訓練したモデル,教師ありデータ(事前学習のみ)で事前学習してファインチューニングしたモデル,そして本論文で提案されているSSL(Semi-Supervised Learning)パイプラインで訓練したモデルをそれぞれ比較しています.結果として,今回提案されているgeneration-3 conformer XXLモデルを用いたSSLパイプラインによるモデルが最高性能を達成していることが分かります.

最後に

本論文では,最新のアーキテクチャの知見やaugmentation,特に半教師あり学習を組み合わせることで,音声認識タスクにおけるSoTAを達成しました.

  

記事の内容等について改善箇所などございましたら、
お問い合わせフォームよりAI-SCHOLAR編集部の方にご連絡を頂けますと幸いです。
どうぞよろしくお願いします。

お問い合わせする