wavenet
TRANSCRIPT
WaveNet安田裕介
WaveNetとは?DeepMindが開発したDNNを使った
音響データ生成モデル
https://arxiv.org/pdf/1609.03499.pdf
WaveNetの驚きポイント
• 従来の手法よりも自然な音声を生成
• 特徴抽出やvocoderがいらない.入力も出力も音響波.
• 同じアーキテクチャで音声だけでなく音楽も生成可能
• RNNではなくCNNを使っている
従来の音声合成
WaveNetの中身
音響波の同時確率
• 音響波形は過去の履歴に依存する • 音響波は過去に取ったすべての値の条件付き確率の同時確率で表せる
causal convolution
• causal convolutionでは予測 は未来の値に依存しない • 条件付き確率分布はレイヤーの積み重ねで表現される • 出力層は入力層と同じ次元tをもつ • ソフトマックス層で256の値に分類される
dilated convolution
• dilated convolutionは入力を何ステップかスキップする • dilated convolutionは少ない層数で大きな受容野をもつことを可能にする • 受容野とは神経細胞の中で入力を受け取る部分 • 実験では受容野の大きさはおよそ300ミリ秒で、2-3音素分に相当
受容野
CNNのメリット/デメリット
• 再帰的コネクションを持っていないため、RNNよりも学習が速い
• 受容野を広げるためにたくさんの層や巨大なフィルターが必要
条件付きWaveNet
• 音響データ以外に入力を与えることもできる • 入力変数で条件付けすることで、特定の特徴をもった音響波を出力することができる
• 条件にはグローバル条件(e.g. 話者)と時系列のローカル条件(e.g. 言語学的情報)がある
実験結果
複数話者音声生成• 109話者44時間のデータを学習
• 話者IDで条件付け
• テキストでは条件付けしていない
• →人の声のように聞こえるが、意味のない発言
• →1つのモデルですべての話者を再現可能
• →呼吸、口の動き、録音環境も再現されるhttps://deepmind.com/blog/wavenet-generative-model-raw-audio/
TTS• 1話者、24時間のデータを学習
• 入力テキストの言語学的情報で条件付け
• 他のモデルで予測したF0と音素継続長も補助情報として条件付け
• →ユニットセレクションやHMM/LSTM-RNNパラメトリック合成よりもよいスコア
音楽生成• ジャンルや楽器などでタグ付けされた200時間の音楽/60時間のYoutubeにあるピアノ音楽を学習
• →無条件でも和音で構成された聞き心地のよい音楽を生成
• →数秒の受容野をもってしても長期間の整合性は維持できない(秒単位でジャンルや楽器が変わってしまう)
感想• 現実的に情報量が多く汎用性の高い強力なモデルを作ることが可能なところがすごい
• F0や音素継続長など長期依存性をもつものは従来の手法を使わなければならないのが残念
• 受容野の拡大に期待
• tensorflow/magentaで実装公開に期待