訂閱
糾錯
加入自媒體

伯克利提出輕量級語音合成聲碼器SqueezeWave大幅降低計(jì)算量

今天為大家介紹一項(xiàng)來自UC Berkeley的新工作:SqueezeAI family里最新的一員——用于移動端語音合成的流模型SqueezeWave。作者用了一些很簡單的方法,設(shè)計(jì)了一個非常精簡得流模型。和此前Nvidia 的WaveGlow相比,相似的語音效果下,他們的模型所需算力比原有模型小214倍,在樹莓派上都能做到實(shí)時生成的速度。

自動語音合成對于眾多智能應(yīng)用十分重要,其中聲學(xué)特征轉(zhuǎn)換為音頻輸出的聲碼器在語音合成過程中具有十分重要的作用。雖然WaveGlow可以實(shí)現(xiàn)并行化的語音合成,但其龐大的計(jì)算量使得本地和邊緣設(shè)備無法承受,基于云計(jì)算的語音合成使得網(wǎng)絡(luò)延時和用戶隱私問題無法有效解決。為了解決語音合成中計(jì)算效率的問題,來自加州大學(xué)伯克利分校的研究人員提出了一種超輕量級的聲碼器模型SqueezeWave,通過對WaveGlow的結(jié)構(gòu)和計(jì)算方法進(jìn)行優(yōu)化大幅提升了模型計(jì)算效率,相較于WaveGlow減小了61-214倍的計(jì)算量,在眾多邊緣設(shè)備上——甚至是樹莓派上——都能有效部署實(shí)現(xiàn)高效的實(shí)時語音合成。

TTS從云端向邊緣

從車載地圖應(yīng)用到語音助手,眾多設(shè)備都開始采用了豐富的語音交互技術(shù)來處理各種任務(wù)。但想要得到高質(zhì)量的文本到語音轉(zhuǎn)換,需要復(fù)雜的機(jī)器學(xué)習(xí)模型和龐大的云計(jì)算資源支撐。但隨著硬件的發(fā)展,邊緣設(shè)備的計(jì)算能力大幅提升使得語音合成模型在本地運(yùn)行成為可能。其次消費(fèi)者對于隱私的擔(dān)憂與日俱增,在移動端運(yùn)行機(jī)器學(xué)習(xí)模型消除用戶數(shù)據(jù)向云端泄漏的威脅。此外隨著消費(fèi)者對于語音助手的依賴逐漸加深,對于用戶體驗(yàn)的關(guān)注也逐漸增加。為了提供低延時的語音服務(wù),降低網(wǎng)絡(luò)連接質(zhì)量帶來的影響,本地運(yùn)行的語音合成模型比云端模型更有優(yōu)勢。

典型的現(xiàn)代語音合成模型主要包含兩個部分:合成器和聲碼器。其中合成器用于從文字輸入生成聲學(xué)特征,而后利用聲碼器從聲學(xué)特征生成波形輸出。現(xiàn)存的高質(zhì)量語音合成器都需要消耗十分可觀的計(jì)算資源,SqueezeWave的主要目的在于提升合成器的效率。例如WaveNet及其變體基于自回歸的方法,意味著每一個生成的樣本都依賴于先前的樣本,這種串行的處理方式阻礙了硬件的并行加速;而基于流的WaveGlow可以在每一次前傳中生成許多樣本,雖然這一方法具有并行優(yōu)勢但卻需要消耗十分巨大的計(jì)算量。例如生成1s22kHz的語音需要消耗229G MACs的計(jì)算量,遠(yuǎn)遠(yuǎn)超過了移動端處理器所能承受的范圍。盡管WaveFlow可以在最新的V100顯卡上達(dá)到超過實(shí)時的性能,但卻不適合在邊緣設(shè)備部署。

在這篇論文中研究人員提出了一種輕量級的基于流的聲碼器SqueezeWave用于邊緣設(shè)備的語音合成。研究人員重新設(shè)計(jì)了WaveGlow的架構(gòu),通過重整音頻張量、采用深度可分離卷積以及相關(guān)優(yōu)化使其比WaveGlow少消耗61-214倍的計(jì)算量,可在筆記本端實(shí)現(xiàn)每秒123-303K樣本的生成,在樹莓派上3B+上也能實(shí)現(xiàn)15.6K的實(shí)時水平。

重新審視WaveGlow的計(jì)算復(fù)雜度

與直接進(jìn)行卷積操作不同,WaveGlow首先將鄰近的樣本聚類構(gòu)建多通道的輸入,其中L為時域維度的長度,Cg為每個時間步上的聚類組合的樣本數(shù)量。波形中的樣本總數(shù)量為.波形隨后被一系列雙邊映射進(jìn)行轉(zhuǎn)換,其中每一個都會利用的輸入得到輸出。在每個雙邊映射中,輸入信號首先被可逆的逐點(diǎn)卷積處理,而后將結(jié)果沿通道拆分為和。其中被用于計(jì)算仿射耦合系數(shù).其中將被應(yīng)用于的后續(xù)計(jì)算。而則為類似wavenet的函數(shù),為編碼音頻的梅爾譜Lm為梅爾譜的時間長度,Cm為頻率分量的數(shù)目。隨后仿射變換層將通過下式計(jì)算:,其中代表逐元素相乘。最終將在通道方向上組合得到最后的輸出。

WaveGlow最主要的計(jì)算量來自于WN函數(shù),其計(jì)算流程上圖所示。輸入首先通過逐點(diǎn)卷積進(jìn)行處理(圖中start),卷積使得的通道數(shù)從增加到非常大的數(shù)目,在WaveGlow中start的輸出維度為256維。隨后核為3的一維膨脹卷積將繼續(xù)對上述結(jié)果進(jìn)行處理(圖中in_layer所示)同時梅爾譜也被饋入到網(wǎng)絡(luò)中。由于梅爾譜的時域長度遠(yuǎn)小于波形長度,所以需要對其進(jìn)行上采樣來進(jìn)行維度匹配。而后in_layer和cond_layer輸出按照WaveNet的方式通過門函數(shù)進(jìn)行合并,隨后傳輸?shù)絩es_skip_layer。其輸出長度為L=2000,通道數(shù)為512.隨后將按照通道拆分為兩部分。這一結(jié)構(gòu)將重復(fù)八次,并在最后的res_skip_layer輸出與end進(jìn)行逐點(diǎn)卷積,計(jì)算出轉(zhuǎn)換因子

并將通道從512壓縮到8。在WaveGlow的源碼中,每秒的計(jì)算量為229G MACs,其中in_layer占據(jù)了47%,cond_layer占據(jù)了39%, res_skip_layer則為14%。這對這樣的情況,研究人員將對原始的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn)以減少計(jì)算量提高計(jì)算效率。

SqueezeWave的改進(jìn)措施

通過對WaveGlow的分析發(fā)現(xiàn)最主要的計(jì)算量來自于輸入音頻波形的形狀(長度)。WaveGlow的輸出維度為(L=2000,Cg = 8)這會從三個方面帶來非常高的計(jì)算復(fù)雜度:WaveGlow是一維卷積,其計(jì)算復(fù)雜度隨L線性增長;為了提高梅爾譜的時域分辨率需要對其進(jìn)行上采樣,由于上采樣是由現(xiàn)有樣本簡單插值而成的意味著in_layer中其中絕大部分計(jì)算是沒有必要的;在WN函數(shù)中,8通道的輸入被映射到了256到512維中間維度,雖然增加了模型容量但是在輸出時又被壓縮為8通道,中間維度的信息將會不可避免的丟失。

為了改進(jìn)這些計(jì)算復(fù)雜的細(xì)節(jié),研究人員將輸入音頻變形為較小的時域長度和較多的通道上來,同時保持WN函數(shù)中的通道尺寸。下面是兩種改進(jìn)的細(xì)節(jié)。當(dāng)L=64時,時域長度與梅爾譜相同無需上采樣,而L=128時,梅爾譜僅需要進(jìn)行最鄰近采樣,這樣進(jìn)一步減少了cond_layer的計(jì)算開銷。fig2深度可分離卷積減小計(jì)算量。

此外,研究人員還利用深度可分離卷積代替了in_layer中的一維卷積,用于處理1D音頻信號。一維卷積將輸入轉(zhuǎn)換為,其中卷積核的尺寸為,計(jì)算量為MACs.利用深度可分離卷積可以將計(jì)算量減小為:當(dāng)K=3,Cout = 512時候,這種方法可以減小近三倍的計(jì)算量。

除此之外,由于時域長度減小不再需要利用膨脹卷積增加感受野,所以都用常規(guī)卷積進(jìn)行代替更加適合硬件計(jì)算;將res_skip_layer的兩支輸出分支合并,減小了最終的輸出通道數(shù)目。在下圖中可以看到SqueezeWave的改進(jìn):

實(shí)驗(yàn)結(jié)果

為了驗(yàn)證模型的性能,研究人員將本文提出的SqueezeWave(SW)與WaveGlow和基準(zhǔn)進(jìn)行了比較,下表中SW-128L代表L=128的模型:

可以看到SW系列模型的計(jì)算量相較于WaveGlow大幅下降,而性能卻能保持較高的水平。

為了驗(yàn)證在邊緣設(shè)備的性能,下表還比較了在MacbookPro和樹莓派上的結(jié)果,可以看到甚至在樹莓派上都可以達(dá)到5.2k-21k/s的樣本生成速度。其中SW128S以及能夠生成實(shí)時并且高質(zhì)量的音頻結(jié)果了。

聲明: 本文由入駐維科號的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場。如有侵權(quán)或其他問題,請聯(lián)系舉報(bào)。

發(fā)表評論

0條評論,0人參與

請輸入評論內(nèi)容...

請輸入評論/評論長度6~500個字

您提交的評論過于頻繁,請輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評論

暫無評論

人工智能 獵頭職位 更多
掃碼關(guān)注公眾號
OFweek人工智能網(wǎng)
獲取更多精彩內(nèi)容
文章糾錯
x
*文字標(biāo)題:
*糾錯內(nèi)容:
聯(lián)系郵箱:
*驗(yàn) 證 碼:

粵公網(wǎng)安備 44030502002758號