たれぱんのびぼーろく

わたしの備忘録、生物学とプログラミングが多いかも

論文解説: Ren (2019) FastSpeech: Fast, Robust and Controllable Text to Speech

速い、巧い、(安いかは微妙)FastSpeech

概要

Transformerで音素列を系列変換、動的にアップサンプリング、Transformerで↑系列をmel-specへ変換. 以上.
動的アップサンプリングは LengthRegulator で実行され、音素ごとの倍率が DurationPredictior で動的に推定される.
別のデカくて高性能なAttention-S2SモデルからDurationを抜き取り、それを教師データにしてモデルの一部になっているDurationPredictorを学習.
学習時はPredictor出力を素直にLengthRegulatorに渡すんじゃなくて、教師データをそのまま渡しちゃう (teacher forcing的な).
Length倍率ちょっと変えれば早口で話してくれたりする.

背景

E2E-TTSは最高の性能を示すが、速度・堅牢性・制御性はまだ発展の余地あり (音素入力の読み飛ばしや崩壊、話速やスタイルの制御方法無しなど).
Autoregressive-Attention-S2S (例: Tacotron 2) がそのいい例.
ARは原理的に学習も推論も遅くなりがち.
Attention頼みのアライメントは読み飛ばしを起こしたり崩壊したりする.
例えば話速をいじりたかったらアライメントを引き延ばすのが一番直感的.
=> ARをやめ、Attentionでの暗示的アップサンプリングをやめ、明示的動的アップサンプリングを用いれば、速く安定してかつアップサンプリング制御できるんじゃない? => やりました

モデル

Transformer & upsampling、以上.
Duration Teacher model にはAutoregressive Transformer TTS