2和wavenet有何異同?
論文地址:
natural tts synthesis by conditioning wavenet on mel spectrogram predictions
https://arxiv.org/pdf/1712.05884.pdf
論文翻譯
https://my.oschina.net/stephenyng/blog/1620467
一、模型框架
a. 一個(gè)引入注意力機(jī)制(attention)的基于循環(huán)seq2seq的特征預(yù)測(cè)網(wǎng)絡(luò),用于從輸入的字符序列預(yù)測(cè)梅爾頻譜的幀序列;
b. 一個(gè)WaveNet網(wǎng)絡(luò)的修訂版,用于基于預(yù)測(cè)的梅爾頻譜幀序列來(lái)學(xué)習(xí)產(chǎn)生時(shí)域波形樣本。
c. 連接層:低層次的聲學(xué)表征-梅爾頻率聲譜圖
1.梅爾頻率聲譜圖作為銜接層:
a.梅爾頻譜比波形樣本更平滑,并且由于其每一幀都是對(duì)相位不變的,所以更容易用均方誤差損失(MSE)進(jìn)行訓(xùn)練
b.線性頻率聲譜圖:短時(shí)傅里葉變換的振幅
梅爾頻譜是對(duì)短時(shí)傅里葉變換的頻率軸施加一個(gè)非線性變換,用較少的維度對(duì)頻率范圍進(jìn)行壓縮變換得到的.
強(qiáng)調(diào)語(yǔ)音的低頻細(xì)節(jié),低頻細(xì)節(jié)對(duì)語(yǔ)音的可理解度非常關(guān)鍵,
同時(shí)淡化高頻細(xì)節(jié),而高頻部分通常被磨擦聲和其他爆裂噪聲所主導(dǎo),因此基本上在高保真處理中不需要對(duì)高頻部分進(jìn)行建模.
注:線性聲譜圖拋棄了相位信息(因此是有損的),而像Griffin-Lim這樣的算法可以對(duì)拋棄的相位信息進(jìn)行估計(jì),用一個(gè)短時(shí)傅里葉逆變換就可以把線性聲譜圖轉(zhuǎn)換成時(shí)域波形。
梅爾聲譜圖拋棄的信息更多,因此對(duì)逆向波形合成任務(wù)提出了挑戰(zhàn)。
2.頻譜預(yù)測(cè)網(wǎng)絡(luò)
a.tacotron的做法
在Tactron中,使用50毫秒幀長(zhǎng),12.5毫秒幀移,漢寧窗截取,然后施加短時(shí)傅里葉變換(STFT)得出線性頻譜。
然后使用頻率范圍在125赫茲到7.6K赫茲之間的80通道的梅爾濾波器組對(duì)STFT的線性頻率進(jìn)行過(guò)濾,
后接對(duì)數(shù)函數(shù)進(jìn)行范圍壓縮,從而把STFT幅度轉(zhuǎn)換到梅爾刻度上。
在進(jìn)行對(duì)數(shù)壓縮前,濾波器組的輸出振幅被穩(wěn)定到最小0.01以便限制其在對(duì)數(shù)域中的動(dòng)態(tài)取值范圍。
b.tacotron2的做法
(1)編碼器
I.輸入字符被編碼成512維的字符向量
II.3層卷積,每層卷積包含512個(gè)5 x 1的卷積核,即每個(gè)卷積核橫跨5個(gè)字符,后接批標(biāo)準(zhǔn)化(batch normalization)[18]和ReLU激活函數(shù)
III.雙向 LSTM層用以生成編碼特征,這個(gè)LSTM包含512個(gè)單元(每個(gè)方向256個(gè)單元)
(2)引入注意力機(jī)制的解碼器
解碼器是一個(gè)自回歸的循環(huán)神經(jīng)網(wǎng)絡(luò)
I.一個(gè)每層由256個(gè)隱藏ReLU單元組成的雙層全連接的“pre-net”
II.pre-net的輸出和注意力上下文向量拼接在一起,傳給一個(gè)兩層堆疊的由1024個(gè)單元組成的單向LSTM
III.LSTM的輸出再次和注意力上下文向量拼接在一起,然后經(jīng)過(guò)一個(gè)線性變換投影來(lái)預(yù)測(cè)目標(biāo)頻譜幀
IIII.目標(biāo)頻譜幀經(jīng)過(guò)一個(gè)5層卷積的“post-net”來(lái)預(yù)測(cè)一個(gè)殘差疊加到卷積前的頻譜幀上
post-net的每層由512個(gè)5 × 1卷積核和一個(gè)批標(biāo)準(zhǔn)化處理組成,除了最后一層卷積,每層的批標(biāo)準(zhǔn)化處理都后接一個(gè)tanh激活函數(shù)
網(wǎng)絡(luò)中的卷積層使用概率為0.5的dropout進(jìn)行正則化處理,LSTM層使用概率為0.1的zoneout進(jìn)行正則化處理。
為了在推斷時(shí)給輸出結(jié)果帶來(lái)些變化,概率為0.5的dropout只施加在自回歸解碼器的pre-net上
c.與Tacotron對(duì)比
新模型使用更簡(jiǎn)潔的構(gòu)造模塊,在編碼器和解碼器中不使用Tacotron中的“CBHG”堆疊結(jié)構(gòu)和GRU循環(huán)層,轉(zhuǎn)而使用普通的LSTM和卷積層。我們沒(méi)有在解碼器的輸出中使用“縮小因子(reduction factor)”,即每個(gè)解碼步驟只輸出一個(gè)單獨(dú)的頻譜幀。
3.WaveNet 聲碼器
a.梅兒頻譜特征表達(dá)逆變換為時(shí)域波形樣本。
在WaveNet的原架構(gòu)中,有30個(gè)擴(kuò)大卷積層,分3個(gè)循環(huán)進(jìn)行,也就是說(shuō)第k(k = 0 : : 29)層的擴(kuò)張率等于2的p次方,p等于k (mod 10)。
b.我們沒(méi)有像WaveNet那樣使用softmax層預(yù)測(cè)離散片段,我們借鑒了PixelCNN++和最近WaveNet的改進(jìn)版,
使用10元混合邏輯分布(10-componentMoL)來(lái)生成頻率為24k赫茲的16位深的語(yǔ)音樣本。
為了計(jì)算混合邏輯分布,WaveNet的堆疊輸出傳給ReLU激活函數(shù),再連接一個(gè)線性投影層來(lái)為每一個(gè)混元預(yù)測(cè)參數(shù)(均值,對(duì)數(shù)刻度,混合權(quán)重)。
損失函數(shù)使用標(biāo)定真實(shí)數(shù)據(jù)的負(fù)對(duì)數(shù)似然函數(shù)計(jì)算而得。
c.原始的WaveNet使用5毫秒幀率下的語(yǔ)言特征,音素時(shí)長(zhǎng),以及對(duì)數(shù)基頻(F0)。
我們?cè)趯?shí)驗(yàn)中注意到在5毫秒幀率過(guò)于緊密,導(dǎo)致預(yù)測(cè)頻譜數(shù)據(jù)幀時(shí)有顯著的發(fā)音問(wèn)題,
因此我們修改了WaveNet架構(gòu),在轉(zhuǎn)置卷積網(wǎng)絡(luò)中通過(guò)使用2層上采樣把幀率改成了12.5毫秒。
---------------------