陶建華:深度神經網絡與語音(附PPT)

原文地址→https://mp.weixin.qq.com/s/o5UAnIOuDsjBWjsKg8wYCg
關注微信公眾號:人工智能前沿講習,

對話框回覆:“陶建華”,獲取完整版PPT



導讀

在中國人工智能學會舉辦的《人工智能前沿講習班》,中科院自動化研究所陶建華老師做了題為《深度神經網絡與語音》的報告。陶建華老師在報告中主要介紹了深度神經網絡在語音識別、語音合成、語音增強等方面的發展與應用現狀。本文根據陶建華老師當日報告內容整理發佈,對相關領域的研究工作具有長期價值。


講師簡介

陶建華,中科院自動化所模式識別國家重點實驗室副主任、研究員、博士生導師、國家傑出青年基金獲得者。先後負責和參與國家級項目(863計劃、國家自然科學基金、國際合作)40餘項,在包括IEEE Transaction on ASLP、ICASSP、ICSLP、ICCV等國內外學術期刊和會議上發表論文150餘篇,論文和成果曾獲全國人機語音通訊學術會議優秀論文一等獎、全國信號處理學術會議優秀論文獎、北京市科技進步二等獎等。

講習班 | 陶建華:深度神經網絡與語音(附PPT)


一、神經網絡發展歷程

講習班 | 陶建華:深度神經網絡與語音(附PPT)

深度神經網絡是神經網絡發展的復興。在80-90年代,人工神經網絡有很多熱點,但當時學界認為,語音方面採用純機器學習方法無法達到很好的性能,因為淺層神經網絡能達到的性能非常清楚,數據規模也不樂觀。97年IBM推出的第一個商用語音識別輸入系統ViaVoice,訓練量僅為1000個小時,可見當時能夠處理的數據量和機器學習方法能達到的性能是有限的。

90年代到2000年初,神經網絡進入冬天。Hinton在2006年提出的DBN(Deep Belief Network)成為新的發展和契機。深度神經網絡在語音方面真正被重視是在2011年,微軟學者俞棟實現用深度神經網絡做語音識別的工作。這是深度神經網絡第一個成功的應用,使用不同類型的訓練集和測試集,識別詞錯誤率均穩定相對降低了20%-30%,引起巨大轟動。谷歌隨即也開展了這一工作。

此後就是卷積神經網絡(CNN)。深度CNN憑藉在ImageNet上圖片分類任務的出色表現為人熟知,因此很多人認為2012年是深度神經網絡的爆發性元年,實際上對語音來說2011年更為重要。深度機器學習方法在語音方面的應用經歷了不同的發展階段,每個階段有不同的變體,不同的模型甚至出現了組合應用,對整個語音的性能,包括識別、合成、增強等產生了很多影響。下面針對這幾個不同領域稍作回顧。


二、基於深度神經網絡的語音識別

2.1 語音識別回顧

講習班 | 陶建華:深度神經網絡與語音(附PPT)

語音識別首先對語音進行特徵提取,一般提取頻譜值。語音中頻譜值通常為梅爾倒譜參數,如MFCC、頻帶參數、子帶參數等,之後送入聲學模型識別出它大體是什麼音素或音節,但是由於同音不同字,故無法識別出它對應文字,所以引入語言模型,構建一個解碼搜索空間。根據利用大量文本數據訓練的語言模型,可以將聲學模型的音素或者音節有效地轉換為文字,有效提高識別正確率。這裡主要講深度神經網絡在聲學模型中的貢獻,先看語音識別這幾年的詞錯誤率。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

可以看到錯誤率每個階段會出現一個大下降。在上世紀90年代末到2000年初,朗讀語音識別錯誤率已有很大下降,但對話語音(ConversationalSpeech)識別錯誤率沒有大變化,直到深度學習出來後大幅降低。深度學習和語音的結合不是一步到位,首先介紹傳統語音識別中的混合高斯-隱馬爾科夫模型(GMM-HMM)

2.2 聲學模型

①.混合聲學模型

高斯混合模型-隱馬爾科夫模型(GMM-HMM):隱馬爾科夫模型(HMM)的參數主要包括狀態間的轉移概率以及每個狀態的概率密度函數,也叫出現概率,一般用高斯混合模型(GMM)表示。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

最上方為輸入語音的語譜圖,將語音第一幀代入一個狀態進行計算,得到出現概率,同樣方法計算每一幀的出現概率,圖中用灰色點表示。灰色點間有轉移概率,據此可計算最優路徑(圖中紅色箭頭),該路徑對應的概率值總和即為輸入語音經HMM得到的概率值。如果為每一個音節訓練一個HMM,語音只需要代入每個音節的模型中算一遍,哪個得到的概率最高即判定為相應音節,這也是傳統語音識別的方法。出現概率採用GMM,具有訓練速度快、模型小、易於移植到嵌入式平臺等優點,但缺點是沒有利用幀的上下文信息,缺乏深層非線性特徵變化的內容。GMM代表的是一種概率密度,它的侷限在於不能完整模擬出或記住相同音的不同人間的音色差異變化或發音習慣的變化。

深度神經網絡-隱馬爾科夫模型(RNN-HMM):俞棟將GMM替換為深層神經網絡DNN,性能提升很大,這是深度神經網絡在語音方面真正意義上的第一個應用。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

深度神經網絡通常與HMM綁定,深度神經網絡的輸出標籤通過HMM得到,一般為senones(綁定三音子),訓練數據由GMM-HMM模型進行幀對齊得到,即給每幀打上標籤(senones),訓練準則為交叉熵(CE)準則。深度神經網絡能利用幀的上下文信息,並能學習深層非線性特徵變換,缺點是不能利用歷史信息來輔助當前任務。

深度循環神經網絡-隱馬爾科夫模型(RNN-HMM):如上所述,單純用深層神經網絡沒有歷史信息來輔助當前任務,所以提出RNN-HMM模型。RNN增加了時間的反饋,能夠有效的利用時間的歷史信息,將歷史信息持久化,在很多任務上性能表現優於DNN,尤其是針對語音,因為語音具有很強的時序概念。但RNN隨層數的增加會出現梯度爆炸或梯度消失,難以訓練。也有人將長短時記憶模型LSTM融入RNN,LSTM採用一些控制門(輸入門、遺忘門和輸出門)來減少梯度累計的長度,一定程度上解決了RNN訓練時的梯度消失和擴散的問題。RNN是迄今為止語音識別最好的模型之一,它的變體LSTM和BLSTM的性能都是相對最好的。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

深度卷積神經網絡-隱馬爾科夫模型(CNN-HMM):卷積神經網絡CNN把視覺空間信息逐層抽象化,在視覺處理中起了很大作用,下面討論CNN為何能應用到語音處理。語音的時序狀態的波形可以轉化為頻譜,語音和語譜圖可以一一對應,即能從圖像上“看懂”語音。儘管每個人之間說話具有差異性,有不同的口音,但從語譜圖上能夠反映相似性,所以引入CNN成為可行的方式。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

CNN+LSTM+DNN達到了迄今為止已知報道中的最好識別結果。語音譜圖本身隱含時間特性,是時間延遲的圖像,所以應用於語音譜圖的CNN也叫時間延遲的卷積神經網絡,它能很好地對信號進行描述學習,也比其他深度神經網絡更能捕獲到特徵的不變性。谷歌、微軟、IBM均在2016年發表成果證明非常深的CNN聲學模型已超越其它深度神經網絡聲學模型。

目前提到的深度神經網絡依然和HMM進行了結合,僅僅把GMM替代了。它的訓練過程還要依賴於傳統的GMM-HMM的強制對齊信息,即利用GMM-HMM對每幀語音打一個標籤,再利用這種有標籤的數據訓練深度神經網絡,但這種方式依然是目前性能最好的方法之一。

②.端到端聲學模型

連接時序分類-長短時記憶模型(CTC-LSTM):漢語有調音節約為1300個,為每個音節訓練一個深度神經網絡並不困難。但訓練一句話時,需要找到這句話中每個音節發音的起始和終止位置,幾萬小時數據需要的人工標註量巨大。因此,2014年CTC訓練準則引入深度神經網絡,主要針對LSTM模型。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

CTC準則只需要輸入和輸出在句子級別對齊,將句子中多個音節的神經網絡串在一起,整句話直接送到這個深度神經網絡組合中訓練,算法能自動將每個音節與相關語音幀對齊,不需要先用GMM-HMM進行幀對齊,訓練過程簡潔。CTC還引入blank概念,即靜音段或音節間的過渡段。約90%的幀對應輸出為blank。對blank進行跳幀,可跳過絕大多數的靜音段或過渡段,將有價值的聲音堆積到某幾幀語音上,加快解碼速度。因解碼速度快,識別性能較優,工業界大多采用CTC-LSTM模型。

注意力模型(Attention):在基於RNN的Encoder-Decoder模型的基礎上引入Attention機制,能從RNN的歷史信息中挑選重要信息,抑制非重要信息。此方法接近人腦思維活動,思想有趣,模型優雅,訓練步驟減少,但語音識別精度較低。

③.模型訓練並行計算方法

深度神經網絡訓練時間長,需要並行計算加速。主要方法有多機共享存儲、同步隨機梯度下降和異步隨機梯度下降。

多機共享存儲:每個機器單獨訓練模型,將訓練參數取均值。優點是實現簡單,各個模型互不干擾,某個機器模型訓練失敗只需單獨重新訓練,缺點是頻繁存儲和讀取磁盤文件,佔用大量I/O帶寬,訓練速度慢。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

同步隨機梯度下降(MPI):多進程訓練,每個進程訓練結束後將參數在服務器上平均後對所有進程重新同步,其他機器在這個新的參數基礎上訓練。該方法實現難度適中,模型參數在內存中進行同步和操作,訓練速度快,精度損失較小。但一旦某臺機器模型訓練失敗,所有機器需從頭開始訓練。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

異步隨機梯度下降(參數服務器):多進程訓練,模型可以分塊更新。模型參數採用異步更新方式,某臺機器訓練失敗不需要所有機器重新訓練。該方法實現難度較大,需要過硬的軟件和硬件資源,通常大企業才有實力開發,是現在工業界如谷歌、微軟、阿里、百度等的主流訓練方法。

講習班 | 陶建華:深度神經網絡與語音(附PPT)


三、基於深度神經網絡的語音合成

3.1 語音合成簡介

講習班 | 陶建華:深度神經網絡與語音(附PPT)

將文本送到計算機,經過一個模型得到參數,該參數經過聲碼器可產生聲音,這就是語音合成的基本過程。

3.2 語音合成方法

①.基於波形拼接的方法

成句地錄製各種聲音,需要合成某句話中某個字的音時,可以根據這個字豐富的上下文信息,如在短語中的位置、詞性等在錄製的音庫中找到相似的聲音。用同樣方式找到所有音節拼在一起形成整句話發音。此方法優點是聲音清晰,缺點是聲音之間可能不連貫,或找到的音僅是相似但不是最理想的,導致合成的聲音忽高忽低。

②.基於HMM統計參數的語音合成

講習班 | 陶建華:深度神經網絡與語音(附PPT)

基於HMM統計參數的語音合成簡單來說將HMM的高斯混合函數的均值作為語音參數來生成語音。此方法在2001年發表,但當時效果較差,經改善在2004-2005年的時候超過了拼接法。該方法優點是合成聲音圓潤,缺點是受限於聲碼器、HMM建模不準確,最重要的是生成參數不夠平滑,不具有表現力,合成聲音發悶。

③.基於深度神經網絡的語音合成

類似語音識別,將高斯函數替換為深度神經網絡,逐幀預測輸出。特點是輸入和輸出參數通過訓練好的HMM模型進行幀對齊處理,神經網絡的訓練準則為最小均方誤差(MSE)。下面介紹幾個代表性的聲學建模模型。

深度信念網絡(DBN):用DBN替換GMM,用DBN構建文本參數到語音參數之間的映射。

深度混合密度網絡(DMDN):如圖,前面是DNN,但輸出層的參數經過簡單計算可以對應到高斯函數的參數(均值、方差)上,尤其是多高斯混合時每個高斯的權重都都可以通過輸出層參數簡單地公式映射得到,可以認為網絡輸出就是高斯混合函數的參數。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

該方法的好處是,輸入文本經過分析和預處理後送到DMDN模型中,輸出不是語音生成參數而是高斯混合函數參數,在此基礎上利用傳統HMM思路生成語音,性能提高很多。

總體來說,語音生成是連續動態過程,需要考慮語義、句法、詞性等信息,這些信息與其所在的上下文信息關聯性很強,所以語音合成時需要考慮文本的一系列上下文的內容以及聲學層中歷史信息的影響,所以DBLSTM-RNN相對效果更好。

深度雙向長短時記憶網絡(DBLSTM-RNN):優勢在於能完全做到端到端,較之前的網絡跳過了參數生成算法。語音合成需要對文本做很多處理,如分析短語邊界、詞性、拼音等,通常使用貝葉斯決策、條件隨機場、最大熵等方法,這些都可以用深度神經網絡代替。聲學層再做一個深度神經網絡,將兩個網絡嫁接即可,不需要HMM,輸入文本,經神經網絡輸出語音參數,再經聲碼器就可得到很好的聲音。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

谷歌WaveNet:主要思想如下,語音的波形就是一個個採樣點,每個採樣點都受前面一系列採樣點約束,存在條件概率密度函數,波形的聯合概率可用條件概率分佈的乘積來建模。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

WaveNet將條件概率分佈用多層卷積層建模,輸出層不是普通意義上採樣的語音波形,而是採用μ-律壓縮後的結果。訓練的細節包括用殘差反饋進行區分性訓練,以及採用skip connections,跳躍某些時序特徵的約束,增多訓練層數,最後採用Conditional WaveNet激活函數將信息綜合起來訓練。WaveNet的結果超過之前所有系統。詳細內容參考文獻:Oord A V D, Dieleman S, Zen H, et al. WaveNet: A Generative Model for Raw Audio[J]. 2016.

講習班 | 陶建華:深度神經網絡與語音(附PPT)

圖為WaveNet採用的dilated causal convolutional layers


四、基於深度神經網絡的語音增強

語音增強是指語音信號被不同噪聲干擾甚至淹沒後,從噪聲背景中提取有用語音信號,抑制噪聲干擾的技術。噪聲類型包括混響、背景噪聲、人聲干擾、回聲等。近兩年深度神經網絡被用於語音增強。將帶噪語音輸入,輸出原乾淨聲音,訓練DNN,建立帶噪語音與安靜語音對數功率譜的映射關係,結果相比傳統的子帶譜減法、維納濾波法、logmmse法等更能有效抑制非平穩噪聲。

講習班 | 陶建華:深度神經網絡與語音(附PPT)

目前應用於語音識別的語音增強方法,一般分為兩種:一是語音增強和識別單獨訓練,二是語音增強和識別聯合訓練。一般後者的性能優於前者。

講習班 | 陶建華:深度神經網絡與語音(附PPT)


五、基於深度神經網絡的說話人識別

講習班 | 陶建華:深度神經網絡與語音(附PPT)

說話人識別中的經典方法是I-Vector,I-Vector建模方式稱為全局差異空間建模(Total Variability Modeling, TVM),採用該方法提取的I-Vector記為TVM-I-Vector。在基於TVM-I-Vector的聲紋識別系統中,我們一般可以分為三個步驟。第一步是統計量的提取,第二步是提取I-Vector,第三步是進行信道補償技術。統計量的提取是指將語音數據的特徵序列,比如MFCC特徵序列,用統計量來進行描述,提取的統計量屬於高維特徵,然後經過TVM建模,投影至低維空間中得到I-Vector。在TVM-I-Vector建模中,統計量的提取是以UBM為基礎的,根據UBM的均值及方差進行相應統計量的計算。基於DNN的說話人識別的基本思想是取代TVM中的UBM產生幀級後驗概率。即採用DNN進行幀級對齊的工作,繼而計算訓練數據的統計量,進行全局差異空間的訓練以及I-Vector的提取。目前沒有詳細證據證明深度神經網絡或組合i-vector的深度神經網絡性能一定優於i-vector方法,可能原因是說話人識別中信道干擾較多,難以蒐集足夠數據訓練深度神經網絡。


六、基於深度神經網絡的語種識別

普遍認為將語音頻譜變化為類似圖像的方式的語譜圖,採用CNN方法能得到最好的語種識別結果。

講習班 | 陶建華:深度神經網絡與語音(附PPT)


七、展望

語音識別方面,將大數據模型知識遷移到小數據上非常重要;語音合成方面,如何合成多風格、富有情感的語音和口語語音;語音增強方面,真實環境中人對語音生成、聽覺感知和認知的機理,以及實現真正的人-人、人機無障礙交流通信,還有很多問題需要解決。我們需要在深度學習方法中持續努力,也需要探索新的方法,更多分析深層次的物理問題。


Q&A

問1:對於語音識別,深度模型相比傳統模型佔優勢的數據拐點大約是多長時間的信號?

陶老師:語音具有一定規律性,通過“記憶”的方式能記住更多人發相同音時的頻譜分佈,因此深度學習方法提高語音識別性能並不奇怪。不是數據量增加才提高,而是早期在100甚至幾十小時的數據上證明性能提高後才增大數據量,探索什麼情況下性能提高更大。

問2:語音控制無人機在噪聲環境下如何降噪?

陶老師:硬件降噪永遠是最好的解決方案。軟件降噪有兩個思路,一種是採用報告中提到的降噪方法,另外一種是語音識別訓練時用融合噪聲的數據做訓練,這樣輸入帶噪聲語音數據能達到相對較好性能,但不如降噪方法。

問3:深度學習在商業化中的應用發展遠超過高校做研究的速度,高校研究人員如何彌補這一鴻溝?

陶老師:這是學術界公共問題。第一,高校研究人員需要考慮深度學習以外的問題,要對機器學習進行更深層次的分析,探索新的解決思路;第二,加強同企業的合作很必要。


陶建華老師的心得分享

1.深度學習有很多潛力未被髮掘,但也要對深度機器學習方法以後面臨的新挑戰有充分的思想和預期。

2.深度學習依賴於大數據,但不能迷信大數據,要留心“大數據陷阱”。

3.深度機器學習隨著開源工具的廣泛使用,學習和應用門檻越來越低,這讓人工智能更受重視,但也變得更廉價,如果學術界沒有更多更新的創新,“冬天”就會到來。要思考深度學習之後,我們還要做什麼新的內容。

講習班 | 陶建華:深度神經網絡與語音(附PPT)


分享到:


相關文章: