【Make-An-Audio】音声生成のためのプロンプト強化拡散モデル
3つの要点
✔️ 擬似ラベリングによるAudio-Textのペアデータ不足の解消
✔️ スペクトログラムオートエンコーダを導入
✔️ パーソナライズ生成・Audio Inpainting・Data-to-Audioにも応用
Make-An-Audio: Text-To-Audio Generation with Prompt-Enhanced Diffusion Models
written by Rongjie Huang, Jiawei Huang, Dongchao Yang, Yi Ren, Luping Liu, Mingze Li, Zhenhui Ye, Jinglin Liu, Xiang Yin, Zhou Zhao
(Submitted on 30 Jan 2023)
Comments: Audio samples are available at this https URL
Subjects: Sound (cs.SD); Machine Learning (cs.LG); Multimedia (cs.MM); Audio and Speech Processing (eess.AS)
code:
本記事で使用している画像は論文中のもの、紹介スライドのもの、またはそれを参考に作成したものを使用しております。
はじめに
本論文では、テキストから音声を生成する拡散モデルである「Make-An-Audio」が提案されています。このモデルは、テキストプロンプトを入力として受け取り、それに即した音声を生成します。
例えば、「猫の鳴き声と若い女性の声」というプロンプトを入力すると、猫が鳴いている中で、女性が話しているという音声が出力されます。
本研究で生成された音声サンプルは、以下のGitHubページで聞くことができます。
https://text-to-audio.github.io/
この研究は、機械学習分野の最難関国際会議の一つである「ICML2023」に採択されました。そのため、生成系AIに関心のある方は、要チェックの論文です。
音声生成の課題はデータ不足
深層生成モデルは最近、大規模な学習データと強力なモデルにより、テキストプロンプトで記述されたデータを忠実に表現できるようになった。特に、Text-to-ImageやText-to-Videoでは、これまでに無いほど簡単に、高品質で多様な作品が生成可能である。
しかし、Text-to-Audio(音声生成)に関しては、画像・動画生成より遅れをとっているのが現状です。
その原因として、以下の2つが挙げられます。
- 「テキスト」と「音声」のペアデータが少ない
- 長い連続信号データのモデリングが極めて複雑である
例えば、画像データであれば、簡単に「テキストラベル付き」の大量の画像データを集められます。
音声に関しても、音声データ単体を集めることは可能ですが、テキストラベルが付いたデータとなると、極端に少なくなるのです。
これらの理由より、Text-to-Audioは画像・動画生成ほどは精度が良くないです。
そこで本研究では、その問題を解決するために、以下の3つが提案されました。
- プロンプト強化拡散モデルを用いたMake-An-Audio
- 「音声と関連性の深いテキスト」を生成する擬似ラベリング(データ不足を解消)
- 自己教師付き表現を予測するスペクトログラムオートエンコーダ(モデリングの複雑性を解消)
こうすることで、Make-An-Audioは、概念的にシンプルでありながら、驚くほど強力な結果をもたらしたのです。
さらに本研究では、テキストに加えて、以下の3パターンの音声生成にも取り組んでいます。
- Personalized Text-To-Audio Generation
- Audio Inpainting
- Visual-To-Audio Generation
それでは、具体的な手法を見ていきましょう。
手法
ここでは、本研究で使われている手法を確認していきましょう。まずは手法全体の概要です。
手法の概要
Make-An-Audioにおける音声生成の過程は、下図に示す通りです。
上記の構造における各要素は、それぞれ以下の5つに分解できます。
- データ不足の問題を緩和する擬似プロンプト強化
- 対照学習(CLAP)によるテキストエンコーダ
- 自己教師付き表現を予測するためのスペクトログラムオートエンコーダ
- テキストのEmbeddingを条件とする拡散モデル
- メルスペクトログラムを生波形に変換するためのニューラルボコーダー
以下のセクションでは、これらの要素について詳しく説明します。
疑似ラベリング(Distill-then-Reprogram)
ここでは、疑似ラベリングを適用して、Text-Audioのペアデータ不足を解消する「Distill-then-Reprogram」という方法について解説します。
この手法は、その名の通り、蒸留したのちリプログラミングするという手法です。
各フェーズを順番に見ていきましょう。
・Expert Distillation
このフェーズでは、最初に「テキストラベルが付いていないAudioデータ」を入力として受け取ります。
その後、プロンプト生成のエキスパートモデルとして、事前に訓練された以下の2つのモデルを用意します。
- 自動音声キャプション生成モデル: Audioデータの内容を記述するための多様なテキストを生成
- 音声テキスト検索: データベース内から「類似するAudioデータ」を検索
ここでは、2つのエキスパートモデルが共同で、入力のAudioデータに関する知識を抽出し、そのAudioデータに即したテキストを生成します。
・Dynamic Reprogramming
次に、先ほどExpert Distillationが生成したテキストをXとして、以下の4ステップでデータ拡張をしていきます。
- ごく短いテキストラベル&の付いたAudioデータを、DBに保管する
- DBから0~2個のAudioデータをサンプリング
- それらのAudioデータを結合する
- Xと&を「テンプレート」に沿って結合する
ここで、&の内容は「Birds」や「Footsteps」などの、ほとんど一言の短いテキストを指します。
また、テンプレートの内容は以下の通りです。
上記のテンプレートの細かいルールについては、本論文に以下のように掲載されていました。
Specifically, we replace X and &, respectively, with the natural language of sampled data and the class label of sampled events from the database.
For verb (denoted as v), we have {‘hearing’, ‘noticing’, ‘listening to’, ‘appearing’};
for adjective (denoted as a), we have {‘clear’, ‘noisy’, ‘close-up’, ‘weird’, ‘clean’};
for noun (denoted as n), we have {‘audio’, ‘sound’, ‘voice’};
for numeral/quantifier (denoted as q), we have {‘a’, ‘the’, ‘some’};
テキストエンコーダ
text-to-data(image, audio, music etc.)の分野では、テキストプロンプトをエンコードする手法として、以下の2つが主流です。
- 対照学習を用いたクロスモダル学習(MuLan, CLIP, CLAP etc.)
- 事前学習済みLLMでエンコード(T5, FLAN-T5 etc.)
本研究でも、これらの事前学習済み凍結モデルを用いて、テキストプロンプトをエンコードしています。具体的には、対照学習モデルとしてCLAPを、事前学習済みLLMとしてT5-Largeを使用しています。
結果を先出しすると、CLAPとT5-Largeの両方がベンチマーク評価で、同様の結果を達成できたが、CLAPはLLMで必要とされる埋込みのオフライン計算なしで、より効率的である可能性があると結論付けられました。
スペクトログラムオートエンコーダ
ここで、入力Audioデータは、メルスペクトログラムxを表します。スペクトログラムオートエンコーダの構成は、以下の通りです。
- xを入力とし、潜在表現zを出力するエンコーダE
- zからメルスペクトログラム信号x'を再構成するデコーダG
- multi-window識別器
このシステム全体は、以下を最小化するようにEnt-to-Endで学習されます。
- 再構成損失: 学習効率と生成されたスペクトログラムの忠実度を向上
- GAN損失: 識別器と生成器が敵対的に学習
- KL-penalty損失: エンコーダーが標準的なzを学習し、高分散な潜在空間を避けるように制限
このように、Make-An-Audioでは、波形の代わりに自己教師付き表現を予測します。これにより、長い連続データをモデル化する際の課題が大幅に軽減され、ハイクオリティな意味理解が保証されるのです。
Latent Diffusion
ここでは、Latent Diffusion Modelを利用しています。これは、潜在表現に対して拡散過程・逆拡散過程を適用し、潜在表現を生成する手法です。その際、テキストで条件付けします。損失関数は、以下の通りです。
Data-To-Audio
このセクションでは、これまでの本研究のアイデアを応用・一般化したData-to-Audio生成について解説します。ここで言うData-to-Audioは、以下の3通りです。
- Personalized Text-To-Audio Generation
- Audio Inpainting
- Visual-To-Audio Generation
Personalized Text-To-Audio Generation
最近では、「パーソナライゼーション」が視覚やグラフィックスの分野でも見られるようになり、ユニークなオブジェクトを取り込むなど、個人的で独創的なカスタマイズが可能になりました。
本研究でも、このパーソナライゼーションを取り入れています。例えば、「雷」という音声を与えて、「赤ん坊の泣き声」というプロンプトで生成するとき、「雷の日に赤ん坊が泣く」ような音声を生成できます。また、既存の音声に背景音を追加したり、発話オブジェクトを挿入して音声を編集するなど、音声のミキシングやチューニングにも幅広く利用可能です。
Audio Inpainting
Audio Inpaintingとは、デジタル音声信号の破損した部分を、再構築して音声を復元するタスクです。
Inpaintingとは、もともと画像の一部を修復する技術です。画像上のマスクされた領域を再構成する技術で、引っかき傷や画像の上に書かれた文字などを、自然に復元することができます。この技術を、音声に拡張したそうです。
本研究では、音声に拡張するために、音声スペクトルグラムを画像とみなし、スペクトログラム画像に対してInpaintingを適用しています。
具体的には、Make-An-AudioをAudio Inpainting用に微調整し、不規則なマスク(厚いマスク、中程度のマスク、薄いマスク)を、音声スペクトログラムに与えています。
ここで言うマスクとは、音声の破損部分を埋めるために、音声を追加することです。
Visual-To-Audio Generation
最近の深層生成モデルでは、上記のような「画像や動画の内容に即した音声の生成」が進められています。そこで、この研究をさらに進めるために、本研究ではMake-An-Audioを「視覚情報からの音声生成」のために拡張されています。具体的には、以下の2通りです。
- Image-to-Audio
- Video-to-Audio
本研究のVisual-To-Audioの推論過程は、以下の通りです。
ここで本研究では、以下の2つのアイデアを利用しています。
- 対照学習(CLIP)
- CLIPガイド付きText-to-Audioモデル
CLIPとは、対照学習を用いた「画像とテキストのクロスモーダル学習」で、画像エンコーダとテキストエンコーダから構成されています。CLIPによって、画像と関連のあるテキストを、紐づけることが可能になります。
・Image-to-Audio
この技術を利用して、本研究のImage-to-Audioは、以下の手順で行われます。
- 画像が入力される
- 画像データがCLIPの画像エンコーダを通る
- Make-An-AudioのTransformerを通る
- U-netのCross Attention層を通る
- Make-An-AudioのAudio Docoderを通る
- Make-An-AudioのVocoderを通る
・Video-to-Audio
動画は画像のフレームが複数集まったものです。そのためVideo-to-Audioでは、動画から一様に4フレームをピックアップし、これらのCLIP画像特徴をプールして平均化し、Make-An-AudioのTransformer層に送っています。
実験
ここでは、本研究の定量的評価の方法をご紹介します。
評価指標
本研究では、「音声の品質」と「テキストと音声の結びつきの精度」について、客観的・主観的な指標を用いてモデルを評価しています。
客観的指標としては、以下の指標が用いられています。
- melception-based FID: 自動パフォーマンス指標
- KL divergence: 音声の忠実度
- CLAPスコア: テキストと音声の結びつきの精度
また、主観的な評価指標については、クラウドソーシングで被験者を募り、その被験者たちに対して、20-100のリッカート尺度でMOS(平均意見スコア)テストを実施しています。ここでは、以下の心理実験を行い、指標を計算しています(それぞれ95%信頼区間)。
指標 | 意味 | 実験内容 |
---|---|---|
MOS-Q | 音質 | 被験者に「音質と自然さを調べることに集中するように」と指示し、評価させる |
MOS-F | テキスト音声の整合性 | 被験者に音声とプロンプトを見せ、「自然言語の説明は音声と忠実に整合していますか?」と質問し、20-100のリッカート尺度で 「完全に」「ほとんど」「やや 」と答えさせる |
被験者への指示内容のスクリーンショットは、以下の通りです。
Text-to-Audioの結果
ここでは、一般に公開されている唯一のText-to-Audioのベースラインの「Diffsound」との、客観的・主観的指標における比較をしています。その結果は、以下の通りです。
この結果から言えることは、以下の3点です。
- 音声品質に関して、Make-An-AudioはFID 4.61、KL 2.79という最高点を達成
- テキストと音声の整合性において、Make-An-Audioは最も高いCLAPを獲得
- MOS-Qが72.5、MOS-Fが78.6で、被験者による最高評価を獲得
またこの時、以下のエンコーダを用いた比較実験が行われています。
- BERT
- T5-Large
- CLIP
- CLAP
生成のためのテキストエンコーダの重みは凍結されています。上記の結果表から、以下の3点の考察が得られました。
- CLIPはText-Image用のため、Text-to-Audioにはあまり役に立たない可能性がある
- CLAPとT5-Largeは同程度の性能を達成
- CLAPはLLMにおける埋め込みをオフラインで計算する必要がなく、より計算効率が高い可能性がある(パラメータは59%のみ)
Audio Inpainting
Audio Inpaintingの評価では、以下の6通りのマスキングを行っています。
- 厚いマスキング(Irregular)
- 中程度マスキング(Irregular)
- 薄いマスキング(Irregular)
- データの30%をマスキング(Frame)
- データの50%をマスキング(Frame)
- データの70%をマスキング(Frame)
また、広い領域と狭い領域をランダムにマスクし、FIDとKL指標を利用してパフォーマンスを測定しています。
結果は、以下の通りです。
結果より、マスキングの方法に関わらず、学習の際にマスクする領域が大きいほど、精度が向上することが分かりました。
また、マスク領域の大きさが同程度の場合、Frameベースの方が、Irregularベースを一貫して上回っています。
Audio Inpaintingの結果の例は、以下の通りです。
上記の図は、上から「欠損ありの入力音声(Input)」「Audio Inpainting結果(Result)」「欠損なしの本物の音声(GT)」を表しています。この場合、欠損ありの入力音声Inputが与えられた時、なるべく欠損なしの本物の音声GTに近づくように、学習されます。
結果を見てわかるように、マスキングされた領域の異なる形状に対して音声を正しく塗りつぶし、再構成しているのが分かります。
Visual-to-Audio
Visual-to-Audioの結果は、以下の通りです。
結果より、画像や動画に上手く汎化することができることが分かります。
Personalized Text-To-Audio Generation
Personalized Text-To-Audioでは、Faithfulness(テキストとキャプションとの整合性)とRealism(音質)には、以下の左の図のようなトレードオフが見られます。
右の図は、Tが大きくなると、もともとの音声に大量のノイズが加わり、生成されるサンプルはよりリアルになる一方で、Faithfulnessが失われることを表しています。
比較のために、Realismは生成された音声と初期音声の間の1-MSE距離で測定され、Faithfulnessは生成されたサンプルの間のCLAPスコアで測定されています。
今後の展望
本記事では、Text-to-Audioのためのプロンプト強化拡散モデルを用いたMake-An-Audioをご紹介しました。Make-An-Audioによって、高精度な音声生成が可能になりました。そして、間違いなくこの研究が、将来の音声合成研究の基礎となるでしょう。さらに、ショートビデオやデジタルアート制作の労力を、軽減することにも繋がると思います。
また、筆者らは「Latent Diffusion Modelは、通常より多くの計算資源を必要とし、学習データが減少すると劣化が見られる可能性がある」という点について、本研究の課題を言及しています。そのため、将来の方向性の一つとして、データ生成を高速化するための「軽量で高速な拡散モデルの開発」に期待がかかります。
この記事に関するカテゴリー