基於深度前饋序列記憶網絡,如何將語音合成速度提升四倍? 頂 原

摘要: 研究背景 語音合成系統主要分爲兩類,拼接合成系統和參數合成系統。其中參數合成系統在引入了神經網絡作爲模型之後,合成質量和自然度都獲得了長足的進步。另一方面,物聯網設備(例如智能音箱和智能電視)的大量普及也對在設備上部署的參數合成系統提出了計算資源的限制和實時率的要求。

研究背景

語音合成系統主要分爲兩類,拼接合成系統和參數合成系統。其中參數合成系統在引入了神經網絡作爲模型之後,合成質量和自然度都獲得了長足的進步。另一方面,物聯網設備(例如智能音箱和智能電視)的大量普及也對在設備上部署的參數合成系統提出了計算資源的限制和實時率的要求。本工作引入的深度前饋序列記憶網絡可以在保持合成質量的同時,有效降低計算量,提高合成速度。

我們使用基於雙向長短時記憶單元(BLSTM)的統計參數語音合成系統作爲基線系統。與其他現代統計參數語音合成系統相似,我們提出的基於深度前饋序列記憶網絡(DFSMN)的統計參數語音合成系統也是由3個主要部分組成,聲音合成器(vocoder),前端模塊和後端模塊,如上圖所示。我們使用開源工具WORLD作爲我們的聲音合成器,用來在模型訓練時從原始語音波形中提取頻譜信息、基頻的對數、頻帶週期特徵(BAP)和清濁音標記,也用來在語音合成時完成從聲學參數到實際聲音的轉換。前端模塊用來對輸入的文本進行正則化和詞法分析,我們把這些語言學特徵編碼後作爲神經網絡訓練的輸入。後端模塊用來建立從輸入的語言學特徵到聲學參數的映射,在我們的系統中,我們使用DFSMN作爲後端模塊。

深度前饋序列記憶網絡

緊湊前饋序列記憶網絡(cFSMN)作爲標準的前饋序列記憶網絡(FSMN)的改進版本,在網絡結構中引入了低秩矩陣分解,這種改進簡化了FSMN,減少了模型的參數量,並加速了模型的訓練和預測過程。

上圖給出了cFSMN的結構的圖示。對於神經網絡的每一個cFSMN層,計算過程可表示成以下步驟①經過一個線性映射,把上一層的輸出映射到一個低維向量②記憶模塊執行計算,計算當前幀之前和之後的若干幀和當前幀的低維向量的逐維加權和③把該加權和再經過一個仿射變換和一個非線性函數,得到當前層的輸出。三個步驟可依次表示成如下公式。

與循環神經網絡(RNNs,包括BLSTM)類似,通過調整記憶模塊的階數,cFSMN有能力捕捉序列的長程信息。另一方面,cFSMN可以直接通過反向傳播算法(BP)進行訓練,與必須使用沿時間反向傳播算法(BPTT)進行訓練的RNNs相比,訓練cFSMN速度更快,且較不容易受到梯度消失的影響。

對cFSMN進一步改進,我們得到了深度前饋序列記憶網絡(DFSMN)。DFSMN利用了在各類深度神經網絡中被廣泛使用的跳躍連接(skip-connections)技術,使得執行反向傳播算法的時候,梯度可以繞過非線性變換,即使堆疊了更多DFSMN層,網絡也能快速且正確地收斂。對於DFSMN模型,增加深度的好處有兩個方面。一方面,更深的網絡一般來說具有更強的表徵能力,另一方面,增加深度可以間接地增大DFSMN模型預測當前幀的輸出時可以利用的上下文長度,這在直觀上非常有利於捕捉序列的長程信息。具體來說,我們把跳躍連接添加到了相鄰兩層的記憶模塊之間,如下面公式所示。由於DFSMN各層的記憶模塊的維數相同,跳躍連接可由恆等變換實現。

我們可以認爲DFSMN是一種非常靈活的模型。當輸入序列很短,或者對預測延時要求較高的時候,可以使用較小的記憶模塊階數,在這種情況下只有當前幀附近幀的信息被用來預測當前幀的輸出。而如果輸入序列很長,或者在預測延時不是那麼重要的場景中,可以使用較大的記憶模塊階數,那麼序列的長程信息就能被有效利用和建模,從而有利於提高模型的性能。

除了階數之外,我們爲DFSMN的記憶模塊增加了另一個超參數,步長(stride),用來表示記憶模塊提取過去或未來幀的信息時,跳過多少相鄰的幀。這是有依據的,因爲與語音識別任務相比,語音合成任務相鄰幀之間的重合部分甚至更多。

上文已經提到,除了直接增加各層的記憶模塊的階數之外,增加模型的深度也能間接增加預測當前幀的輸出時模型可以利用的上下文的長度,上圖給出了一個例子。

實驗

在實驗階段,我們使用的是一個由男性朗讀的中文小說數據集。我們把數據集劃分成兩部分,其中訓練集包括38600句朗讀(大約爲83小時),驗證集包括1400句朗讀(大約爲3小時)。所有的語音數據採樣率都爲16k赫茲,每幀幀長爲25毫秒,幀移爲5毫秒。我們使用WORLD聲音合成器逐幀提取聲學參數,包括60維梅爾倒譜系數,3維基頻的對數,11維BAP特徵以及1維清濁音標記。我們使用上述四組特徵作爲神經網絡訓練的四個目標,進行多目標訓練。前端模塊提取出的語言學特徵,共計754維,作爲神經網絡訓練的輸入。

我們對比的基線系統是基於一個強大的BLSTM模型,該模型由底層的1個全連接層和上層的3個BLSTM層組成,其中全連接層包含2048個單元,BLSTM層包含2048個記憶單元。該模型通過沿時間反向傳播算法(BPTT)訓練,而我們的DFSMN模型通過標準的反向傳播算法(BP)訓練。包括基線系統在內,我們的模型均通過逐塊模型更新過濾算法(BMUF)在2塊GPU上訓練。我們使用多目標幀級別均方誤差(MSE)作爲訓練目標。

所有的DFSMN模型均由底層的若干DFSMN層和上的2個全連接層組成,每個DFSMN層包含2048個結點和512個投影結點,而每個全連接層包含2048個結點。在上圖中,第三列表示該模型由幾層DFSMN層和幾層全連接層組成,第四列表示該模型DFSMN層的記憶模塊的階數和步長。由於這是FSMN這一類模型首次應用在語音合成任務中,因此我們的實驗從一個深度淺且階數小的模型,即模型A開始(注意只有模型A的步長爲1,因爲我們發現步長爲2始終稍好於步長爲1的相應模型)。從系統A到系統D,我們在固定DFSMN層數爲3的同時逐漸增加階數。從系統D到系統F,我們在固定階數和步長爲10,10,2,2的同時逐漸增加層數。從系統F到系統I,我們固定DFSMN層數爲10並再次逐漸增加階數。在上述一系列實驗中,隨着DFSMN模型深度和階數的增加,客觀指標逐漸降低(越低越好),這一趨勢非常明顯,且系統H的客觀指標超過了BLSTM基線。

另一方面,我們也做了平均主觀得分(MOS)測試(越高越好),測試結果如上圖所示。主觀測試是通過付費衆包平臺,由40個母語爲中文的測試人員完成的。在主觀測試中,每個系統生成了20句集外合成語音,每句合成語音由10個不同的測試人員獨立評價。在平均主觀得分的測試結果表明,從系統A到系統E,主觀聽感自然度逐漸提高,且系統E達到了與BLSTM基線系統一致的水平。但是,儘管後續系統客觀指標持續提高,主觀指標只是在系統E得分的上下波動,沒有進一步提高。

結論

根據上述主客觀測試,我們得到的結論是,歷史和未來信息各捕捉120幀(600毫秒)是語音合成聲學模型建模所需要的上下文長度的上限,更多的上下文信息對合成結果沒有直接幫助。與BLSTM基線系統相比,我們提出的DFSMN系統可以在獲得與基線系統一致的主觀聽感的同時,模型大小隻有基線系統的1/4,預測速度則是基線系統的4倍,這使得該系統非常適合於對內存佔用和計算效率要求很高的端上產品環境,例如在各類物聯網設備上部署。

阿里雲雙十一1折拼團活動:已滿6人,都是最低折扣了

【滿6人】1核2G雲服務器99.5元一年298.5元三年 2核4G雲服務器545元一年 1227元三年

【滿6人】1核1G MySQL數據庫 119.5元一年

【滿6人】3000條國內短信包 60元每6月

參團地址:http://click.aliyun.com/m/1000020293/

原文鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章