【WavLM】すべての音声認識モデルを過去にする!?構造や性能はどうなっているのか?
3つの要点
✔️ 複数話者における音声タスクの問題の解決に取り組んでいる
✔️ 学習時におけるマスク処理と、訓練データ量の大幅な拡張による性能強化
✔️ 音声認識だけではない様々なタスクで高性能
WavLM: Large-Scale Self-Supervised Pre-Training for Full Stack Speech Processing
written by Sanyuan Chen, Chengyi Wang, Zhengyang Chen, Yu Wu, Shujie Liu, Zhuo Chen, Jinyu Li, Naoyuki Kanda, Takuya Yoshioka, Xiong Xiao, Jian Wu, Long Zhou, Shuo Ren, Yanmin Qian, Yao Qian, Jian Wu, Michael Zeng, Xiangzhan Yu, Furu Wei
[Submitted on 26 Oct 2021 (v1), last revised 17 Jun 2022 (this version, v5)]
Comments: Submitted to the Journal of Selected Topics in Signal Processing (JSTSP)
Subjects: Computation and Language (cs.CL); Sound (cs.SD); Audio and Speech Processing (eess.AS)
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
超おしごとできるマンこと、WavLMとはなんなのか?
ココだけでもよんで!論文超要約!?
WavLMとは、音声処理に関わる様々なタスクをこなすことができる比較的新しい人工知能モデルです。例えば教師あり学習や教師なし学習あるいはwav2vec2.0などのような従来型のモデルとは異なり、音声認識だけではなく、話者識別や音声分離など音声に関わる様々なタスクで高い性能を発揮することができます。
近年、自己教師あり学習(ex. wav2vec2.0)が音声認識の分野において大きな成功を収めていますが、他の音声処理タスクへの応用例は限られていました。音声情報には話者の特長や感情など多種多様な情報が含まれているため、すべてのタスクに対応することができるそんな夢のようなモデルの開発が課題でした。
この研究は、1つのモデルで音声認識や話者識別など様々なタスクをこなすことができる汎用的な事前学習モデルの開発を目指しています。
WavLMは、音声処理タスクのベンチマークと言われているSUPERBにおいて従来のモデルを超える性能を発揮し、それだけではなく様々なタスクにおいて大幅な精度改善を実現しました。
従来のタスクでは特定のタスクに特化していたのに関わらず、wavLMはあらゆるタスクで性能を発揮できた背景には、マスクされた箇所を予測するという学習手法、より多様で大規模なデータセットを用いた学習によるものが非常に大きいです。
この研究では、音声情報から多様な情報を抽出し様々なタスクに適用できる汎用的なモデルの可能性が示されており、夢のモデルに一歩ずつ近づいているという証でもあります。
このモデルの成功により、人間の音声をより多角的に理解し様々な応用が利く小回りの利くモデルが誕生し、将来的には、もっと自然でもっと効果的にタスクをこなせるモデルが誕生するのではないでしょうか!
WavLMの構造はHuBERTの構造と似ている??
HuBERTについてちょっと説明しておく必要がありますね。
HuBERTはMETA社が開発した自己学習モデルであり、特徴としては音声から特徴量を抽出する際にk_meansに従って抽出するということがあります。また、こちらも例にもれず何千から何万時間にも及ぶ事前学習を必要としており、到底個人や大学では再現することは出来ないですがとてつもなく高性能なモデルになっています。
では下の図を見てください。この図はHuBERTの構造を現した図となっています。
簡単に説明すると、入力された音声情報はCNNを通った後にtransformerにて処理されるわけなんですが、ここで1つ大きな特徴があります。それは入力された情報の一部をマスク(隠す)処理を行うんです。
つまりは、音声情報を全部まるまる投入するのではなくあえて欠損させるわけですね。その後、transformerから出ると、さぁ与えられた情報の中で抜けている箇所があるそれはなんだ!とモデル君は予測させられるわけです。
このようなあえて欠損を作りそれを予測するというタスクを通しモデルを学習することによって、従来のモデルとは比較にならないほどの高性能を手に入れたわけなんですよモデル君は努力家ですね。
話は戻りますが、今回紹介しているWavLM君もほぼ同じ構造をしています。もちろん深掘りすれば数学的な違いや構造の違いなども論文内で示されていますが、この記事ではサックリと上澄みだけでも理解して帰って頂ければと思い省略しています。
WavLMはどのデータセットでどの程度学習されたのか?
上の表は実験結果の一部です。なんだかよく分からないかもしれませんが、他のモデルよりもWavLMは性能が良いってことは理解できるのではないでしょうか?
さてこんなすごいモデルはいかにして学習されているか知りたくはないですか?なかなかすごいことが係れていますよ。
では初めていきます。
データセットとして用いられているのは、
Librispeech | 60000時間 |
Gigaspeech | 10000時間 |
VoxPopul | 24000時間 |
これだけでもヤバイですね。ちょっと引くレベルの凄さです。私はいつも1時間ちょっとのデータ量で実験しているのでもう雲泥の差ですね。
つづいて学習方法については、
- 入力音声の一部をマスクする。人工的なノイズを音声に加える。
- モデルは、マスクされた部分の音声を予測するタスクと、ノイズを除去するタスクを同時にこなす
- transformerを利用して、音声の順序を正確に捉えられるようにする
この3つの手順に従って学習が行われていきます。ちょっと分からないよという方は構造を説明した図をもう一度見ていただくと良いかもしれませんね。
最後に学習時間についてですが、これに関してはどのようなGPUを使って何時間かかったなど明確に記されているわけではないので私の憶測になりますが、本当に大きなスーパーコンピューターのようなマシンを利用して何日もかけて学習を行ったのではないでしょうか?
もうねすごいとしか言えませんよ。だって私じゃ絶対再現できないんですもん。私だけではなく大学の先生でも厳しいかもね....本当に海外企業の資金力と研究力には脱帽です。
WavLMはどのようなインパクトを与えたのか?
さて最後にこの記事でなんども登場しているこの表を読み解きながら、このモデルはどのようなインパクトを与えたのか結果を確認していきましょう。
はい。では結論から。この表が示しているのは音声分離タスクにおける単語誤り率に関する評価です!これはあくまで誤り率ですから、数字が低い方が性能がいいんですよ。(私はこれを間違えて先生に結果を報告して困らせたことがあります....)
音声分離って知っていますか?例えば2人同時に話しちゃったとします。聖徳太子であれば2人の話を同時に聞き取れるかもしれないですが、一般人には不可能です。もちろんそれは音声認識モデルにも当てはまります。そんなときに用いられるのが音声分離タスクです。2人の音声が重なった状態をしっかり1つずつに分けるんですね。
そしてこの結果というのは、1つずつに分けた結果ちゃんとした音声になっているかな?大きなミスはないかな?ということを確かめたものです。
表を見ると他のモデルよりも数値が低くなっていますよね。それだけこのモデルの音声分離精度が高いってことです。
この論文では、音声に関わる色々なタスクにおいて実験がなされておりどれを取っても他のモデルを上回る性能をたたき出しているんです。紹介したいのはやまやまですが、如何せん分量が多いので、今回は一番わかりやすいこの表を結果として提示します。
もし気になるよという方は、論文のリンクが貼ってあるので確かめてみてね!
ひよっこライター小笠原のちょっと雑談
企業さんや大学院生の方で、共同研究を行っていただける方を募集中です!
専門は、音声認識(実験系)で特に構音障害者を対象に扱っています。
この分野は、使えるリソースが限られていますので、1人で取り組むのでは必ず限界が来ます。
どなたか一緒に最新技術を用いて社会課題の解決を目指してみませんか?
この記事に関するカテゴリー