Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Parallel WaveNet: Fast High-Fidelity Speech Synthesis

3,811 views

Published on

ICML2018読み会

Published in: Science
  • Be the first to comment

Parallel WaveNet: Fast High-Fidelity Speech Synthesis

  1. 1. Parallel WaveNet: Fast High- Fidelity Speech Synthesis ICML2018読み会 dhgrs
  2. 2. Parallel WaveNet • 3行でまとめると… – WaveNetのarchitectureの詳細を公開した – WaveNetの量子化bit数を8bitから16bitにした – WaveNetの音声合成を1000倍高速化した • http://proceedings.mlr.press/v80/oord18a.html
  3. 3. Parallel WaveNet • 3行でまとめると… – WaveNetのarchitectureの詳細を公開した – WaveNetの量子化bit数を8bitから16bitにした – WaveNetの音声合成を1000倍高速化した
  4. 4. WaveNetとは?
  5. 5. WaveNetとは?
  6. 6. WaveNetとは?
  7. 7. WaveNetとは?
  8. 8. ちょっと詳しくWaveNet Dilated Conv σ tan h Split x 1x1 + Dilated Conv σ tan h Split x 1x1 +
  9. 9. ちょっと詳しくWaveNet Dilated Conv σ tan h Split x 1x1 + 256 512 512 512 256 1x1 256 Skip Connection 512
  10. 10. ちょっと詳しくWaveNet Σ 1x1 ReL U ReL U 1x1 256 256 256 or 1 512 Causal Conv
  11. 11. 脱線 DNNを使ったText-to-Speech • @tosaka2 さんがまとめています。 – https://qiita.com/tosaka2/items/356405 0fe0ccea360610
  12. 12. Parallel WaveNet • 3行でまとめると… – WaveNetのarchitectureの詳細を公開した – WaveNetの量子化bit数を8bitから16bitにした – WaveNetの音声合成を1000倍高速化した
  13. 13. PixelCNN++ • WaveNetのベース手法PixelCNNの改良版 • 256クラスの予測確率ではなく、連続値の確率 分布のパラメータを出力する – パラメータ数を削減可能 • https://arxiv.org/abs/1701.05517
  14. 14. 予測確率(PixelCNNの場合) Softmaxで各クラスの予測確率を求める クラスの数だけパラメータが増える
  15. 15. 予測確率(PixelCNNの場合) 𝑝 𝑥 = 𝑖=1 𝐾 𝜋𝑖logistic(𝜇𝑖, 𝑠𝑖) 𝜋(各分布の混合比)と𝜇, 𝑠(logistic分 布のパラメータ)が分かれば、予測確率 を計算可能 クラスの数に依らない 混合logistic分布
  16. 16. パラメータ削減の効果 • 16bit(CD音質)で比較すると – WaveNetだと 2^16channels – Parallel WaveNetだと 30channels • パラメータ数(3; 𝜋, 𝜇, 𝑠)×混合数(論文だと10)
  17. 17. Parallel WaveNet • 3行でまとめると… – WaveNetのarchitectureの詳細を公開した – WaveNetの量子化bit数を8bitから16bitにした – WaveNetの音声合成を1000倍高速化した
  18. 18. IAF Inverse Autoregressive Flow • WaveNetやPixelCNNはAutoregressive(自己 回帰型)モデル – 1サンプルにつき1回のDNNのフォワード計算をする必要 がある – 計算を並列化できないので時間が掛かる • 1回のDNNのフォワード計算で全サンプルを同時に 計算する手法 • http://papers.nips.cc/paper/6581-improved- variational-inference-with-inverse-autoregressive- flow
  19. 19. Parallel WaveNetの定式化 • WaveNetが近似する関数 – 𝑝 𝑥 𝑡 𝑥1, 𝑥2, … , 𝑥 𝑡−1, 𝒉 Teacher WaveNet • Paralell WaveNetが近似する関数 – 𝑝 𝑥 𝑡 𝑧1, 𝑧2, … , 𝑧𝑡, 𝒉) Student WaveNet – 𝑧は互いに独立なlogistic分布からサンプリング – 𝑧~𝑙𝑜𝑔𝑖𝑠𝑡𝑖𝑐(𝜇 = 0, 𝑠 = 1)
  20. 20. 損失関数の出発点 • Teacher WaveNetは𝐻(𝑃, 𝑃 𝑇)を最小化する ように学習した – 𝑃は真の分布とする – 𝐻(𝐴, 𝐵)は確率分布𝐴, 𝐵の交差エントロピー • 𝑃𝑆が𝑃をうまく近似できれば𝐻(𝑃𝑆, 𝑃 𝑇)も小さくなる はず
  21. 21. 交差エントロピーの問題点 • ホワイトノイズをモデル化できない – 平均0の正規分布で生成される信号 – 無音が交差エントロピーを最小にする • (平均0/分散0の正規分布) • 𝑃𝑆の情報量(エントロピー)を大きくしたい – 損失関数視点では負の情報量を小さくしたい
  22. 22. −𝐻 𝑃𝑆 の追加 • 𝐻 𝑃𝑆, 𝑃 𝑇 − 𝐻 𝑃𝑆 – まさしくKLダイバージェンス 𝐻 𝑃𝑆 𝐷 𝐾𝐿 𝐻 𝑃𝑆, 𝑃 𝑇
  23. 23. 中間地点 • 𝐻 𝑃𝑆, 𝑃 𝑇 と𝐻 𝑃𝑆 を求める – 求めやすいように、Student WaveNetに条件を加 える – それぞれ具体的な算出方法を考える
  24. 24. Flowの導入 • 難しい問題なので1つのDNNでは解けない • 複数のステージに分けてだんだん精度を上げてい く – Object Detectionなどによくある – Flowとよぶ
  25. 25. Flowの計算 • 𝑧𝑡 0 ~𝐿𝑜𝑔𝑖𝑠𝑡𝑖𝑐 𝜇 = 0, 𝑠 = 1 • 𝑧𝑡 1 = 𝑧𝑡 0 ∙ 𝑠𝑡 1 𝑧≤𝑡 0 + 𝜇 𝑡 1 𝑧≤𝑡 0 – 𝑠𝑡 1 𝑧≤𝑡 0 と𝜇 𝑡 1 𝑧≤𝑡 0 は1つ目のDNNの出力 • 𝑧𝑡 𝑖 = 𝑧𝑡 𝑖−1 ∙ 𝑠𝑡 𝑖 𝑧≤𝑡 𝑖−1 + 𝜇 𝑡 𝑖 𝑧≤𝑡 𝑖−1 – 添え字を一般化 – スケール(整数倍)とシフト(定数項)
  26. 26. Nステージの場合 • 𝑧𝑡 𝑁 = 𝑧𝑡 0 ∙ 𝑖 𝑁 [𝑠𝑡 𝑖 𝑧≤𝑡 𝑖−1 ] + 𝑖 𝑁 [𝜇 𝑡 𝑖 ∙ 𝑗>𝑖 𝑁 [𝑠𝑡 𝑗 (𝑧≤𝑡 𝑗−1 )]] • 𝑧𝑡 0 (logistic分布のサンプル)をスケール/シフト – 結局はただのlogistic分布
  27. 27. 中間地点 • 𝐻 𝑃𝑆, 𝑃 𝑇 と𝐻 𝑃𝑆 を求める – 求めやすいように、Student WaveNetに条件を加 える – それぞれ具体的な算出方法を考える 再掲
  28. 28. 𝐻 𝑃𝑆, 𝑃 𝑇 を求める • logistic分布(𝑃𝑆)と混合logistic分布(𝑃 𝑇)の交 差エントロピーを求める – 平均、スケール、混合比について • DNNの出力 – 微分可能な形で • 誤差逆伝播のため – 解析的に求めることはできない • つらい • 複数回サンプリングすることで近似
  29. 29. 脱線 ClariNetの良いところ • 本当に解析的に求められないのか、自分の数学 力に自信が持てなかった • BaiduがClariNetというParallel WaveNet系 の手法を発表した • logistic分布(𝑃𝑆)と混合logistic分布(𝑃 𝑇)だと 解析的に求められずサンプリングが必要だから、ど ちらもgaussian分布に置き換えた • https://arxiv.org/abs/1807.07281
  30. 30. 𝐻 𝑃𝑆 を求める • ロジスティック分布のエントロピーは簡単に求めら れる • 𝐻 𝐿 𝜇, 𝑠 = log 𝑠 + 2
  31. 31. 損失関数の完成形 • KLダイバージェンスの最小化 • 𝐻 𝑃𝑆, 𝑃 𝑇 – 複数回サンプリングで近似 • 𝐻 𝑃𝑆 – log 𝑠 + 2 𝐻 𝑃𝑆 𝐷 𝐾𝐿 𝐻 𝑃𝑆, 𝑃 𝑇
  32. 32. Parallel WaveNet • 3行でまとめると… – WaveNetのarchitectureの詳細を公開した – WaveNetの量子化bit数を8bitから16bitにした – WaveNetの音声合成を1000倍高速化した
  33. 33. 3行でまとまらなかった Parallel WaveNet • Polyak averaging(exponential moving average) – 小ネタなので省略しました • 𝑝 𝑥𝑡 𝑧1, 𝑧2, … , 𝑧 𝑇, 𝒉)でない理由 – IAFの範囲なので省略しました – 本当はちょっと難しかったので… • 損失関数の正則化項 – それほど目新しくもないので省略しました – 読めば分かるようなところなので

×