Siri 是一個使用語音合成技術與人類進行交流的個人助手。從 iOS 10 開始,蘋果已經在 Siri 的語音中用到了深度學習,iOS 11 中的 Siri 依然延續這一技術。使用深度學習使得 Siri 的語音變的更自然、流暢,更人性化。機器之心對蘋果期刊的該技術部落格進行了介紹,更詳細的技術請檢視原文。
介紹
語音合成,也就是人類聲音的人工產品,被廣泛應用於從助手到遊戲、娛樂等各種領域。最近,配合語音識別,語音合成已經成為了 Siri 這樣的語音助手不可或缺的一部分。
如今,業內主要使用兩種語音合成技術:單元選擇 [1] 和引數合成 [2]。單元選擇語音合成技術在擁有足夠高質量錄音時能夠合成最高質量的語音,也因此成為商業產品中最常用的語音合成技術。另外,引數合成能夠提供高度可理解的、流暢的語音,但整體質量略低。因此,在語料庫較小、低佔用的情況下,通常使用引數合成技術。現代的單元選擇系統結合這兩種技術的優勢,因此被稱為混合系統。混合單元選擇方法類似於傳統的單元選擇技術,但其中使用了引數合成技術來預測選擇的單元。
近期,深度學習對語音領域衝擊巨大,極大的超越了傳統的技術,例如隱馬爾可夫模型。引數合成技術也從深度學習技術中有所收益。深度學習也使得一種全新的語音合成技術成為了可能,也就是直接音波建模技術(例如 WaveNet)。該技術極有潛力,既能提供單元選擇技術的高質量,又能提供引數選擇技術的靈活性。然而,這種技術計算成本極高,對產品而言還不成熟。為了讓所有平臺的 Siri 語音提供最佳質量,蘋果邁出了這一步,在裝置中的混合單元選擇系統上使用了深度學習。
蘋果深度語音合成技術工作原理
為個人助手建立高質量的文字轉語音(TTS)系統並非簡單的任務。首先,第一個階段是找到專業的播音人才,她/他的聲音既要悅耳、易於理解,又要符合 Siri 的個性。為了覆蓋各種人類語音,我們首先在錄音棚中記錄了 10-20 小時的語音。錄製的指令碼從音訊簿到導航指導,從提示答案到笑話,不一而足。通常來說,這種天然的語音不能像錄製的那樣使用,因為不可能錄製助手會說的每一句話。因此,單元選擇 TTS 系統把記錄的語音切片成基礎元件,比如半音素,然後根據輸入文字把它們重新結合,創造全新的語音。在實踐中,選擇合適的音素並組合起來並非易事,因為每個音素的聲學特徵由相鄰的音素、語音的韻律所決定,這通常使得語音單元之間不相容。圖 1 展示瞭如何使用被分割為半音素的資料庫合成語音。
圖 1:展示了使用半音素進行單元選擇語音合成。合成的發音是「Unit selection synthesis」,圖的頂部是使用半音素的標音法。相應的合成波形與光譜圖在圖下部分。豎線劃分的語音段是來自資料集的持續語音段,資料集可能包含一個或多個半音素。
單元選擇 TTS 技術的基本難題是找到一系列單元(例如,半音素),既要滿足輸入文字、預測目標音韻,又要能夠在沒有明顯錯誤的情況下組合在一起。傳統方式上,該流程包含兩部分:前端和後端(見圖 2),儘管現代系統中其界限可能會很模糊。前端的目的是基於原始文字輸入提供語音轉錄和音韻資訊。這包括將包含數字、縮寫等在內的原始文字規範化寫成單詞,並向每個單詞分配語音轉錄,解析來自文字的句法、音節、單詞、重音、分句。要注意,前端高度依賴語言。
圖 2:文字轉語音合成流程。
使用由文字分析模組建立的符號語言學表徵,音韻生成模組預測音調、音長等聲學特徵的值。這些值被用於選擇合適的單元。單元選擇的任務極其複雜,所以現代的合成器使用機器學習方法學習文字與語音之間的一致性,然後根據未知文字的特徵值預測其語音特徵值。這一模組必須要在合成器的訓練階段使用大量的文字和語音資料進行學習。音韻模型輸入的是數值語言學特徵,例如音素特性、音素語境、音節、詞、短語級別的位置特徵轉換為適當的數值形式。音韻模型的輸出由語音的數值聲學特徵組成,例如頻譜、基頻、音素時長。在合成階段,訓練的統計模型用於把輸入文字特徵對映到語音特徵,然後用來指導單元選擇後端流程,該流程中聲調與音長的合適度極其重要。
與前端不同,後端通常是語言獨立的。它包括單元選擇和波形拼接部分。當系統接受訓練時,使用強制對齊將錄製的語音和指令碼對齊(使用語音識別聲學模型)以使錄製的語音資料被分割成單獨的語音段。然後使用語音段建立單後設資料庫。使用重要的資訊,如每個單元的語言環境(linguistic context)和聲學特徵,將該資料庫進一步增強。我們將該資料叫作單元索引(unit index)。使用構建好的單後設資料庫和指導選擇過程的預測音韻特徵,即可在語音空間內執行 Viterbi 搜尋,以找到單元合成的最佳路徑(見圖 3)。
圖 3. 使用 Viterbi 搜尋在柵格中尋找單元合成最佳路徑。圖上方是合成的目標半音素,下面的每個框對應一個單獨的單元。Viterbi 搜尋找到的最佳路徑為連線被選中單元的線。
該選擇基於兩個標準:(1)單元必須遵循目標音韻;(2)在任何可能的情況下,單元應該在單元邊界不產生聽覺故障的情況下完成拼接。這兩個標準分別叫作目標成本和拼接成本。目標成本是已預測的目標聲學特徵和從每個單元抽取出的聲學特徵(儲存在單元索引中)的區別,而拼接成本是後項單元之間的聲學區別(見圖 4)。總成本按照如下公式計算:
其中 u_n 代表第 n 個單元,N 代表單元的數量,w_t 和 w_c 分別代表目標成本和拼接成本的權重。確定單元的最優順序之後,每個單元波形被拼接,以建立連續的合成語音。
圖 4. 基於目標成本和拼接成本的單元選擇方法。
Siri 新聲音背後的技術
因為隱馬爾可夫模型對聲學引數的分佈直接建模,所以該模型通常用於對目標預測 [5][6] 的統計建模,因此我們可以利用如 KL 散度那樣的函式非常簡單地計算目標成本。然而,基於深度學習的方法通常在引數化的語音合成中更加出色,因此我們也希望深度學習的優勢能轉換到混合單元選擇合成(hybrid unit selection synthesis)中。
Siri 的 TTS 系統的目標是訓練一個基於深度學習的統一模型,該模型能自動並準確地預測資料庫中單元的目標成本和拼接成本(concatenation costs)。因此該方法不使用隱馬爾可夫模型,而是使用深度混合密度模型(deep mixture density network /MDN)[7][8] 來預測特徵值的分佈。MDS 結合了常規的深度神經網路和高斯混合模型(GMM)。
常規 DNN 是一種在輸入層和輸出層之間有多個隱藏層的人工神經網路。因此這樣的深度神經網路才能對輸入特徵與輸出特徵之間的複雜和非線性關係建模。通常深度神經網路使用反向傳播演算法通過誤差的傳播而更新整個 DNN 的權重。相比之下,GMM 在使用一系列高斯分佈給定輸入資料的情況下,再對輸出資料的分佈進行建模。GMM 通常使用期望最大化(expectation maximization /EM)演算法執行訓練。MDN 結合了 DNN 和 GMM 模型的優點,即通過 DNN 對輸入和輸出之間的複雜關係進行建模,但是卻提高概率分佈作為輸出(如下圖 5)。
圖 5:用於對聲音特徵的均值和方差建模的深度混合密度網路,輸出的聲學均值和方差可用於引導單元選擇合成
對於 Siri 來說,我們使用了基於 MDN 統一的目標和拼接模型,該模型能預測語音目標特徵(頻譜、音高和音長)和拼接成本分佈,並引導單元的搜尋。因為 MDN 的分佈是一種高斯概率表分佈形式,所以我們能使用似然度函式作為目標和拼接成本的損失函式:
其中 x_i 是第 i 個目標特徵,μ_i 為預測均值而 (σ_i)^2 為預測方差。在實際的成本計算中,使用負對數似然函式和移除常數項將變得更加方便,經過以上處理將簡化為以下簡單的損失函式:
其中 w_i 為特徵權重。
當我們考慮自然語言時,這種方法的優勢將變得非常明顯。像母音那樣,有時候語音特徵(如話音素)相當穩定,演變也非常緩慢。而有時候又如有聲語音和無聲語音的轉換那樣變化非常迅速。考慮到這種變化性,模型需要能夠根據這種變化性對引數作出調整,深度 MDN 的做法是在模型中使用嵌入方差(variances embedded)。因為預測的方差是依賴於上下文的(context-dependent),所以我們將它們視為成本的自動上下文依賴權重。這對提升合成質量是極為重要的,因為我們希望在當前上下文下計算目標成本和拼接成本:
其中 w_t 和 w_c 分別為目標和拼接成本權重。在最後的公式中,目標成本旨在確保合成語音(語調和音長)中再現音韻。而拼接成本確保了流暢的音韻和平滑的拼接。
在使用深度 MDN 對單元的總成本進行評分後,我們執行了一種傳統的維特比搜尋(Viterbi search)以尋找單元的最佳路徑。然後,我們使用波形相似重疊相加演算法(waveform similarity overlap-add/WSOLA)找出最佳拼接時刻,因此生成平滑且連續合成語音。
結論
我們為 Siri 的新聲音搭建了一整套基於深度 MDN 的混合單元選擇 TTS 系統。訓練語音資料包括在 48KHz 的頻率下采樣的最少 15 小時高質量語音。我們採取了強制對齊的方式將這些語音資料分割為半音素(half-phones),即通過自動語音識別將輸入音素序列和從語音訊號抽取出的聲學特徵相匹配。這個分割的過程根據語音資料量產生 1~2 百萬的半音素單元。
為了引導單元的選擇過程,我們使用 MDN 架構訓練了統一的目標和拼接模型。深度 MDN 的輸入由帶有一些額外 continuously-valued 特徵的二值組成。該特徵表示一系列語句中的多母音素(quinphones)資訊(2 個過去的、現在的和對後的音素),音節、短語和句子級的資訊,還有額外的突出和重讀特徵。
輸出向量包含以下聲學特徵:梅爾倒頻譜系數(MFCC)、delta-MFCC、基頻(fundamental frequency - f0)和 delta-f0(包含每個單元的開始和結束的值),以及每個單元的音長時間。因為我們使用 MDN 作為聲學模型,所以輸出同樣包含每一個特徵的方差,並作為自動上下文依賴權重。
此外,語音區的基本頻率整體上高度依賴發音,為了建立語調自然生動的合成語音,我們部署了一個迴圈深度 MDN 模型以建模 f0 特徵。
訓練的深度 MDN 的架構包括 3 個隱藏層,每一層有 512 個修正線性單元(ReLU)作為非線性啟用函式。輸入特徵和輸出特徵在訓練前接受均值和方差歸一化處理。最終的單元選擇聲音包括單後設資料庫(含有每個單元的特徵和語音資料)和訓練的深度 MDN 模型。新的 TTS 系統的質量優於之前的 Siri 系統。在一個 AB 成對主觀聽力測試中,被試者明確地選擇基於深度 MDN 的新聲音,而不是之前的聲音。結果如圖 6 所示。質量的改善與 TTS 系統中的多個改進有關,如基於深度 MDN 的後端使得單元選擇和拼接變得更好,取樣率更高(22 kHz vs 48 kHz),音訊壓縮更好。
圖 6:AB 成對主觀聽力測試的結果。新聲音要顯著地優於以前版本的聲音。
因為 TTS 系統需要在移動裝置上執行,我們在速度、記憶體使用和佔用上使用快速預選機制、單元剪枝和計算並行化優化了它的執行時(Runtime)效能。
新聲音
對於 IOS 11,我們選擇了一位新的女性聲優來提升 Siri 聲音的自然度、個性度及表達能力。在選出最佳聲優之前,我們評估了成百上千的後選人。在選定之後,我們錄製了 20 多小時的語音並使用新的深度學習 TTS 技術構建了一個新的 TTS 聲音。最後,新的美式英語 Siri 聽起來要比以前好。下表包含一些語音的對比(無法展示,請檢視原文)。
更多技術詳情請檢視論文:Siri On-Device Deep Learning-Guided Unit Selection Text-to-Speech System[9]
表 1. iOS 11 中的 Siri 新聲音示例
References
[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.