1
本文作者: 大牛講堂 | 2016-09-22 09:52 |
雷鋒網(wǎng)按:本文作者牛建偉,地平線語音算法工程師。碩士畢業(yè)于西北工業(yè)大學(xué),曾任百度語音技術(shù)部資深工程師。主要工作方向是語音識別中聲學(xué)模型的算法開發(fā)和優(yōu)化,負責(zé)深度學(xué)習(xí)技術(shù)在聲學(xué)模型上的應(yīng)用和產(chǎn)品優(yōu)化。參與了百度最早的深度學(xué)習(xí)系統(tǒng)研發(fā),負責(zé)優(yōu)化語音搜索、語音輸入法等產(chǎn)品;后負責(zé)百度嵌入式語音開發(fā),其負責(zé)的離線語音識別性能超越競品?,F(xiàn)任地平線機器人語音識別算法工程師,深度參與地平線“安徒生”智能家居平臺的研發(fā)。
聲學(xué)模型
語音技術(shù)在近年來開始改變我們的生活和工作方式。對于某些嵌入式設(shè)備來說,語音成為了人機交互的主要方式。出現(xiàn)這種趨勢的原因,首先是計算能力的不斷提升,通用GPU等高計算能力設(shè)備的發(fā)展,使得訓(xùn)練更復(fù)雜、更強大的聲學(xué)模型(Acoustic Model, AM)變得可能,高性能的嵌入式處理器的出現(xiàn),使語音識別的終端應(yīng)用變得可能。
聲學(xué)模型是人工智能領(lǐng)域的幾大基本模型之一,基于深度學(xué)習(xí)的聲學(xué)模型發(fā)展對于人工智能的拓展和交互方式的延伸都有著十分重要的意義。本期的大牛講堂,我們邀請到地平線的語音算法工程師牛建偉為大家重磅科普何為聲學(xué)模型。
自動語音識別
自動語音識別(Automatic Speech Recognition, ASR)作為一個研究領(lǐng)域已經(jīng)發(fā)展了五十多年。這項技術(shù)的目標是將語音識別作為可以使得人與人、人與機器更順暢交流的橋梁。然而,語音識別技術(shù)在過去并沒有真正成為一種重要的人機交流形式,一部分原因是源于當(dāng)時技術(shù)的落后,語音技術(shù)在大多數(shù)實際用戶使用場景下還不大可用;另一部分原因是很多情況下使用鍵盤、鼠標這樣的形式交流比語音更有效、更準確,約束更小。
語音技術(shù)在近年來開始改變我們的生活和工作方式。對于某些嵌入式設(shè)備來說,語音成為了人機交互的主要方式。出現(xiàn)這種趨勢的原因:
首先是計算能力的不斷提升,通用GPU等高計算能力設(shè)備的發(fā)展,使得訓(xùn)練更復(fù)雜、更強大的聲學(xué)模型(Acoustic Model, AM)變得可能,高性能的嵌入式處理器的出現(xiàn),使得語音識別的終端應(yīng)用變得可能;
其次,借助近乎無處不在的互聯(lián)網(wǎng)和不斷發(fā)展的云計算,我們可以得到海量的語音數(shù)據(jù)資源,真實場景的數(shù)據(jù)使得語音識別系統(tǒng)變得更加魯棒;
最后,移動設(shè)備、可穿戴設(shè)備、智能家居設(shè)備、車載信息娛樂系統(tǒng)正變得越來越流行,在這些設(shè)備上,語音交互變成了一個無法避免的交互方式。
語音識別基本組成
語音識別系統(tǒng)主要有四部分組成:信號處理和特征提取、聲學(xué)模型、語言模型(Language Model, LM)和解碼器(Decoder)。
信號處理和特征提取部分以音頻信號為輸入,通過消除噪音、信道失真等對語音進行增強,將語音信號從時域轉(zhuǎn)化到頻域,并為后面的聲學(xué)模型提取合適的特征。聲學(xué)模型將聲學(xué)和發(fā)音學(xué)的知識進行整合,以特征提取模塊提取的特征為輸入,生成聲學(xué)模型得分。
語言模型估計通過重訓(xùn)練語料學(xué)習(xí)詞之間的相互概率,來估計假設(shè)詞序列的可能性,也即語言模型得分。如果了解領(lǐng)域或者任務(wù)相關(guān)的先驗知識,語言模型得分通常可以估計得更準確。解碼器對給定的特征向量序列和若干假設(shè)詞序列計算聲學(xué)模型得分和語言模型得分,將總體輸出分數(shù)最高的詞序列作為識別結(jié)果。
關(guān)于聲學(xué)模型,主要有兩個問題,分別是特征向量序列的可變長和音頻信號的豐富變化性??勺冮L特征向量序列問題在學(xué)術(shù)上通常有動態(tài)時間規(guī)劃(Dynamic Time Warping, DTW)和隱馬爾科夫模型(Hidden Markov Model, HMM)方法來解決。
而音頻信號的豐富變化性是由說話人的各種復(fù)雜特性或者說話風(fēng)格與語速、環(huán)境噪聲、信道干擾、方言差異等因素引起的。聲學(xué)模型需要足夠的魯棒性來處理以上的情況。
在過去,主流的語音識別系統(tǒng)通常使用梅爾倒譜系數(shù)(Mel-Frequency Cepstral Coefficient, MFCC)或者線性感知預(yù)測(Perceptual Linear Prediction, PLP)作為特征,使用混合高斯模型-隱馬爾科夫模型(GMM-HMM)作為聲學(xué)模型。在近些年,區(qū)分性模型,比如深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network, DNN)在對聲學(xué)特征建模上表現(xiàn)出更好的效果?;谏疃壬窠?jīng)網(wǎng)絡(luò)的聲學(xué)模型,比如上下文相關(guān)的深度神經(jīng)網(wǎng)絡(luò)-隱馬爾科夫模型(CD-DNN-HMM)在語音識別領(lǐng)域已經(jīng)大幅度超越了過去的GMM-HMM模型。
我們首先介紹傳統(tǒng)的GMM-HMM聲學(xué)模型,然后介紹基于深度神經(jīng)網(wǎng)絡(luò)的聲學(xué)模型。
傳統(tǒng)聲學(xué)模型(GMM-HMM)
HMM模型對時序信息進行建模,在給定HMM的一個狀態(tài)后,GMM對屬于該狀態(tài)的語音特征向量的概率分布進行建模。
1.混合高斯模型
如果一個連續(xù)隨機變量服從混合高斯分布,則它的概率密度函數(shù)為:
混合高斯模型分布最明顯的性質(zhì)是它的多模態(tài),這使得混合高斯模型可以描述很多顯示出多模態(tài)性質(zhì)的屋里數(shù)據(jù),比如語音數(shù)據(jù),而單高斯分布則不合適。數(shù)據(jù)中的多模態(tài)性質(zhì)可能來自多種潛在因素,每一個因素決定分布中特定的混合成分。如果因素被識別出來,那么混合分布就可以被分解成有多個因素獨立分布的集合。
那么將上面公式推廣到多變量的多元混合高斯分布,就是語音識別上使用的混合高斯模型,其聯(lián)合概率密度函數(shù)的形式如下:
在得到混合高斯模型的形式后,需要估計混合高斯模型的一系列參數(shù)變量:,我們主要采用最大期望值算法(Expectation Maximization, EM)進行參數(shù)估計,公式如下:
其中,j是當(dāng)前迭代輪數(shù),為t時刻的特征向量。GMM參數(shù)通過EM算法進行估計,可以使其在訓(xùn)練數(shù)據(jù)上生成語音觀察特征的概率最大化。此外,GMM模型只要混合的高斯分布數(shù)目足夠多,GMM可以擬合任意精度的概率分布。
2.隱馬爾可夫模型
為了描述語音數(shù)據(jù),在馬爾可夫鏈的基礎(chǔ)上進行了擴展,用一個觀測的概率分布與馬爾可夫鏈上的每個狀態(tài)進行對應(yīng),這樣引入雙重隨機性,使得馬爾可夫鏈不能被直接觀察,故稱為隱馬爾可夫模型。隱馬爾可夫模型能夠描述語音信號中不平穩(wěn)但有規(guī)律可學(xué)習(xí)的空間變量。具體的來說,隱馬爾可夫模型具有順序排列的馬爾可夫狀態(tài),使得模型能夠分段的處理短時平穩(wěn)的語音特征,并以此來逼近全局非平穩(wěn)的語音特征序列。
隱馬爾可夫模型主要有三部分組成。對于狀態(tài)序列
(1)轉(zhuǎn)移概率矩陣,描述馬爾可夫鏈狀態(tài)間的跳轉(zhuǎn)概率:
(2)馬爾可夫鏈的初始概率,其中
;
(3)每個狀態(tài)的觀察概率分布,按照上一節(jié)的介紹,我們會采用GMM模型來描述狀態(tài)的觀察概率分布。在這種情況下,公式可以表述為:
隱馬爾可夫模型的參數(shù)通過Baum-Welch算法(在HMM上EM算法的推廣)進行估計。
CD-DNN-HMM
雖然GMM-HMM在以往取得了很多成功,但是隨著深度學(xué)習(xí)的發(fā)展,DNN模型展現(xiàn)出了明顯超越GMM模型的性能,替代了GMM進行HMM狀態(tài)建模。不同于GMM模型,DNN模型為了獲得更好的性能提升,引入了上下文信息(也即前后特征幀信息),所以被稱為CD-DNN-HMM(Context-Dependent DNN-HMM)模型。在很多測試集上CD-DNN-HMM模型都大幅度超越了GMM-HMM模型。
首先簡單介紹一下DNN模型,DNN模型是有一個有很多隱層的多層感知機,下圖就是具有5層的DNN,模型結(jié)構(gòu)上包括輸入層、隱層和輸出層。對于第層,有公式:
其中分別表示,L層的輸出向量,權(quán)重矩陣,輸入向量以及偏差向量(bias);
一般稱為激活函數(shù),常用的激活函數(shù)有sigmoid函數(shù)
或者整流線性單元(Rectifier Linear Unit)
。在語音識別上應(yīng)用的DNN模型一般采用softmax將模型輸出向量進行歸一化,假設(shè)模型有L層,在特征向量為
,輸出分類數(shù)為
的情況下,則第
類的輸出概率為:
相比于GMM模型,DNN模型具有一些明顯的優(yōu)勢:
首先,DNN是一種判別模型,自身便帶有區(qū)分性,可以更好區(qū)分標注類別;
其次,DNN在大數(shù)據(jù)上有非常優(yōu)異的表現(xiàn),伴隨著數(shù)據(jù)量的不斷增加,GMM模型在2000小時左右便會出現(xiàn)性能的飽和,而DNN模型在數(shù)據(jù)量增加到1萬小時以上時還能有性能的提升;
另外,DNN模型有更強的對環(huán)境噪聲的魯棒性,通過加噪訓(xùn)練等方式,DNN模型在復(fù)雜環(huán)境下的識別性能甚至可以超過使用語音增強算法處理的GMM模型。
除此之外,DNN還有一些有趣的性質(zhì),比如,在一定程度上,隨著DNN網(wǎng)絡(luò)深度的增加,模型的性能會持續(xù)提升,說明DNN伴隨模型深度的增加,可以提取更有表達性、更利于分類的特征;人們利用這一性質(zhì),提取DNN模型的Bottle-neck特征,然后在訓(xùn)練GMM-HMM模型,可以取得和DNN模型相當(dāng)?shù)恼Z音識別效果。
DNN應(yīng)用到語音識別領(lǐng)域后取得了非常明顯的效果,DNN技術(shù)的成功,鼓舞著業(yè)內(nèi)人員不斷將新的深度學(xué)習(xí)工具應(yīng)用到語音識別上,從CNN到RNN再到RNN與CTC的結(jié)合等等,伴隨著這個過程,語音識別的性能也在持續(xù)提升,未來我們可以期望將可以和機器進行無障礙的對話。
雷鋒網(wǎng)注:本文由大牛講堂授權(quán)雷鋒網(wǎng)發(fā)布,如需轉(zhuǎn)載請聯(lián)系原作者,并注明作者和出處,不得刪減內(nèi)容。有興趣可以關(guān)注公號地平線機器人技術(shù),了解最新消息。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。