本文へ移動

G検定(ジェネラリスト検定)

うぇーぶねっと

WaveNet

WaveNet

WaveNetは、生の音声波形を1サンプルずつ生成する深層ニューラルネットワークです。因果的畳み込みとdilated convolutionを組み合わせた自己回帰モデルです。

詳しい説明

生の音声波形を生成する自己回帰モデル

WaveNetは、van den Oordらの論文(arXiv:1609.03499)が提案した、生の音声波形を生成する深層ニューラルネットワークです。このモデルは完全に確率的で、自己回帰的です。音声の各サンプルについて予測分布を出し、その分布はそれより前のすべてのサンプルに条件づけられています。つまり、過去の波形をすべて踏まえて次の1サンプルがどの値をとるかを確率として予測し、これを繰り返して波形を作ります。音声は1秒あたり数万サンプルという細かさで記録されますが、論文はこの規模のデータでも効率よく訓練できることを示しました。

音声合成に応用したところ、英語と中国語(北京語)のどちらでも、人間の評価者は既存の最も優れたパラメトリック方式や素片接続方式よりもはっきり自然に聞こえると評価しました。音声合成というタスクの定義そのものについては音声合成の項目で扱います。また、1つのWaveNetで多くの話者の特徴を同じ忠実さで捉えられ、話者が誰かという情報を条件として与えると話者を切り替えられます。音楽のモデル化に使うと新しく、しばしば非常にリアルな音楽の断片を生成しました。さらに識別モデルとしても使え、音素認識で有望な結果を出しています。

中核となる因果的畳み込み

WaveNetの主な構成要素は因果的畳み込み(causal convolution)です。これは、時刻tでモデルが出す次の時刻の予測が、時刻t+1以降の未来の値に依存しないようにする畳み込みです。これによって、データを並べた順序をモデルが破らないことが保証されます。

訓練時と生成時では動き方が違います。訓練時は正解の波形がすべての時刻について分かっているので、全時刻の条件つき予測を並列に計算できます。一方、生成時は逐次的で、1サンプルを予測するたびにそれをネットワークへ入力し直して次のサンプルを予測します。また、因果的畳み込みのモデルは再帰結合を持たないため、特に非常に長い系列に適用する場合に、RNNより訓練が速いのが一般的です。

dilated convolutionで受容野を広げる

因果的畳み込みには、受容野(出力が参照できる入力の範囲)を広げるには多くの層か大きなフィルタが必要になるという問題があります。論文の例では、小さな積み重ねだと受容野は層の数とフィルタ長の和から1を引いた5にしかなりません。

そこでWaveNetはdilated convolutionを使い、計算コストを大きく増やさずに受容野を桁違いに広げました。dilated convolution(a trous、穴あき畳み込みとも呼ばれます)は、入力を一定の間隔で飛ばしながらフィルタを適用することで、フィルタの長さより広い範囲を見る畳み込みです。元のフィルタの間にゼロを挟んで大きくしたフィルタでの畳み込みと等価ですが、はるかに効率的です。間隔(dilation)が1なら通常の畳み込みと同じです。

論文では、dilationを層ごとに1, 2, 4と倍にしていき、512に達したら再び1から繰り返すというスケジュールを使っています。このように積み重ねると、少ない層で非常に大きな受容野を持ちながら、ネットワーク全体で入力の解像度と計算効率を保てます。受容野は深さに対して指数的に広がり、これが音声信号の長い時間にわたる依存関係をモデル化するうえで重要になります。

試験で問われること

G検定

  • WaveNetが自己回帰モデルであるとはどういう意味か、各音声サンプルの予測分布が何に条件づけられているかを含めて説明できますか。
  • 因果的畳み込みが未来の時刻に依存しないという制約を持つこと、訓練時は並列に計算でき生成時は逐次的になる理由、RNNより訓練が速い理由を説明できますか。
  • dilated convolutionとは何か、dilationを1, 2, 4と層ごとに倍にしていく構成によって受容野がどのように広がり、それが音声のどんな性質を扱うのに役立つかを説明できますか。
  • WaveNetが音声合成で既存のパラメトリック方式や素片接続方式より自然だと評価されたこと、話者の条件づけによる複数話者への対応、音楽生成や音素認識への応用を整理して説明できますか。

最終更新日: 2026/09/23