[論文レビュー] WaveFlow: A Compact Flow-based Model for Raw Audio
WaveFlowは最大尤度で訓練された原音声用のコンパクトなflowベースモデルを提示し、WaveNetのような高忠実度の音声を得られるが、生成ははるかに高速でフットプリントが小さい。
In this work, we propose WaveFlow, a small-footprint generative flow for raw audio, which is directly trained with maximum likelihood. It handles the long-range structure of 1-D waveform with a dilated 2-D convolutional architecture, while modeling the local variations using expressive autoregressive functions. WaveFlow provides a unified view of likelihood-based models for 1-D data, including WaveNet and WaveGlow as special cases. It generates high-fidelity speech as WaveNet, while synthesizing several orders of magnitude faster as it only requires a few sequential steps to generate very long waveforms with hundreds of thousands of time-steps. Furthermore, it can significantly reduce the likelihood gap that has existed between autoregressive models and flow-based models for efficient synthesis. Finally, our small-footprint WaveFlow has only 5.91M parameters, which is 15$\times$ smaller than WaveGlow. It can generate 22.05 kHz high-fidelity audio 42.6$\times$ faster than real-time (at a rate of 939.3 kHz) on a V100 GPU without engineered inference kernels.
研究の動機と目的
- 効率的で高忠実度の原音声生成を、コンパクトなflowベースモデルで動機付ける。
- 1-D波形データに対して尤度ベースのflowモデルと自己回帰モデルを橋渡しする。
- 小さなフットプリントのWaveFlowが、合成速度を大幅に高速化しつつ自己回帰性能に匹敵することを実証する。
- WaveFlowがWaveGlowと比較してパラメータ数を削減しつつ忠実度を維持または向上させることを示す。
提案手法
- WaveFlowを導入し、1-D波形を2-Dマトリクスに絞り込み、表現豊かな自己回帰関数で局所的な変動をモデル化する。
- 拡張された2-D畳み込みアーキテクチャを用いて、flowベースの写像における条件シフトとスケールを実装する。
- 高さ方向の並列尤度計算と自己回帰的合成を可能にする三角形ヤコビ行列を定義する。
- 補助損失や密度蒸留を用いず、最大尤度だけで直接訓練する。
- WaveNetとWaveGlowがflowベースモデルの特別なケースであるという統合的な視点を提供する。
- モデル容量と推論並列性のバランスを取るために、さままな高さhと置換戦略を実験する。
実験結果
リサーチクエスチョン
- RQ1原音声用の2-D拡張畳み込みflowモデルは自己回帰WaveNetに近い尤度を達成できるか?
- RQ2WaveFlowは高さパラメータhをどう拡張して生成速度とモデル容量のトレードオフを行うか?
- RQ3複数のFlow層を積み重ねた際の置換戦略が尤度と忠実度に与える影響はどの程度か?
- RQ4WaveFlowはパラメータ数、尤度、合成速度の点でWaveGlowおよび自己回帰Flowとどのように比較されるか?
- RQ5Flowベースのボコーダにおいて尤度と知覚的音声品質がどの程度相関するか?
主な発見
| モデル | flows × レイヤー | Res. チャンネル | # Param | Test LLs |
|---|---|---|---|---|
| Gaussian WaveNet | 1 × 30 = 30 | 128 | 4.57 M | 5.059 |
| Autoregressive flow | 3 × 10 = 30 | 128 | 4.54 M | 5.161 |
| WaveGlow | 12 × 8 = 96 | 64 | 17.59 M | 4.804 |
| WaveGlow | 12 × 8 = 96 | 128 | 34.83 M | 4.927 |
| WaveGlow | 6 × 8 = 48 | 256 | 47.22 M | 4.922 |
| WaveGlow | 12 × 8 = 96 | 256 | 87.88 M | 5.018 |
| WaveGlow | 12 × 8 = 96 | 512 | 268.29 M | 5.026 |
| WaveFlow (h=8) | 8 × 8 = 64 | 64 | 5.91 M | 4.935 |
| WaveFlow (h=16) | 8 × 8 = 64 | 64 | 5.91 M | 4.954 |
| WaveFlow (h=32) | 8 × 8 = 64 | 64 | 5.91 M | 5.002 |
| WaveFlow (h=64) | 8 × 8 = 64 | 64 | 5.91 M | 5.023 |
| WaveFlow (h=8) | 6 × 8 = 48 | 96 | 9.58 M | 4.946 |
| WaveFlow (h=8) | 8 × 8 = 64 | 96 | 12.78 M | 4.977 |
| WaveFlow (h=16) | 8 × 8 = 64 | 96 | 12.78 M | 5.007 |
| WaveFlow (h=16) | 6 × 8 = 48 | 128 | 16.69 M | 4.990 |
| WaveFlow (h=8) | 8 × 8 = 64 | 128 | 22.25 M | 5.009 |
| WaveFlow (h=16) | 8 × 8 = 64 | 128 | 22.25 M | 5.028 |
| WaveFlow (h=32) | 8 × 8 = 64 | 128 | 22.25 M | 5.055 |
| WaveFlow (h=16) | 6 × 8 = 48 | 256 | 64.64 M | 5.064 |
| WaveFlow (h=16) | 8 × 8 = 64 | 256 | 86.18 M | 5.101 |
- 中程度のサイズのWaveFlowはWaveNetと尤度を同等にし、数千の時間ステップを連続して生成しても高忠実な音声を生成できる。
- WaveFlowは同等のパラメータ規模での尤度において、WaveGlowを大幅に上回る(例:5.023と5.026、同等サイズ)。
- 圧縮高さhを増やすと尤度が向上し、より多くのFlowを持つ大規模モデルはLLとMOSが改善され、一定点まで高速な合成が可能になる。
- 小さなフットプリント(5.91Mパラメータ)のWaveFlowは22.05 kHzの音声を42.60×実時間で合成でき、WaveGlowよりも効率と忠実度の両方でいくつかの設定で優れている。
- 高さ次元にまたがる置換戦略(特に混合逆順と二部配列の配置)は、双方向モデリングによって尤度を大幅に改善する。
- テキスト読み上げ実験では、WaveFlowは小さなフットプリントと高速な合成を維持しつつ、WaveNetに匹敵するMOSを達成する。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。