【簡単AI論文】Masked Audio Generation using a Single Non-Autoregressive Transformer (Meta)
この論文は、テキストから音楽や音声を生成するというタスクについて、新しい方法を提案しています。
音楽や音声は、時間の経過とともに変化する連続的な信号ですが、コンピュータが扱いやすいように、離散的な記号に変換することができます。
例えば、音楽の場合は、音階や音符、音長などの記号に変換することができます。
このようにして変換された記号の列を、音楽や音声の表現と呼びます。
音楽や音声の表現を生成するには、テキストから条件付きの確率分布を学習するモデルが必要です。
この確率分布は、テキストに対応する音楽や音声の表現の確率を表します。
例えば、「ハッピーバースデーの歌を作って」というテキストに対して、その歌にふさわしい音楽の表現の確率を高く、それ以外の音楽の表現の確率を低くするような確率分布を学習する必要があります。
この確率分布を学習する方法には、大きく分けて二つの種類があります。
一つは、自己回帰的な方法です。
これは、音楽や音声の表現の記号を一つずつ順番に生成する方法です。
例えば、最初の記号を生成したら、それをもとに次の記号を生成し、次の記号を生成したら、それらをもとにさらに次の記号を生成するというように、音楽や音声の表現の最後の記号まで繰り返します。
この方法は、生成された記号が自然で一貫したものになるという利点がありますが、一つずつ生成するので、時間がかかるという欠点があります。
もう一つは、非自己回帰的な方法です。
これは、音楽や音声の表現の記号を一度に複数生成する方法です。
例えば、最初に全ての記号をランダムに生成したら、それらを修正していくというように、音楽や音声の表現の全体を同時に考えます。
この方法は、生成するのに時間がかからないという利点がありますが、生成された記号が不自然で矛盾したものになるという欠点があります。
この論文では、非自己回帰的な方法を改良して、音楽や音声の表現を生成するモデルを提案しています。
このモデルは、MAGNeTという名前で、以下のような特徴があります。
1.音楽や音声の表現の記号を、一度に複数生成するのではなく、何回かに分けて生成します。
最初は全ての記号をマスク(隠す)しておき、その中から一部の記号を予測してマスクを外します。
次に、残ったマスクされた記号の中からまた一部の記号を予測してマスクを外します。
このようにして、マスクされた記号がなくなるまで繰り返します。
この方法は、一つずつ生成する自己回帰的な方法と、一度に生成する非自己回帰的な方法の中間的なものです。
生成する記号の数や順番は、確率的に決めます。
2.音楽や音声の表現の記号を、個別に生成するのではなく、一定の長さのまとまり(スパン)として生成します。
例えば、60ミリ秒分の記号を一つのスパンとして扱います。
この方法は、音楽や音声の表現の記号が、隣り合った記号と関係があることを考慮しています。
スパンを使うことで、記号の予測がより正確になります。
3.音楽や音声の表現の記号を、一つのストリームとして生成するのではなく、複数のストリームとして生成します。
例えば、音楽の場合は、音の大きさや高さなどの情報を別々のストリームとして扱います。
この方法は、音楽や音声の表現の記号が、異なる特徴を持つことを考慮しています。
ストリームを分けることで、記号の予測がより効率的になります。
4.音楽や音声の表現の記号を、テキストだけでなく、既に生成された記号にも条件付けて生成します。
例えば、最初のスパンを生成したら、それをもとに次のスパンを生成し、次のスパンを生成したら、それらをもとにさらに次のスパンを生成するというように、音楽や音声の表現の最後のスパンまで繰り返します。
この方法は、生成された記号が一貫したものになることを保証します。
また、テキストに対する記号の確率を、生成する過程で徐々に変化させることで、テキストに忠実なだけでなく、創造的なものにもなるようにします。
5.音楽や音声の表現の記号を、自分のモデルだけでなく、別のモデルにも評価して生成します。
例えば、自分のモデルでスパンを予測したら、それを別のモデルに入力して、そのモデルが出す確率を参考にします。
そして、自分のモデルと別のモデルの確率を組み合わせて、最終的なスパンを決めます。
この方法は、自分のモデルの欠点を補うことができます。
この記事が気に入ったらサポートをしてみませんか?