🕸

論文解説: WaveNet - 自己回帰モデルによる高精度な音声生成モデル

2022/08/04に公開約3,800字

論文

WaveNet: A Generative Model for Raw Audio

概要

コンテキストを与えて音声波形を生成する深層学習モデルを提案する。提案モデルは自己回帰的な確率モデルであり、音声サンプルの時系列を過去から未来へと順番に予測する。
提案モデルをtext-to-speechタスクに適用した場合、英語と中国語において既存の最良モデルを明らかに上回る性能を示した。
また、提案手法はコンテクストから音声波形を生成する汎用的な枠組みであり、コンテクストの与え方によって柔軟な拡張が可能である。例えば、話者のIDをコンテクストとして与えた場合は単一のモデルを使って複数の話者の会話を生成仕分けることに成功した。

研究の位置付け

深層生成モデルにおける自己回帰モデルベースの手法を音声合成モデルに適用可能かどうかを明らかにすることを目的とした研究である。直接的にはPixelRNN[1]の研究成果に依拠している。PixelRNNが生成するデータは64x64=4,096と低解像度であるが、音声データは1秒間に少なくとも16,000のサンプルを生成する必要がある。提案手法はこのような高解像度な生成モデルに対してもPixelRNNのアプローチが有効であることを示した。

先行研究との違い

  • Text-to-speechタスクにおいて今までにない高精度な性能を示した
  • 音声合成に必須な長いスパンの時間的依存性をクリアするために、非常に広い受容野を持つdilated casual convolutionに基づくアーキテクチャを開発した
  • 話者のIDをコンテクストとして与えることにより、単一のモデルを使って異なる音声波形を合成することに成功した
  • 同じアーキテクチャで小さな会話認識データセットに対して有効な性能を示した。また、音楽のようなドメインの異なる音声波形の生成において有望であることを示した

評価方法と結果

定量評価

北米英語および中国語(北京語)のスピーチデータセットに対して人間の被験者に対してアンケート調査を実施し、5段階評価の結果をMean Opinion Score(MOS)によって評価した。評価結果は英語、中国語ともに、既存の手法を大きく上回った(表1)。

表1: MOSによる定量評価結果の比較

定性評価

話者のIDをコンテクストに与えたケースなどがデモページから確認できる。
生成された音声は極めて自然に聞こえる。

提案手法についての解説

Casual convolution

自己回帰な時系列確率モデルにおける「ある時点における出力値の確率分布は、それまでに出力したシーケンスの値の条件付き確率として与えられる」という仮定に基づき、時系列的に未来にあるテンソルの値をマスクして畳み込み処理を適用するというもの(図1)。

図1: Casual convolution

Dilated convolution

ネットワークの層をあまり深くせずに受容野を広げるために、畳み込み操作においてdilation[2]を大きくとる。具体的にはdilationを層の深さに対して2の冪乗に設定する(図2)。

図2: Dilated convolution

再量子化による情報圧縮

音声波形を16bitで量子化した場合、1フレームあたり65,536階調のバリエーションができる。これを確率モデルとして表したとき、出力として65,536次元の確率変数が必要になる。これは計算量的に大きな負担となる。これを扱いやすくするために、mu-lowアルゴリズム[3]によって対数スケールに変換し、256階調として量子化することでデータ量を削減する。特に会話データにおいては再量子化後の波形は元の波形とほとんど変わらないと著者らは報告している。

Gated Activation

アクティベーション関数はPixelCNN[1:1]に倣いGated activation(図3)を採用した。著者らによると、ReLUよりも明白に性能が良かったとのこと。

図3: Gated activationの定義

アーキテクチャの概要

提案手法のアーキテクチャを図4で示す。収束を早めること、および深いネットワークの学習を安定させるために、残差接続およびSkip connectionを用いている。

図4: WaveNetのアーキテクチャ

コンテクストの与え方

提案手法はコンテクストに応じてデータを生成し分ける枠組みを提示する。形式的には図5で示すような条件付き確率分布で表され、実際には過去の時系列データxとコンテクストのベクトル表現hから潜在変数zを予測するニューラルネットワークとして実装する。
コンテクストの与え方としてglobal contextとlocal contextの2種類を提案している。

図5: 条件付き生成モデルの式

Global context

時系列でない、固定のコンテクストを想定している(例えば、話者のIDなど)(図6)。式中のhはコンテクストのベクトル表現、*は畳み込み演算を表す。また、V^\top hは時間方向にブロードキャストする。

図6: Global context

Local context

コンテクストが時系列として与えられる場合を想定している。例として、言語学的な特徴量や音素的特徴量など(図7)。時間的な解像度は生成するデータのそれよりも粗いものを想定している。式中のy=f(h)はコンテクストの時系列hを出力の時間的解像度に合わせてアップサンプルした時系列を表す[4]。この式ではVは1x1 convolutionである。

図7: Local context

所感

  • 「ある時点における出力は未来の入力を参照できない」という制約は必須だろうか?(bi-directionalなモデルや、Transformerのように全結合のモデルは意味をなさないのか?)
脚注
  1. Conditional Image Generation with PixelCNN Decoders要約記事も参照。 ↩︎ ↩︎

  2. 畳み込みフィルタのパラメータを一定の間隔を開けて間引くこと、また、間引く間隔のことを意味する。dilationを大きくすることで同じパラメータ数で受容野を広げることが可能になる。参考: https://paperswithcode.com/method/dilated-convolution ↩︎

  3. https://en.wikipedia.org/wiki/Μ-law_algorithm ↩︎

  4. 論文ではtransposed convolution(=パラメータを学習可能なアップサンプル)を採用した。 ↩︎

GitHubで編集を提案

Discussion

ログインするとコメントできます