訂閱
糾錯(cuò)
加入自媒體

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

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

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

TTS從云端向邊緣

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

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

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

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

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

WaveGlow最主要的計(jì)算量來(lái)自于WN函數(shù),其計(jì)算流程上圖所示。輸入首先通過(guò)逐點(diǎn)卷積進(jìn)行處理(圖中start),卷積使得的通道數(shù)從增加到非常大的數(shù)目,在WaveGlow中start的輸出維度為256維。隨后核為3的一維膨脹卷積將繼續(xù)對(duì)上述結(jié)果進(jìn)行處理(圖中in_layer所示)同時(shí)梅爾譜也被饋入到網(wǎng)絡(luò)中。由于梅爾譜的時(shí)域長(zhǎng)度遠(yuǎn)小于波形長(zhǎng)度,所以需要對(duì)其進(jìn)行上采樣來(lái)進(jìn)行維度匹配。而后in_layer和cond_layer輸出按照WaveNet的方式通過(guò)門函數(shù)進(jìn)行合并,隨后傳輸?shù)絩es_skip_layer。其輸出長(zhǎng)度為L(zhǎng)=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%。這對(duì)這樣的情況,研究人員將對(duì)原始的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn)以減少計(jì)算量提高計(jì)算效率。

SqueezeWave的改進(jìn)措施

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

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

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

除此之外,由于時(shí)域長(zhǎng)度減小不再需要利用膨脹卷積增加感受野,所以都用常規(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和樹(shù)莓派上的結(jié)果,可以看到甚至在樹(shù)莓派上都可以達(dá)到5.2k-21k/s的樣本生成速度。其中SW128S以及能夠生成實(shí)時(shí)并且高質(zhì)量的音頻結(jié)果了。

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

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字

您提交的評(píng)論過(guò)于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

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

暫無(wú)評(píng)論

暫無(wú)評(píng)論

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

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