1
本文作者: 奕欣 | 2017-03-02 09:34 |
雷鋒網(wǎng) AI 科技評(píng)論消息,今日百度研究院在官網(wǎng)上正式推出了 Deep Voice:實(shí)時(shí)語音合成神經(jīng)網(wǎng)絡(luò)系統(tǒng)(Real-Time Neural Text-to-Speech for Production),Twitter 上也同步更新了消息,目前論文也已經(jīng)投遞 ICML 2017。
本系統(tǒng)完全依賴深度神經(jīng)網(wǎng)絡(luò)搭建而成,最大的優(yōu)勢(shì)在于能夠滿足實(shí)時(shí)轉(zhuǎn)換的要求。在以前,音頻合成的速度往往非常慢,需要花費(fèi)數(shù)分鐘到數(shù)小時(shí)不等的時(shí)間才能轉(zhuǎn)換幾秒的內(nèi)容,而現(xiàn)在,百度研究院已經(jīng)能實(shí)現(xiàn)實(shí)時(shí)合成,在同樣的 CPU 與 GPU 上,系統(tǒng)比起谷歌 DeepMind 在去年 9 月發(fā)布的原始音頻波形深度生成模型 WaveNet 要快上 400 倍。
基于傳統(tǒng)的 TTS 流程,Deep Voice 采用深度神經(jīng)網(wǎng)絡(luò)與更為簡單的詞性取代原有的轉(zhuǎn)換方法。這樣一來,系統(tǒng)能夠兼容所有新的數(shù)據(jù)集、語音文件甚至是從未涉獵的領(lǐng)域。系統(tǒng)主要由五個(gè)部分構(gòu)成:
用于定位音素邊界的分割模型;
用于字素轉(zhuǎn)音素的轉(zhuǎn)換模型;
判斷音素能持續(xù)多長時(shí)間的預(yù)測模型;
基頻預(yù)測模型;
音頻合成模型。
在分割模型中,百度研究院提出了一種通過 CTC 損失(connectionist temporal classification)實(shí)現(xiàn)音素邊界檢測的新方法。而比起 WaveNet,百度的合成模型所需要的參數(shù)更少,速度更快。
Deep Voice 目前需要借助一個(gè)音素模型與音頻合成組件的幫助,希望在未來能夠?qū)崿F(xiàn)真正意義上的端到端(end-to-end)語音合成,上述系統(tǒng)不需要經(jīng)過復(fù)雜的合成流程,也不依賴手工設(shè)計(jì)特征的輸入或預(yù)訓(xùn)練文本。
在官網(wǎng)上,百度研究院展示了三個(gè)不同的語音樣本做為對(duì)比,歡迎點(diǎn)擊此處查看。可以聽出,過 Deep Voice 合成的語音已經(jīng)非常接近原始視頻的聲音,研究院的音頻的合成能夠有效地重塑人聲。
語音合成即文本轉(zhuǎn)換技術(shù)(TTS),根據(jù)百度語音官網(wǎng)的介紹,它是實(shí)現(xiàn)人機(jī)語音交互,建立一個(gè)有聽和講能力的交互系統(tǒng)所必需的關(guān)鍵技術(shù)。它是將計(jì)算機(jī)自己產(chǎn)生的、或外部輸入的文字信息轉(zhuǎn)變?yōu)榭梢月牭枚摹⒘骼目谡Z輸出的技術(shù)。
現(xiàn)在也有很多領(lǐng)域都需要應(yīng)用這一技術(shù),比如提供語音服務(wù)的設(shè)備、導(dǎo)航系統(tǒng),或是為視覺障礙者提供語音輔助。最早期的做法是機(jī)械地將預(yù)先錄制好的聲音拼接在一起(concatenative TTS),后來衍生出通過語音編碼器、合成分析并再現(xiàn)語音輸入的參數(shù)式 TTS(parametric TTS),但該項(xiàng)目開發(fā)流程可謂兼具高難度與強(qiáng)工作量。
有不少研究所都在語音合成領(lǐng)域下了功夫,其中最為有名的包括谷歌 DeepMind 及蒙特利爾大學(xué)機(jī)器學(xué)習(xí)研究所(MILA)。
谷歌 DeepMind 于去年 9 月公布了原始音頻波形深度生成模型 WaveNet,顯示生成的原始音頻質(zhì)量優(yōu)于目前Google采用的兩種最優(yōu)模型 Parametric TTS 與 Concatenative TTS。WaveNet通過直接為音頻信號(hào)的原始波形建模,一次為一種音頻樣本建模,來改變這種范式。同生成聽起來更為自然的語音相同,使用原始波形意味著WaveNet能夠?yàn)槿我忸愋偷囊纛l建模,包括音樂。
為了實(shí)現(xiàn)這一點(diǎn),研究團(tuán)隊(duì)需要告訴 WaveNet 文本的內(nèi)容。我們通過將文本轉(zhuǎn)換成語言和語音特征(包括音位、音節(jié)、單詞等),把轉(zhuǎn)換得來的特征提供給 WaveNet。這意味著網(wǎng)絡(luò)的預(yù)測步驟不僅僅基于先前獲得的音頻樣本,而且要基于文本所傳達(dá)的內(nèi)容。
而除了谷歌 DeepMind,近日 MILA 的 Yoshua Bengio 與 Aaron Courville 二位《Deep Learning》作者聯(lián)合 Jose Sotelo 等人推出了端到端的語音合成模型 Char2Wav,并于近日投遞了 ICLR 2017 的 workshop track。
Char2Wav 模型由一個(gè)讀取器與一個(gè)神經(jīng)聲碼器組成,前者是一個(gè)聚焦機(jī)制的編碼-解碼器模型;而后者是 SampleRNN 的條件式擴(kuò)展,兩者的結(jié)合能夠直接根據(jù)文本生成音頻。
在論文中團(tuán)隊(duì)指出,語音合成需要達(dá)成兩個(gè)目標(biāo):
一個(gè)是可理解性(intelligibility),指的是音頻的清晰程度,特別是聽者能在多大程度上提取出原有的信息;
另一個(gè)是自然感(naturalness),追求的是與可理解性相對(duì)的層面,即聽者聽懂句意的程度、全句的風(fēng)格一致性,還有地域或語言層面的差異程度等。
而現(xiàn)在百度也公布了它們?cè)谡Z音合成的巨大進(jìn)展,這也引發(fā)了包括 Yoshua 團(tuán)隊(duì)在內(nèi)的研究者們的注意。
最近,百度的 DeepVoice 論文作者 @NiftyIon 與 Char2Wav 作者之一 @kkastner 就在 Reddit 上針對(duì) DeepVoice 進(jìn)行了一番討論。@NiftyIon 的真實(shí)身份并不可考,在 Reddit 上他自稱是 DeepVoice 的作者之一。
據(jù)雷鋒網(wǎng) AI 科技評(píng)論判斷,這位名為 @kkastner 的 Reddit 用戶應(yīng)該是 Char2Wav 論文五作 Kyle Kasnter。根據(jù) LinkedIn 資料顯示,Kyle Kasnter 是蒙特利爾大學(xué)的在讀博士生,曾經(jīng)在 IBM Watson、谷歌大腦團(tuán)隊(duì)及 scikit-learn 實(shí)習(xí),一方代表百度硅谷 AI 團(tuán)隊(duì),一方代表 Yoshua 的機(jī)器學(xué)習(xí)大牛,他們的「華山論劍」又會(huì)擦出怎樣的火花?一起來看看以 Kasnter 為代表的語音合成團(tuán)隊(duì)都在關(guān)注哪些技術(shù)細(xì)節(jié)吧,為方便閱讀,由雷鋒網(wǎng) AI 科技評(píng)論整理成問答形式,@NiftyIon下稱“Deep Voice作者”,@kkastner下稱“Char2Wav作者”:
Char2Wav 作者:
官網(wǎng)中展示的樣例表現(xiàn)都非常棒,考慮到百度做為一家中國企業(yè),你們是否會(huì)將研究重心放在漢語上呢?
Deep Voice 作者:
我們對(duì) Char2Wav 的成果感到非常振奮,也曾經(jīng)討論過幾次采用聚焦機(jī)制而擺脫持續(xù)預(yù)測的想法,它正在朝著我們感興趣的方向發(fā)展,而且確實(shí)是管用的。
我們目前專注于英語,因?yàn)檫@項(xiàng)研究目前是在百度硅谷 AI 實(shí)驗(yàn)室(SVAIL)完成。我們自然是希望能將這個(gè)系統(tǒng)應(yīng)用于漢語及其它語言。
Char2Wav 作者:
您在論文中數(shù)次提及了「WORLD TTS system」,但 WORLD 只關(guān)注 DSP 領(lǐng)域(實(shí)際上它是一個(gè)聲碼器)。大多數(shù) TTS 系統(tǒng)也在做前端(文本),因此我并不覺得可以把 WORLD 標(biāo)記為 TTS 系統(tǒng)。在我看來,TTS 最糟糕的地方在于文本,但你們的模型更多地集中于這一點(diǎn)上。此外,我并不認(rèn)為我們的模型需要基于現(xiàn)有的 TTS 系統(tǒng)。就像論文中提及的,我們需要一個(gè)手工/專業(yè)的聲碼器實(shí)現(xiàn)端到端的語音生成,但我們不需要任何細(xì)粒度注釋的訓(xùn)練或生成。而我認(rèn)為我們所實(shí)現(xiàn)的目標(biāo)是將句子作為一個(gè)數(shù)據(jù)集,并訓(xùn)練生成 wav 給定的句子。
其中的區(qū)別有些微妙,但從用戶的角度上看,我們的系統(tǒng)看起來是一樣的(除了您的系統(tǒng)更快?。?。但我們真的很難在 LDC 外找到合理大小的細(xì)粒度注釋,也引致我們正在重新嘗試實(shí)現(xiàn)和擴(kuò)展 Alex Graves 的演示。我在閱讀 WaveNet 的論文時(shí),因?yàn)榍岸说念A(yù)測依賴文本,我也有相同的感覺。因此,所有的區(qū)別歸結(jié)起來就是:「我需要用什么樣的數(shù)據(jù)來訓(xùn)練」,「如何擴(kuò)展系統(tǒng),使大量的數(shù)據(jù)可用」,以及「如何分解模型」。我認(rèn)為 Heiga Zen 最近的演講很好地提供了參數(shù)合成的一個(gè)概述。
未來,您所訓(xùn)練的數(shù)據(jù)是會(huì)公開,還是不會(huì)?另外,數(shù)據(jù)集的來源有哪些?
Deep Voice 作者:
您提及了我們有預(yù)先存在的 TTS 系統(tǒng),確實(shí),我們沒有對(duì)不同階段的流程進(jìn)行區(qū)分。而我們所說的 WORLD TTS 功能指的是您提及的聲碼器。而我們并沒有考慮到實(shí)際上前端有很多的 TTS 特征,因此可能想當(dāng)然了。如果有讀者像您一樣對(duì)這一點(diǎn)感到疑惑,我們感到非常抱歉。
在「生成」的時(shí)候,我承認(rèn)兩個(gè)系統(tǒng)看起來是一樣的:我們想表達(dá)的是,與 Char2Wav 的差異只存在于訓(xùn)練前。事實(shí)上,我最欣賞您系統(tǒng)的原因在于整個(gè)系統(tǒng)是端到端的,目前我們的產(chǎn)品還不能做到這一點(diǎn)。
我覺得團(tuán)隊(duì)不會(huì)公開內(nèi)部數(shù)據(jù)集,但我們也展示了源自 Blizzard 2013 數(shù)據(jù)的結(jié)果,這一數(shù)據(jù)是開放的,當(dāng)然,你需要簽署相關(guān)協(xié)議。
Char2Wav 作者:
我們模型的測試時(shí)間數(shù)據(jù)稍后也會(huì)在 arxiv 上公布,不過 DeepVoice 的速度表現(xiàn)真的很好。如果我沒有看錯(cuò)的話,系統(tǒng)能達(dá)到 48kHz/秒的速度。從研究角度看,它是真的預(yù)示著高水準(zhǔn)音頻合成時(shí)代的到來,還是這只是在理想狀態(tài)下的表現(xiàn)?至少在我看來是不可思議的。
Deep Voice 作者:
我們?cè)趯?shí)驗(yàn)中了解到原始數(shù)據(jù)就是 48kHz 的,而且我們發(fā)現(xiàn)之前基于 WaveNet 得到的「低質(zhì)量音頻」實(shí)際上是 16 kHz 的,而不是 48 kHz。因此我們訓(xùn)練的就是常規(guī)的 40 層模型,并直接輸出 48kHz 的音頻。所以從長遠(yuǎn)來看,我們將能實(shí)時(shí)合成高于 16kHz 的音頻(雖然目前做不到),但依然有很多未實(shí)現(xiàn)的想法。
Deep Voice 作者:
您如何看待直接從字素到音頻的想法?我們?cè)?jīng)考慮這樣設(shè)計(jì)算法,不過擔(dān)心這樣的模型可能無法自動(dòng)修正錯(cuò)誤拼寫問題。因此,字素到音素,與音素到音頻的分離是必須的。而即使是人類,在這一點(diǎn)上可能也沒辦法做得很好吧——你可以問問人們"Jalapeno" and "P!nk" 和"Worcestershire"這幾個(gè)詞該怎么念。
(雷鋒網(wǎng) AI 科技評(píng)論按:Jalapeno:墨西哥胡椒,[?hɑ:l?'pe?njo?];P!nk:美國著名歌手,同 pink; Worcestershire: 伍斯特郡 [?wust??i?]。)
Char2Wav作者:
這個(gè)問題非常有趣,因?yàn)樗亩x非常不明確??紤]像 GAN 這樣的超分辨率技術(shù)也存在一個(gè)類似的問題——它屬于一對(duì)多的映射,但所選擇的任何方案都需要是全局一致(或至少中等范圍一致的)。我們嘗試的方法是采用全局揚(yáng)聲器調(diào)節(jié),希望通過捕獲揚(yáng)聲器質(zhì)量,也能捕獲默認(rèn)的發(fā)音與說話者之間的變化,但希望同一個(gè)人之間能夠保持一致。我目前沒有看到任何習(xí)得清晰發(fā)音的合成示例,但我們也看到了在兩個(gè)對(duì)話者切換之時(shí),語音的速度與韻律發(fā)生了明顯改變,這也意味著系統(tǒng)未來有可能學(xué)會(huì)更好地發(fā)音。
機(jī)器翻譯也存在類似的問題,因此對(duì)于我而言并不是無法解決的,但可能需要更多的數(shù)據(jù)或/以及一些思考,比如為什么英語發(fā)音如此奇怪,而且它是如何形成的。我們已經(jīng)有一些初步的想法,但為時(shí)還早。參數(shù)化的做法已經(jīng)避免了大部分的發(fā)音問題,但需要考慮細(xì)粒度注釋的問題。不過,我知道任何這個(gè)領(lǐng)域的研究者都了解不少優(yōu)秀的數(shù)據(jù)庫,它們能夠?yàn)榻?TTS 系統(tǒng)提供非常重要的幫助。
而以決策樹連接系統(tǒng)為代表的發(fā)音系統(tǒng)也存在一個(gè)優(yōu)點(diǎn),即不論怎樣總能在決策樹中找到正確發(fā)音,研究者也能夠利用這一點(diǎn)反復(fù)迭代,基于用戶反饋處理特殊情況。
在我看來,英語之所以難以訓(xùn)練,在于它發(fā)音的多模態(tài)性,一些基于字素而訓(xùn)練得到的英語聽起來非常怪異。我個(gè)人最喜歡的例子是"I am an athlete"。像西班牙語這樣的其它語言,即使缺少數(shù)據(jù),映射性的表現(xiàn)也不差。德語與羅馬尼亞語表現(xiàn)相當(dāng),目前我正寄希望于冰島語的測試上。
Deep Voice 作者:
實(shí)際上我們的系統(tǒng)并沒有做長時(shí)間的訓(xùn)練。系統(tǒng)訓(xùn)練了 20 小時(shí),但只需要 3-5 小時(shí)就能得到很高質(zhì)量的音頻結(jié)果。我們也沒有測試過音素的持續(xù)時(shí)間和 F0 預(yù)測模型對(duì)數(shù)據(jù)的敏感程度。不過,像在 VoiceBunny.com 這樣的平臺(tái),你就能花 5000 到 10000 美金拿到 5 到 10 小時(shí)的音頻。而開一個(gè)小工作室然后錄上一周的話,這樣也不花什么錢,不過我們自己沒有這么做。你需要文本和對(duì)應(yīng)的音頻——不一定要數(shù)據(jù)注釋,因?yàn)槟憧梢杂靡羲刈值浜鸵粋€(gè)字素到音素模型獲得。如果有需要的話,可以采用 LibriSpeech 獲取音頻內(nèi)容,只需要弄清楚如何將文本對(duì)齊音頻。我覺得可以采用語音識(shí)別系統(tǒng)來實(shí)現(xiàn)這一點(diǎn)(在百度,我們用的是自己研發(fā)的 Deep Speech2,你也可以選擇自己訓(xùn)練或?qū)ふ彝獠?API)。
關(guān)于 48kHz 模型,我們發(fā)現(xiàn)最有意思的地方在于我們大概有 83ms 的文本,而且它的表現(xiàn)相當(dāng)不錯(cuò)。這與 SampleRNN 沒有關(guān)系,但 WaveNet 也具有固定的感受野,顯然 83ms 已經(jīng)基本足夠。這也意味著高質(zhì)量的合成可能與感受野無關(guān),而是與其它因素有聯(lián)系。我們有一些解釋的想法,但還不是非常確定。
Char2Wav 作者:
我覺得三個(gè)小時(shí)以上的訓(xùn)練只是一個(gè)開始,嘗試采用一些更小的數(shù)據(jù)集時(shí),系統(tǒng)看起來在 5-10 小時(shí)之間會(huì)有更好的結(jié)果。我不記得 DIMEX 是多少時(shí)間了,但記得也很短。有的取決于說話者的數(shù)量,有的與語種有關(guān)。
至于你說的感受野的問題,非常有意思。在 WaveNet 中完全被隱藏了,而相對(duì)短(時(shí)間)的感受野,甚至在無監(jiān)督的情況下也給出了長距離的一致性,但 83 ms 也非常小,幾乎也只是三方對(duì)話的規(guī)模。因此你們團(tuán)隊(duì)做出的質(zhì)量改進(jìn)非常有意思,讓我感到很驚訝???!
整體而言,雙方對(duì)彼此論文都非常熟悉,而且也提出了一針見血的關(guān)鍵問題,看得可謂是非常過癮,雷鋒網(wǎng)也將關(guān)注后續(xù)交流的進(jìn)展(如果有的話)。
目前不少公司及高校研究院在實(shí)現(xiàn)端到端語音合成上做出了相關(guān)的嘗試與努力, AI 科技評(píng)論也認(rèn)為,不論語音合成技術(shù)的發(fā)展未來如何,它的終極目標(biāo)一定是要讓人類感覺易理解且自然,只有實(shí)現(xiàn)這一點(diǎn),方能實(shí)現(xiàn)人機(jī)交互的“大同世界”。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。