語音合成到了跳變點(diǎn)?深度神經(jīng)網(wǎng)絡(luò)變革TTS最新研究匯總
近年來,隨著深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用,計(jì)算機(jī)理解自然語音能力有了徹底革新,例如深度神經(jīng)網(wǎng)絡(luò)在語音識(shí)別、機(jī)器翻譯中的應(yīng)用。但是,使用計(jì)算機(jī)生成語音(語音合成(speech synthesis)或文本轉(zhuǎn)語音(TTS)),仍在很大程度上基于所謂的拼接 TTS(concatenative TTS)。而這種傳統(tǒng)的方法所合成語音的自然度、舒適度都有很大的缺陷。深度神經(jīng)網(wǎng)絡(luò),能否像促進(jìn)語音識(shí)別的發(fā)展一樣推進(jìn)語音合成的進(jìn)步?這也成為了人工智能領(lǐng)域研究的課題之一。
2016 年,DeepMind 提出了 WaveNet,在業(yè)內(nèi)引起了極大的關(guān)注。WaveNet 可以直接生成原始音頻波形,能夠在文本轉(zhuǎn)語音和常規(guī)的音頻生成上得到出色的結(jié)果。但就實(shí)際應(yīng)用而言,它存在的一個(gè)問題就是計(jì)算量很大,沒辦法直接用到產(chǎn)品上面。
因此在語音合成領(lǐng)域,仍然有很多工作要做。語音合成有兩個(gè)主要目標(biāo):可理解性(intelligibility)和自然感(naturalness)。可理解性是指合成音頻的清晰度,特別是聽話人能夠在多大程度上提取出原信息。自然感則描述了無法被可理解性直接獲取的信息,比如聽的整體容易程度、全局的風(fēng)格一致性、地域或語言層面的微妙差異等等。
去年,我們看到了業(yè)界將研究熱點(diǎn)聚焦于語音識(shí)別,而今年語音合成成為深度學(xué)習(xí)社區(qū)研究的重要領(lǐng)域之一。2017 年剛過去不久,機(jī)器之心已經(jīng)關(guān)注到了三篇有關(guān)這一課題的研究論文:百度的 Deep Voice、Yoshua Bengio 團(tuán)隊(duì)提出的 Char2Wav 以及谷歌的 Tacotron。
在介紹今年的最新研究成果之前,我們先來回顧一下 Deep Mind 的 WaveNet。
WaveNet 受啟發(fā)于二維的 PixelNet,在這里它被調(diào)整為了一維的。
以上的圖展示了 WaveNet 的結(jié)構(gòu)。這是一個(gè)完全卷積的神經(jīng)網(wǎng)絡(luò),其中的卷積層有不同的膨脹系數(shù)(dilation factors),這讓其感受野(receptive field)可在深度(depth)上指數(shù)式地增長并可覆蓋數(shù)千個(gè)時(shí)間步驟(timesteps)。
在訓(xùn)練時(shí)間上,其輸入序列是由人類說話者錄制的真實(shí)波形。訓(xùn)練之后,可以對(duì)這個(gè)網(wǎng)絡(luò)進(jìn)行采樣以生成合成話語。在采樣的每一個(gè)時(shí)間步驟,都會(huì)從該網(wǎng)絡(luò)所計(jì)算出的概率分布中取出一個(gè)值。然后這個(gè)值會(huì)被反饋進(jìn)入輸入,并為下一個(gè)步驟生成一個(gè)新的預(yù)測。我們可以發(fā)現(xiàn),像這樣一次一步地構(gòu)建樣本就會(huì)產(chǎn)生很高的計(jì)算成本,這也是我們上面所提到的實(shí)際應(yīng)用中的問題。
另外要提到的一點(diǎn)是,為了使用 WaveNet 將文本轉(zhuǎn)化為語音,需要識(shí)別文本中是什么。在 DeepMind 這篇論文中,研究人員是通過將文本轉(zhuǎn)換為一序列的語言和語音特征(包含了當(dāng)前音素、音節(jié)、詞等方面的信息)做到這一點(diǎn)的。
剛才也提到 WaveNet 在實(shí)際應(yīng)用中所面臨的挑戰(zhàn),而深度神經(jīng)網(wǎng)絡(luò)應(yīng)用到語音合成上還有很大的提升空間。接下來,介紹一下該領(lǐng)域最新的三篇研究成果。
百度 Deep Voice
2017 年 2 月,百度研究部門提出了深度語音(Deep Voice)系統(tǒng),該系統(tǒng)是一個(gè)完全由深度神經(jīng)網(wǎng)絡(luò)構(gòu)建的高質(zhì)量文本轉(zhuǎn)語音系統(tǒng)。
在研究博客中百度研究人員表示,如今建立文本轉(zhuǎn)語音系統(tǒng)最大的障礙就是音頻合成的速度,而他們的系統(tǒng)已經(jīng)做到了實(shí)時(shí)的語音合成,這相比以前的 WaveNet 推理的實(shí)現(xiàn)有 400 倍的加速。
作者們表示,Deep Voice 論文的貢獻(xiàn)在于:
- Deep Vioce 受啟發(fā)于傳統(tǒng)的文本轉(zhuǎn)語音處理流程,采用了同樣的架構(gòu),但它使用神經(jīng)網(wǎng)絡(luò)取代了所有組件且使用了更簡單的特征。這使得該系統(tǒng)更適用于新數(shù)據(jù)集、語音和沒有任何手動(dòng)數(shù)據(jù)注釋或其他特征調(diào)配的領(lǐng)域。
- Deep Voice 為真正的端到端語音合成奠定了基礎(chǔ),這種端到端系統(tǒng)沒有復(fù)雜的處理流程,也不依賴于人工調(diào)配(hand-engineered)的特征作為輸入或進(jìn)行預(yù)訓(xùn)練(pre-training)。
如上圖所示,TTS 包含 5 個(gè)模塊:
- 一個(gè)字素轉(zhuǎn)音素模型;
- 一個(gè)在語音數(shù)據(jù)集中定位音素邊界的分隔模型;
- 預(yù)測音素序列中每個(gè)音素時(shí)距(temporal duration)的音素長度模型;
- 一個(gè)基本的頻率模型預(yù)測音素是否濁音的;
- 一個(gè)音頻合成模型,結(jié)合以上 4 個(gè)組件的輸出來合成音頻。
在百度的研究中,研究人員通過相應(yīng)的神經(jīng)網(wǎng)絡(luò)代替經(jīng)典 TTS 流程中的每一個(gè)組件,具體實(shí)現(xiàn)讀者可參閱論文。
百度在研究博客中表示,「深度學(xué)習(xí)變革了包括計(jì)算機(jī)視覺和語音識(shí)別在內(nèi)的許多領(lǐng)域,我們相信語音合成如今也到了一個(gè)跳變點(diǎn)?!?/p>
參考閱讀:
業(yè)界 | 百度提出 Deep Voice:實(shí)時(shí)的神經(jīng)語音合成系統(tǒng)
端到端語音合成模型 Char2wav
2 月份,來自印度理工學(xué)院坎普爾分校、INRS-EMT、加拿大高等研究院(CIFAR)的研究者在 arXiv 上發(fā)布了一篇論文,介紹他們?cè)诙说蕉苏Z音合成上的研究成果 Char2Wav。
在此論文中,作者們提出一種端到端的用于語音合成的模型 Char2Wav。Char2Wav 由兩個(gè)組成部分:一個(gè)讀取器(reader)和一個(gè)神經(jīng)聲碼器(nerual vocoder)。
讀取器是一個(gè)帶有注意(attention)的編碼器-解碼器模型。其中編碼器是一個(gè)以文本或音素作為輸入的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),而解碼器則是一個(gè)帶有注意的循環(huán)神經(jīng)網(wǎng)絡(luò),其會(huì)產(chǎn)出聲碼器聲學(xué)特征(vocoder acoustic features)。神經(jīng)聲碼器是指 SampleRNN 的一種條件式的擴(kuò)展,其可以根據(jù)中間表征(intermediate representations)生成原始的聲波樣本。
Char2Wav:一個(gè)基于注意的循環(huán)序列生成器(ARSG/attention-based recurrent sequence generator)是指一種基于一個(gè)輸入序列 X 生成一個(gè)序列 Y= (y1, . . . , yT ) 的循環(huán)神經(jīng)網(wǎng)絡(luò)。X 被一個(gè)編碼器預(yù)處理輸出一個(gè)序列 h = (h1, . . . , hL)。在本研究中,輸出 Y 是一個(gè)聲學(xué)特征的序列,而 X 則是文本或要被生成的音素序列。此外,該編碼器是一個(gè)雙向循環(huán)網(wǎng)絡(luò)。
作者們表示該工作工作受到了 Alex Graves (Graves, 2013; 2015) 研究的很大影響。在一個(gè)客座講座中,Graves 展示了一個(gè)使用了注意機(jī)制的語音合成模型,但 Graves 的研究未已論文的形式發(fā)表出來。
此外,與用于語音合成的傳統(tǒng)模型不同,Char2Wav 可以學(xué)習(xí)直接根據(jù)文本生成音頻。這和百度的 Deep Voice 系統(tǒng)一致。
參考閱讀:
Yoshua Bengio 等人提出 Char2Wav:實(shí)現(xiàn)端到端的語音合成
谷歌端到端的文本轉(zhuǎn)語音合成模型 Tacotron
不就之前,谷歌歌科學(xué)家王雨軒(第一作者)等人提出了一種新的端到端語音合成系統(tǒng) Tacotron,該模型可接收字符的輸入,輸出相應(yīng)的原始頻譜圖,然后將其提供給 Griffin-Lim 重建算法直接生成語音。此外作者們表示他們還提出了幾個(gè)可以使該序列到序列框架在這個(gè)高難度任務(wù)上表現(xiàn)良好的關(guān)鍵技術(shù)。
測試結(jié)果上,Tacotron 在美式英語測試?yán)锏钠骄饔^意見評(píng)分達(dá)到了 3.82 分(總分是 5 分),在自然感(naturalness)方面優(yōu)于已在生產(chǎn)中應(yīng)用的參數(shù)系統(tǒng)(parametric system)。此外,由于 Tacotron 是在幀(frame)層面上生成語音,所以它比樣本級(jí)自回歸(sample-level autoregressive)方式快得多。
模型架構(gòu):該模型接收字符的輸入,輸出相應(yīng)的原始頻譜圖,然后將其提供給 Griffin-Lim 重建算法以生成語音
參考閱讀:
學(xué)界 | 谷歌全端到端語音合成系統(tǒng)Tacotron:直接從字符合成語音
總結(jié)
一直以來,與機(jī)器進(jìn)行自然的語音交互一直是我們的一個(gè)夢想。雖然,語音識(shí)別已經(jīng)達(dá)到了相當(dāng)高的準(zhǔn)確度,但在語音交互的回路中不只有語音識(shí)別,自然的語音合成也是一個(gè)非常重要的研究領(lǐng)域。
在提高語音識(shí)別準(zhǔn)確度之后,深度神經(jīng)網(wǎng)絡(luò)在促進(jìn)語音合成的發(fā)展上也有非常大的潛力。2017 年開始到現(xiàn)在,我們已經(jīng)觀察到了上面所介紹的這樣的研究成果(當(dāng)然,會(huì)有遺漏)。我們相信,語音合成就像百度博客中所介紹的那樣到了一個(gè)「跳變點(diǎn)」,期待接下來會(huì)有更多新的研究成果出現(xiàn),讓人與機(jī)器能夠進(jìn)行更自然的交互。
【本文是51CTO專欄機(jī)構(gòu)機(jī)器之心的原創(chuàng)文章,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】