Glow-TTS:A Generative Flow for Text-to-Speech via Monomic Alignment Search? ? ?
---Jaehyeon Kim,?Sungwon Kim,?Jungil Kong,?Sungroh Yoon
論文地址:https://arxiv.org/abs/2005.11129
相關(guān)代碼(官方):https://github.com/jaywalnut310/glow-tts
Demo:https://jaywalnut310.github.io/glow-tts-demo/index.html
摘要
? ? Glow TTS是一個基于標(biāo)準化流的并行化語音生成模型。它不像類似FastSpeech一樣,需要一個“老師”模型預(yù)先學(xué)習(xí)對齊信息,而是通過單調(diào)對齊搜索算法(Monotonic Alignment Seacrch 簡稱MAS),搜索最優(yōu)的文本特征與語音特征的對齊信息,而后并行的生成最終的語音特征。Glow TTS能夠生成與Tacotron 2音質(zhì)相當(dāng)?shù)恼Z音,而且實時率達到了0.025,并且作者證明了,該模型在多人語音合成上,同樣適用。另外,作者開源了相關(guān)代碼。
1 Glow TTS

? ? 通常,用流來做條件概率密度估計的做法都是將給定條件先合并到流中,然后將數(shù)據(jù)映射到已知的條件流中。而Glow的做法不同,Glow TTS是將條件信息合并到流的統(tǒng)計信息中去(如高斯分布的均值及標(biāo)準差),而不是直接合并到流中。
? ? 具體的,音頻信息-梅爾譜特征通過解碼器網(wǎng)絡(luò)fdec,生成隱變量z,并且z服從高斯分布Pz;文本信息c通過編碼器網(wǎng)絡(luò)fenc生成隱變量h,然后h通過網(wǎng)絡(luò)生成高斯分布的均值u和標(biāo)準差theta。此時,每幀的音頻特征都映射成了某個特定的高斯分布,每個字符也都映射成了相應(yīng)的高斯分布。
? ? 接下來的工作就是尋找兩類分布的映射矩陣A,也就是對齊矩陣。那么,怎樣才叫做對齊了呢?作者定義,當(dāng)音頻幀j對應(yīng)的隱變量z_j服從某個字符i對應(yīng)的高斯分布時,就認為該音頻幀與這個字符對應(yīng),即N(z_j;u_i,theta_i),也就是A(j)=i。在知道了對齊矩陣A的情況下,就可以計算似然概率了。如公式1所示。

? ? 有了似然概率公式后,就可以求最大似然概率了,如公式2所示,但是由于公式2中的代求變量有兩個,即對齊矩陣A與網(wǎng)絡(luò)參數(shù)theta,直接求是比較復(fù)雜的。于是,為了簡化,作者用EM算法的思想,直接求取最大似然的下界。如公式3所示。


? ? 這樣,最大似然計算就被簡化成了兩步計算,(1)在固定網(wǎng)絡(luò)參數(shù)theta時,求解公式4;(2)在固定求得的對齊矩陣A下,求取參數(shù)theta。

? ? 那么,如果計算A呢,作者提出了單調(diào)對齊搜索算法MAS。
1.1 MAS

? ? MAS的算法描述如圖2所示,其算法步驟表述的其實就是一個動態(tài)規(guī)劃算法。即先計算所有的對齊概率,然后尋找一條最大概率搜索路徑。算法的過程用圖形表示如圖3所示。

? ? 顯然,MAS算法是不能并行執(zhí)行的,它的時間復(fù)雜度是O(T_text * T_mel),但是作者也說明了,這個算法耗時不到整個網(wǎng)絡(luò)計算的開銷的2%。所以并不會有太大的計算性能影響。
1.2 幀數(shù)預(yù)測網(wǎng)絡(luò)
? ? 由于訓(xùn)練時是有對應(yīng)的文本和音頻特征的,所以可以直接通過求解對齊矩陣A計算每個輸入的字符應(yīng)該對應(yīng)哪些音頻幀,但是在推理時是沒有音頻信息的,也就沒法反算A。所以需要一個字符對應(yīng)音頻特征幀數(shù)預(yù)測網(wǎng)絡(luò)來預(yù)測每個字符對應(yīng)的音頻幀數(shù),然后得到A,有了A,有了學(xué)習(xí)得到的網(wǎng)絡(luò)參數(shù)theta,就可以計算輸出了。具體的相關(guān)公式如公式5所示。

? ? 有了幀數(shù)預(yù)測網(wǎng)絡(luò),在推理階段,就能夠?qū)⑽谋拘畔⒂成涑上鄳?yīng)的隱變量z,然后通過解碼器網(wǎng)絡(luò)的逆運算,求出需要生成的語音特征。最后結(jié)合聲碼器(作者用的是WaveGlow),生成語音。
? ? 需要注意的是,訓(xùn)練階段,幀數(shù)預(yù)測網(wǎng)絡(luò)的梯度更新是不影響編碼器網(wǎng)絡(luò)的,如公式5中的sg表示。在圖1(a)中也有所體現(xiàn)。
1.3 整體網(wǎng)絡(luò)架構(gòu)
1.3.1 編碼器結(jié)構(gòu)
? ? 編碼器結(jié)構(gòu)如圖4所示。

1.3.2 解碼器
? ? 解碼器結(jié)構(gòu)如圖5所示。

? ? 其中queeze操作如圖6所示。

1.3.3 參數(shù)設(shè)置
? ? 整個網(wǎng)絡(luò)的參數(shù)設(shè)置如表1所示。

2 實驗部分
?2.1 單人數(shù)據(jù)實驗
? ? 單人實驗數(shù)據(jù)使用的是LJSpeech的24小時數(shù)據(jù),結(jié)果如表2所示及圖7所示。


2.2 多人數(shù)據(jù)實驗
? ? 作者用LibriTTS的245人,約54小時數(shù)據(jù)訓(xùn)練了模型,其結(jié)果如表3所示。

? ? 可見,多人模型的效果有明顯的下降。
2.3 其他實驗
? ? 作者還做了一些其他實驗,例如語速控制、音色轉(zhuǎn)換等,具體參看論文,這里略過。
部分參考文獻
Battenberg, E., Skerry-Ryan, R., Mariooryad, S., Stanton,D., Kao, D., Shannon, M., and Bagby, T. Locationrelative attention mechanisms for robust long-form speech synthesis. arXiv preprint arXiv:1910.10288, 2019.
Dinh, L., Krueger, D., and Bengio, Y. Nice: Non-linear independent components estimation. arXiv preprintarXiv:1410.8516, 2014.
Dinh, L., Sohl-Dickstein, J., and Bengio, S. Density estimation using real nvp. arXiv preprint arXiv:1605.08803, 2016.
Durkan, C., Bekasov, A., Murray, I., and Papamakarios, G.Neural spline flflows. In Advances in Neural InformationProcessing Systems, pp. 7509–7520, 2019.
Gibiansky, A., Arik, S., Diamos, G., Miller, J., Peng, K.,Ping, W., Raiman, J., and Zhou, Y. Deep voice 2: Multispeaker neural text-to-speech. In Advances in neuralinformation processing systems, pp. 2962–2970, 2017.