2011 年 10 月,在 iPhone 4S 的發(fā)布會(huì),Siri 作為首款語音助手,驚艷亮相,然而 6 年過后,Siri 卻依舊不溫不火,為此,蘋果在最新的 iOS 11 中為 Siri 增加了更多的新功能,而且 Siri 合成的聲音也更加自然流暢。
近日,蘋果在自家的“Apple Machine Learning Journal”的博客上發(fā)表了三篇論文,詳細(xì)解釋了 Siri 聲音背后有關(guān)深度學(xué)習(xí)的技術(shù)細(xì)節(jié)。其中,《Deep Learning for Siri's Voice:On-device Deep Mixture Density Networks for Hybrid Unit Selection Synthesis 》可讀性為最強(qiáng),價(jià)值含量也比較高,AI科技大本營在第一時(shí)間對該論文進(jìn)行編譯,希望對你有用。
簡介
從輔助技術(shù)到游戲娛樂,語音合成的應(yīng)用非常廣泛。最近,將語音識(shí)別和語音合成相結(jié)合,已經(jīng)成為包括 Siri 在內(nèi)的虛擬個(gè)人助理的重要組成部分。
關(guān)于語音合成,目前業(yè)界里用的比較多的基本上是這兩種技術(shù):單元挑選(unit selection)和參數(shù)合成(parametric synthesis)。
在給定足夠多的高品質(zhì)語音數(shù)據(jù)的前提下,單元挑選合成(Unit selection synthesis)能夠產(chǎn)生最高質(zhì)量的聲音,因此這種方法是目前商業(yè)產(chǎn)品中使用最廣泛的語音合成技術(shù)。
而另一方面,參數(shù)合成可以合成明白易懂而且非常流利的語音,但是這種方法有個(gè)缺陷,那就是聲音的整體質(zhì)量較低。
因此,當(dāng)語料庫較小或者內(nèi)存空間不夠時(shí),我們通常會(huì)使用參數(shù)合成?,F(xiàn)代單元挑選系統(tǒng)結(jié)合了以上兩種方法的一些優(yōu)點(diǎn),因此被稱為混合系統(tǒng)。這種混合單元挑選方法和經(jīng)典單元挑選技術(shù)類似,但是前者使用了參數(shù)的方法來預(yù)測應(yīng)該選擇那些單元。
最近,深度學(xué)習(xí)在語音方面取得了突破,大大超過了包括隱馬爾可夫模型(HMM)在內(nèi)的傳統(tǒng)技術(shù)。參數(shù)綜合從深度學(xué)習(xí)技術(shù)中獲益良多。此外,深度學(xué)習(xí)的出現(xiàn),也使得一種全新的語音合成方法——直接波形建模(例如使用 WaveNet)——成為可能,這種方法有同時(shí)提供高質(zhì)量的單元挑選合成的高質(zhì)量以及參數(shù)合成的靈活性的潛力。然而,這種方法需要極高的計(jì)算成本,因此還不能應(yīng)用到生產(chǎn)系統(tǒng)中去。
為了讓 Siri 在全平臺(tái)上都能具備高質(zhì)量的合成聲音,蘋果公司正在設(shè)備端上推進(jìn)深度學(xué)習(xí)在混合單元挑選系統(tǒng)中的應(yīng)用。
語音合成的原理
為個(gè)人助理搭建一個(gè)高質(zhì)量的 TTS(文本轉(zhuǎn)語音)系統(tǒng)并不是一件容易的事。首先,我們需要找一個(gè)專門的聲優(yōu),他的聲音不僅聽起來要清晰明白,而且還要讓人愉悅,并且符合 Siri 的個(gè)性。為了覆蓋各種人類聲音,我們首先要在專業(yè)的工作室里錄制 10~20 個(gè)小時(shí)的語音內(nèi)容。從音頻書籍到導(dǎo)航指令,從有趣的答案到詼諧的笑話,錄音腳本的內(nèi)容幾乎無所不包。通常,這種自然語音不能按照錄制的方式使用,因?yàn)樗豢赡芨采w到所有可能的問題。因此,單元挑選TTS 是基于將錄音切割成基本單元,比如半音素(half-phones),然后將這些基本單元重新組合以創(chuàng)建全新的語音。在實(shí)際操作過程中,選擇合適的語音片段并將它們組合起來并不容易,因?yàn)槊總€(gè)音素(phone)的聲學(xué)特性取決于相鄰的音素和語音的韻律,這通常使得語音單元彼此不兼容。圖1展示了如何使用由半音素組成的語音數(shù)據(jù)庫來合成語音。
圖1:使用半音素的單元選擇語音合成圖示。 合成語音“單位選擇合成”及其使用半音素的語音轉(zhuǎn)錄過程如圖上半部分所示,相應(yīng)的合成波形及其頻譜如圖下半部分所示,由線分隔的語音段是數(shù)據(jù)庫中的連續(xù)語音段,這些語段可能包含一個(gè)或多個(gè)半音素。
單位選擇 TTS 的基本問題是找到滿足輸入文本和預(yù)測目標(biāo)韻律的單元序列(例如半音素),前提是這些單元可以連接在一起,并且不存在可聽見的刺音。
傳統(tǒng)上,這個(gè)過程由兩個(gè)明顯的階段組成:前端和后端(見圖2),盡管在現(xiàn)代系統(tǒng)中,前端和后端之間的邊界有時(shí)可能是模糊的。 前端的目的是根據(jù)原始文本輸入提供語音轉(zhuǎn)錄和韻律信息,這包括標(biāo)準(zhǔn)化原始文本,由于原始文本可能包括數(shù)字、縮寫等,我們需將它們表示為標(biāo)準(zhǔn)的文字,并為每個(gè)單詞分配音標(biāo),以及從文本中解析語法、音節(jié)、單詞、重讀和與語句劃分有關(guān)的信息。請注意,前端具有高度的語言依賴性。
圖2. 從文本到語音的合成過程
借助由文本分析模塊生成的符號(hào)語言表征,韻律生成模塊可以預(yù)測聲學(xué)特征值,例如語調(diào)和持續(xù)時(shí)間,這些值用于選擇適當(dāng)?shù)膯螁卧?單元選擇的任務(wù)十分復(fù)雜,現(xiàn)代語音合成系統(tǒng)采用機(jī)器學(xué)習(xí)方法來學(xué)習(xí)文本與語音之間的對應(yīng)關(guān)系,然后根據(jù)不可見文本的特征值預(yù)測語音特征的值。
因此,我們必須使用大量文本和語音數(shù)據(jù)來訓(xùn)練階段該模型的合成系統(tǒng)。韻律模型的輸入是數(shù)字語言特征,如轉(zhuǎn)換為方便的數(shù)值形式的音素同一性、音素上下文、音節(jié),單詞和短語級(jí)位置特征。模型的輸出由語音的數(shù)字聲學(xué)特征組成,如頻譜、基頻和音素持續(xù)時(shí)間。
在合成階段,訓(xùn)練后的統(tǒng)計(jì)模型將輸入的文本特征映射到語音特征中,然后用這些語音特征指導(dǎo)單元選擇后端過程,在此過程中適當(dāng)?shù)恼Z調(diào)和持續(xù)時(shí)間至關(guān)重要。
與前端相反,后端大多是語言無關(guān)的。它由單元選擇和波形拼接組成。當(dāng)系統(tǒng)經(jīng)過訓(xùn)練后,錄制的語音數(shù)據(jù)通過錄制語音和錄音腳本之間的強(qiáng)制對準(zhǔn)(使用語音識(shí)別聲學(xué)模型)被分割成單獨(dú)的語音段。
分段語音用于生成單元數(shù)據(jù)庫,然后我們再使用重要信用進(jìn)一步擴(kuò)大單位數(shù)據(jù)庫,如每個(gè)單元的語境和聲學(xué)特征。我們將這些數(shù)據(jù)稱為單位索引。利用構(gòu)建的單元數(shù)據(jù)庫和指導(dǎo)選擇過程的預(yù)測韻律特征,系統(tǒng)會(huì)在語音單元空間中執(zhí)行維特比搜索(Viterbi search),以找出合成單位的最佳路徑(見圖3)。
圖3:利用維特比搜索找出格子中單元的最佳合成路徑的圖示。圖3頂部是需要進(jìn)行合成的目標(biāo)半音素,下面每個(gè)框?qū)?yīng)一個(gè)單獨(dú)的單元。連接所選單元的線表示維特比搜索找到的最佳路徑。
該選擇基于兩個(gè)標(biāo)準(zhǔn):
單元必須遵照目標(biāo)韻律;
單元應(yīng)該盡可能拼接起來,并且確保單元邊界處無聽得見的刺聲。這兩個(gè)標(biāo)準(zhǔn)分別被稱為目標(biāo)損失(target costs)和拼接損失(concatenation costs)。目標(biāo)損失是預(yù)測目標(biāo)聲音特征與從每個(gè)單元中提取出來的聲音特征(儲(chǔ)存在單元索引中)之間的差異。而拼接損失則是結(jié)果單元(consequent units,見圖4)之間的差異??倱p失的計(jì)算公式如下所示:
其中“un”是第 n 個(gè)單元,N 是單元的數(shù)量,“wt”和“wc”分別代表目標(biāo)損失權(quán)重和拼接損失權(quán)重。在確定了最佳單元序列之后,系統(tǒng)會(huì)對單獨(dú)單元波形進(jìn)行拼接以生成連續(xù)地合成語音。
圖4. 基于目標(biāo)損失和拼接損失的單元選擇方法
Siri 新聲音背后的技術(shù)
由于 HMM 直接對聲音參數(shù)的分布進(jìn)行建模,因此它常被用作為目標(biāo)預(yù)測任務(wù)中的統(tǒng)計(jì)模型,例如用 Kullback-Leibler 發(fā)散來計(jì)算目標(biāo)損失很容易。但是在參數(shù)語音合成上,基于深度學(xué)習(xí)的方法通常要比 HMM 更好,同時(shí)我們也希望可以將深度學(xué)習(xí)的優(yōu)勢轉(zhuǎn)移到混合單元挑選合成中。
Siri 的 TTS 系統(tǒng)的目標(biāo)是訓(xùn)練出一個(gè)基于深度學(xué)習(xí)的一體化模型,該模型可以自動(dòng)準(zhǔn)確預(yù)測數(shù)據(jù)庫中單元的目標(biāo)損失和拼接損失。我們沒有采用 HMM ,而是使用深度的混合密度網(wǎng)絡(luò)(mixture density network,MDN )來預(yù)測特征值的分布。MDN 是卷積深度神經(jīng)網(wǎng)絡(luò)(DNN)和高斯混合模型(Gaussian mixture models,GMM)的組合。
卷積 DNN 是一種人工神經(jīng)網(wǎng)絡(luò),它的輸入層和輸出層之間有很多隱藏的神經(jīng)元層。DNN 可以對輸入特征和輸出特征之間的復(fù)雜非線性關(guān)系進(jìn)行建模。使用反向傳播法調(diào)整網(wǎng)絡(luò)的權(quán)重,是訓(xùn)練 DNN 的常用方法。與 DNN 相反,在給定一系列高斯分布的輸入數(shù)據(jù)下,GMM 對輸出數(shù)據(jù)的概率分布進(jìn)行建模,而 GMM 的訓(xùn)練通常采用最大期望算法(Expectation maximization,EM)。
MDN 則使用 DNN 對輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的復(fù)雜關(guān)系進(jìn)行建模,但是將概率分布作為輸出(見圖5),它很好地結(jié)合了 DNN 和 GMM 各自的優(yōu)點(diǎn)。
圖5:用于建模指導(dǎo)單元選擇合成的語音特征均值和偏差的深度混合密度網(wǎng)絡(luò)
在 Siri 的開發(fā)中,我們使用了一種基于 MDN 的一體化目標(biāo)和拼接模型,這個(gè)模型可以預(yù)測語音特征(波譜、音調(diào)和時(shí)長)以及單元間的拼接損失,為單元搜索提供指導(dǎo)。由于 MDN 的輸出形式為高斯概率分布,我們可以將概率作為目標(biāo)損失和拼接損失的損失函數(shù):
在這個(gè)損失函數(shù)中, xi 是第 i 個(gè)目標(biāo)特征,μi 是預(yù)測的均值,σi2 是預(yù)測的偏差。在實(shí)際成本計(jì)算中,使用負(fù)對數(shù)似然值(negative log-likelihood),以及消除常量項(xiàng)更易于計(jì)算,然后我們就得出以下這個(gè)簡化后的成本函數(shù):
其中wi為特征權(quán)重。
當(dāng)我們考慮語音的自然度時(shí),這種方法的優(yōu)勢會(huì)愈發(fā)明顯。有時(shí)語音特征(如共振峰)相當(dāng)穩(wěn)定,其演變也很緩慢,例如元音就是這樣。
而有些時(shí)候語音的變化非常快,例如有聲語音和無聲語音之間的轉(zhuǎn)變??紤]到這種變化性,模型需要能夠根據(jù)前面提到的變化性對其參數(shù)作出調(diào)整,深度 MDN 的做法是在模型中嵌入方差。
由于預(yù)測的參數(shù)是依賴于上下文的,我們可以將它們視為損失的自動(dòng)上下文權(quán)重。這對改進(jìn)語音合成質(zhì)量很重要,因?yàn)槲覀兿M茚槍Ξ?dāng)前的上下文計(jì)算其目標(biāo)損失和拼接損失??倱p失為目標(biāo)損失和拼接損失的加權(quán)和:
在上面這個(gè)公式中,wt 和 wc 分別為目標(biāo)損失和拼接損失的權(quán)重。在最終的公式中,目標(biāo)損失的作用是確保在合成語音中正確復(fù)制韻律(語調(diào)和時(shí)長),拼接損失的作用是確保韻律的流暢和拼接的平滑。
在使用深度 MDN 根據(jù)總成本對單元進(jìn)行評(píng)分后,我們通過傳統(tǒng)的維特比(Viterbi)搜索尋找單元的最佳路徑。然后,我們使用波形相似重疊相加算法(waveform similarity overlap-add,WSOLA)找出最佳拼接時(shí)刻,以此生成平滑且連續(xù)合成語音。
結(jié)論
我們?yōu)?nbsp;Siri 的新聲音搭建了一整套基于深度 MDN 系統(tǒng)的 TTS 混合單元挑選系統(tǒng)。用于訓(xùn)練的語音數(shù)據(jù)包括在 48KHz 的頻率下采樣的不少于 15 小時(shí)錄音。
我們采取了強(qiáng)制對齊的方式將這些語音數(shù)據(jù)分割成了一系列的半音素(half-phones),即自動(dòng)語音識(shí)別,它將輸入的語音序列與從語音信號(hào)中提取出的聲學(xué)特征進(jìn)行對準(zhǔn)。這個(gè)分割的過程根據(jù)語音數(shù)據(jù)的數(shù)量產(chǎn)生了1~2百萬的半音素單元。
為了引導(dǎo)這個(gè)單元選擇的過程,我們采用了深度 MDN 架構(gòu)來訓(xùn)練統(tǒng)一的目標(biāo)和級(jí)聯(lián)模型。其中,深度 MDN 的輸入主要由一系列具備額外的連續(xù)性特征的二進(jìn)制數(shù)值構(gòu)成。
這些特征代表了一系列在語句中多元音素(quinphones)信息(2個(gè)前向、當(dāng)前以及2個(gè)后續(xù)音素),音節(jié)、單詞、短語和句級(jí)的信息,以及額外的重讀和強(qiáng)調(diào)特征。而輸出向量則主要由以下幾種聲學(xué)特征組成:美爾倒譜系數(shù)(MFCCs),美爾差分倒譜系數(shù)(delta-MFCCs),基頻(fundamental frequency - f0)和差分基頻(delta-f0)(包含每個(gè)單元的開始和結(jié)束的值),以及每個(gè)單元的持續(xù)時(shí)間。
由于我們采取了 MDN 作為我們的聲學(xué)模型,因此輸出上還包含了作為自動(dòng)上下文相關(guān)權(quán)重的每個(gè)特征的方差值。
另外,由于語音區(qū)域的基頻處理高度依賴語句的整體性,因此為了讓合成的語音中能夠具備自然而又活潑的語調(diào),我們采用了一種更為復(fù)雜的深層 MDN 對 f0 特征進(jìn)行建模。
這個(gè)用于訓(xùn)練的深度 MDN 網(wǎng)絡(luò)架構(gòu)包含了 3 個(gè)由 512 個(gè) ReLU 單元組成的隱藏層,用于處理其非線性特征。此外,輸入和輸出的特征都在訓(xùn)練前進(jìn)行了均值化和方差歸一化處理。最終的單元挑選聲音(unit selection voice)由包含特征和每個(gè)單元的語音數(shù)據(jù)的單元數(shù)據(jù)庫、以及訓(xùn)練好的深度 MDN 模型組成。
新的 TTS 系統(tǒng)的聲音質(zhì)量要優(yōu)于過去的 Siri 系統(tǒng)。在一次主觀性的 AB 測試中,被測者們明顯更加傾向于基于深度 MDN 所產(chǎn)生的聲音。我們將結(jié)果展示在圖6 中。更好的聲音質(zhì)量可歸功于 TTS 系統(tǒng)的多重改進(jìn),例如,基于深度 MDN 的后端系統(tǒng)能夠挑選出更好的選擇和級(jí)聯(lián)單元,更高的采樣率(22kHz vs 48kHz),還有更好的音頻壓縮。
圖6:AB 主觀性測試的結(jié)果,相對于老聲音,新聲音在評(píng)比中更勝一籌。
由于 TTS 系統(tǒng)需要在移動(dòng)設(shè)備上運(yùn)行,我們采用了快速預(yù)選、單元修剪及并行計(jì)算技術(shù)來提升其運(yùn)行速度、內(nèi)存占用及空間占用等一系列運(yùn)行表現(xiàn)。
新的聲音
在 iOS 11 中, 為了提升 Siri 聲音的自然度及表達(dá)能力,我們選擇了一位新的女性聲優(yōu)來到達(dá)這個(gè)目的。在選出最好的候選人之前,我們評(píng)估了上百位的候選人,然后錄制了超過 20 小時(shí)的聲音,并使用新的基于深度學(xué)習(xí)的 TTS 技術(shù)創(chuàng)建了新的 TTS 語音。結(jié)果表明,這種新的帶有美式英語風(fēng)味的 Siri 聲音比任何時(shí)候都要好。表1 包含了與傳統(tǒng)的 iOS 9 提供的語音相比,iOS 11 和 iOS 10 中 Siri 聲音的幾個(gè)例子。
更多新版 Siri 處理文本到語音發(fā)聲的更多細(xì)節(jié),可以參閱我們發(fā)表的論文“Siri On-Device Deep Learning-Guided Unit Selection Text-to-Speech System”。
iOS 11中 Siri 新聲音的示例(請點(diǎn)擊原文鏈接收聽)
參考文獻(xiàn)
[1] A. J. Hunt, A. W. Black. Unit selection in a concatenative speech synthesis system using a large speech database, ICASSP, 1996.
[2] H. Zen, K. Tokuda, A. W. Black. Statistical parametric speech synthesis Speech Communication, Vol. 51, no. 11, pp. 1039-1064, 2009.
[3] S. King, Measuring a decade of progress in Text-to-Speech, Loquens, vol. 1, no. 1, 2006.
[4] A. van den Oord, S. Dieleman, H. Zen, K. Simonyan, O. Vinyals, A. Graves, N. Kalchbrenner, A. W. Senior, K. Kavukcuoglu. Wavenet: A generative model for raw audio, arXiv preprint arXiv:1609.03499, 2016.
[5] Y. Qian, F. K. Soong, Z. J. Yan. A Unified Trajectory Tiling Approach to High Quality Speech Rendering, IEEE Transactions on Audio, Speech, and Language Processingv, Vol. 21, no. 2, pp. 280-290, Feb. 2013.
[6] X. Gonzalvo, S. Tazari, C. Chan, M. Becker, A. Gutkin, H. Silen, Recent Advances in Google Real-time HMM-driven Unit Selection Synthesizer, Interspeech, 2016.
[7] C. Bishop. Mixture density networks, Tech. Rep. NCRG/94/004, Neural Computing Research Group. Aston University, 1994.
[8] H. Zen, A. Senior. Deep mixture density networks for acoustic modeling in statistical parametric speech synthesis, ICASSP, 2014.
[9] T. Capes, P. Coles, A. Conkie, L. Golipour, A. Hadjitarkhani, Q. Hu, N. Huddleston, M. Hunt, J. Li, M. Neeracher, K. Prahallad, T. Raitio, R. Rasipuram, G. Townsend, B. Williamson, D. Winarsky, Z. Wu, H. Zhang. Siri On-Device Deep Learning-Guided Unit Selection Text-to-Speech System, Interspeech, 2017.