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

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

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

TTS從云端向邊緣

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

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

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

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

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

WaveGlow最主要的計算量來自于WN函數(shù),其計算流程上圖所示。輸入首先通過逐點卷積進(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)行逐點卷積,計算出轉(zhuǎn)換因子

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

SqueezeWave的改進(jìn)措施

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

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

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

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

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

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

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

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2020-03-25
伯克利提出輕量級語音合成聲碼器SqueezeWave大幅降低計算量
今天為大家介紹一項來自UC Berkeley的新工作:SqueezeAI family里最新的一員——用于移動端語音合成的流模型SqueezeWave。

長按掃碼 閱讀全文