[論文メモ] Generative Pre-training for Speech with Flow Matching
MetaAI internship
TTSや音声強調等のダウンストリームタスクのパフォーマンスを向上させるFlow Matching生成モデルの事前学習方法の提案
wav2vecやHuBERT等のSSLモデルは特徴量抽出のための基盤モデルとしてよく利用される。
生成モデルはスピーチタスクにおける基盤モデルとして使えるのかを調査した。
よい生成モデルは他のスピーチタスクにも応用できるという考え。
提案手法名はSpeechFlow
手法
SpeechFlowという名前からわかるように最近ちょっと流行りのFlow Matchingがベースになる。
最適輸送のConditional Flow Matchingの目的関数は以下。
がガウシアンノイズ、が元のデータ、は時間で[0, 1]、はハイパラでここでは1e-5、が学習対象のニューラルネット。
このflow matchingモデルを事前学習して他のダウンストリームタスクに応用する。
この生成モデルの出力はの音響特徴(メルスペクトログラム)を採用する。はメルスペクトログラムの次元数、はフレーム長。
学習時に使うデータはラベルのないただの発話データ。
wav2vecやHuBERTなどで使われていたマスク部分予測をここでも採用する。
モデルの入力としてノイズだけでなくマスクされたメルスペクトログラムも入力とした条件付き生成モデルとする。
よって目的関数は以下のようになる。
は確率で入力され、ですべてマスクされた情報のないが入力される。
入力メルスペクトログラムのがマスクされ、マスク箇所は最低フレームマスクされる。
は入力となると周波数方向でconcatされ、モデルの次元に合うように線形変換される。
マスク箇所は0で埋められてマスクされていない箇所のみでlossをとる。
実験では]、をデフォルトに。
こうして出来上がったモデルの入力をタスクに合わせたものに変更しfine tuningする。
はタスク毎に変化する。
音声強調:ノイズの乗った音声
音声分離:複数話者の混ざった音声
TTS:アライメントされた音素特徴
SpeechFlowの全体像が以下の図1
実験・結果
細かい設定等は論文参照。
音声強調の結果が表1。他手法と異なり音響特徴ベースにもかかわらず善戦。
音声分離の結果が表2。素のSpeechFlowでは少々厳しい。
ESTOIiはよいけどSI-SDRiは低く、調べるとSI-SDRiはメルスペクトログラムからwavを生成する時点で厳しい。
Upper-bound w/ clean Specは元のメルスペクトログラムを利用したものだが、それでもこの程度。
そこでinverse-Mel と phase estimationを導入してみたところ改善された。
zero-shot TTSの結果が表3。
VoiceBoxと同じくらいの精度。
マルチタスクの結果が表4。これまでの3タスクをシンプルに組み合わせた。
全体的には単一モデルのがよい。
ただ、1つのモデルで複数タスクを解くユニバーサルモデルを構築できる可能性は十分ありより多くの研究が必要。
事前学習のステップ数、lr、の採用確率について調査した結果が図2。
学習率は5e-5以上あれば良さそう。
は80%程度必要で、のただのFlow Machingは劣化。提案手法SpeechFlowが優れていることを示してる。
所感
Flow MatchingのMAE。
確かにあってもおかしくなかった。ほかのMAEと同じくシンプルで強力そう。
SSLへの利用が検討されるこの流れ、基盤モデルになっていきそうな雰囲気を感じる。