【ゼロショット転移学習】多言語コーパスデータから、未学習言語の音声認識を行なう革新的な技術!?
3つの要点
✔️ 言語データなしでも高精度な音声認識が可能に
✔️ シンプルであるが革新的なアプローチ方法
✔️ 多言語データの効果的な活用手法
Simple and Effective Zero-shot Cross-lingual Phoneme Recognition
written by Qiantong Xu, Alexei Baevski, Michael Auli
[Submitted on 23 Sep 2021]
subjects:Computation and Language (cs.CL); Machine Learning (cs.LG); Sound (cs.SD)
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
みなさんはじめまして!
AI-SCHILARの新人ライターの小笠原です。
今回紹介する論文はこれ
「Simple and Effective Zero-shot Cross-lingual Phoneme Recognition」
です。
冒頭でも要点をまとめた通り、多言語で事前学習されたwav2vec2.0をファインチューニングし、未学習言語の認識を行うことが目的のようですよ。
いったいどんな手法が用いられているんでしょうかね!私と一緒に少しずつ学んでいきましょう~~
できるだけ嚙み砕いて紹介していきますので最後までお付き合いください。
なぜこの研究を行うのか?
世界には数多くの言語が存在しているが、音声認識研究が進んでいる言語はごくわずかである。なぜ研究が多くの言語で進まないのかというと、現行のモデルは大量のラベル付き音声データを必要とするからである。
近年の急激な、音声認識研究の発展により少量の学習データでも十分な精度が出せることは確認できているのだが、各言語ごとにモデルを用意しなければならない大きな欠点がある。
そこで、本研究では、多言語で構成したラベルを用いての、ゼロショット転写を目指している。
アプローチ方法
- 多言語データを用いて自己学習を行う
- 複数の言語でファインチューニングを行う。音素認識も
- 推論時には、学習言語の音素から目標言語への音素マッピングを用いる
- すべての未学習言語に対してファインチューニングしたモデルをテストする
基本用語の確認
音素とは?
音声認識研究において頻繁に出てくるぐらい重要な事項です。音素とは、簡単に言うと我々が話すときの発音の最小単位です。発音の最小単位だと覚えていただければ十分です。
ファインチューニングとは?
あらかじめ学習されているモデルを、自分の用途やタスクに合わせた自前のデータで追加学習させること。これを行うことで、一般化されたモデルを自分が使いやすいモデルにチューニングできる。
wav2vec2.0とは?
事前学習モデルといって、モデルを構築する段階で膨大なデータでの学習がなされているモデル。学習データ量は本当に膨大。一大学院生には再現できませんね。あらかじめ膨大な量で学習されているので、ファインチューニングを行うときに少量のデータで済むのが利点ですね。
実験設定
学習モデルについて
この研究で使用するモデルは、wav2vec2.0 XLSR-53です。これは53言語で学習されている多言語学習モデルになります。
データセットについて
大きく3つの多言語音声コーパスを使用します。言語の例を挙げると、オランダ語・フランス語・ドイツ語・イタリア語・ポルトガル語などがあげられます。
このほかにも、様々な言語の音声が使われていますし音声の再生時間もとても膨大なものです。
さぞかし超高性能なコンピューターを使いなおかつ、時間を掛けて学習を行ったのでしょう。
モデルの学習について
モデルは、fairseqで実装されています。これはmeta(旧facebook)がgithabにて公開している機械学習モデル構築用のオープンソースです。
pythonの知識と少しの英語力があればだれでも無料で利用することでき、機械学習モデルを構築することができるので、ぜひ興味があれば覗いてみてください。
話は戻りますが、今回のモデルは約5万6千時間にも及ぶ事前学習されたXLSR-53モデルを使用する。学習に関するパラメータについては、今回は割愛させていただきます。
理解できてる?ここまでの振り返り
大事なことはたった3つだけ!
これだけ押さえておこう!
- 多言語データセットでの学習で、未学習言語の転写を試みる
- wav2vec2.0 XLSR-53を利用する
- とても膨大かつ繊細なパラメータ調整が必要
この3つさえ、頭にあればあとは大丈夫!
実験結果はいかに!
教師なし手法との比較
さて最初の実験は、ゼロショット転移学習と教師なしwav2vec2.0を比較してみましょう。両者使っているモデルは同じです。
この実験の結果としては、ゼロショット転移学習と教師なしモデルは、ほぼ同等の性能だということを示せていますね。これは正直驚きです。これが可能であれば、さまざまな言語での活用が現実的になりますからね。
今後ますますIOT化が進んでいくのであれば、この技術はとても重要であるといえるでしょう。
他のゼロショットとの比較
本研究の先行研究となったモデルと性能を比較してみましょう。ここでもゼロショットのお手軽さ(企業ならば)を発揮していますね。個別にモデルを構築するよりもはるかにデータ量が少なくて済みますからね。教師ありモデルの結果を上回っている箇所もありますし、これは本当に革新的な手法です。
しかし膨大な時間のデータを学習させなくてはいけませんから、スーパーコンピューターをもつ大学や企業ではないと再現することが難しいのがネックではありますけどね。
論文の総括
みなさんお疲れ様です。今回紹介したのは、多言語データを用いた、未学習言語のゼロショット転移学習というものでした。音声認識の研究が盛んなのは、英語を始めとする主要な言語たちなんです。
世界には、ものすごくたくさんの言語がありますから、それらを1つ1つモデル構築していくというのはとてもお金と労力のかかることですからね。
その点、このゼロショット手法は大きな可能性を秘めていますね。みなさんはどう思われましたか?
本研究の成果をまとめてみると
- 未学習言語専用のモデルを作らなくても良い
- 教師ありや教師なしのモデルと比較を行っても、見劣りしない高精度
という2つの大きな成果があげられます。
ひよっこライター小笠原のちょっと雑談
情報系の実験は地味オブ地味
仮説を立ててプログラム作ったら、あとは終わるまで放置ですからね。プログラムの作成も、泥臭いですしね。それでも、自分の仮設通りの結果が出たら嬉しいし、そうじゃなくても何でそうなったのか考えるのも面白い。
私は音声認識のAI関連のプログラムを組むことが多いので、ライブラリを多用するのですが、ライブラリの中身をよく理解せずブラックボックス状態で作ってしまっています。本当はそれだとあまりよくないんだと思いますが、ライブラリって大量に種類がありますしそれぞれ使える機能が多いですよね。それを全部理解するのは気がめいってしまいますよね。
エンジニアの方々は、ライブラリとどのように向き合っているのでしょうかね?
ライブラリってめちゃくちゃ便利なんですけど、エラーの原因がライブラリ関連だと解決にてこずってしまうのはプログラムする人あるあるだと思います♪
それでは次の記事でお会いしましょう。
新米ひよっこライターの小笠原でした~
じゃねばーい!
この記事に関するカテゴリー