淺談?wù)Z音識(shí)別基礎(chǔ)

承接前面的《淺談機(jī)器學(xué)習(xí)基礎(chǔ)》、《淺談深度學(xué)習(xí)基礎(chǔ)》和《淺談自然語言處理基礎(chǔ)》,主要參考了《解析深度學(xué)習(xí):語音識(shí)別實(shí)踐》以及其它相關(guān)博客和Wikipedia。

簡(jiǎn)介

其實(shí)自動(dòng)語音識(shí)別(Automatic Speech Recognition,ASR)這個(gè)研究領(lǐng)域已經(jīng)活躍了五十多年,但一直并沒有真正成為一種重要的人機(jī)交流的形式,一個(gè)是緣于當(dāng)時(shí)技術(shù)的落后,語音技術(shù)在大多數(shù)實(shí)際用戶實(shí)際使用的場(chǎng)景下還不大可用;另一個(gè)是,很多情況下使用鍵盤、鼠標(biāo)這樣的形式比語音更有效、更準(zhǔn)確、約束更小。

近年來,首先是,由于摩爾定律持續(xù)有效,今天可用的計(jì)算力僅僅相比十幾年前就高了幾個(gè)量級(jí);其次是,借助越來越先進(jìn)的互聯(lián)網(wǎng)和云計(jì)算,我們得到了比先前多得多的數(shù)據(jù)資源。最后,移動(dòng)設(shè)備、可穿戴設(shè)備、智能家居設(shè)備、車載信息娛樂系統(tǒng)正變得越來越流行,在這些設(shè)備和系統(tǒng)上,鼠標(biāo)和鍵盤不再那么便捷了,而對(duì)話交互會(huì)成為人機(jī)交互的未來。

語音技術(shù)同時(shí)可以促進(jìn)人類之間的交流(HHC)以及人機(jī)交流(HMC),HHC比如,發(fā)送給他人的語音消息可以轉(zhuǎn)化為文字方便閱讀,采用語音輸入也更為便捷,語音識(shí)別技術(shù)還可以用來將演講和課程內(nèi)容進(jìn)行識(shí)別和索引;HMC比如,語音搜索、個(gè)人智能助理、聲控游戲、智能家居等。

一個(gè)語音對(duì)話系統(tǒng)一般包含四個(gè)主要組成部分中的一個(gè)或多個(gè):語音識(shí)別系統(tǒng)將語音轉(zhuǎn)化為文本、語義理解系統(tǒng)提取用戶說話的語義信息、文字轉(zhuǎn)語音系統(tǒng)將內(nèi)容轉(zhuǎn)化為語音、對(duì)話管理系統(tǒng)連接其他三個(gè)系統(tǒng)并完成與實(shí)際應(yīng)用場(chǎng)景的溝通。如下圖:


語音對(duì)話系統(tǒng)的組成

這里我們只關(guān)注語音識(shí)別系統(tǒng),語音識(shí)別系統(tǒng)主要由四部分組成:信號(hào)處理和特征提取、聲學(xué)模型(AM)、語言模型(LM)和解碼搜索部分。如下圖:


語音識(shí)別系統(tǒng)的架構(gòu)

信號(hào)處理和特征提取是語音識(shí)別系統(tǒng)的第一部分,接受最原始的音頻信號(hào),通過消除噪聲和信道失真對(duì)語音進(jìn)行增強(qiáng),將信號(hào)從時(shí)域轉(zhuǎn)化到頻域,并為后面的聲學(xué)模型提取合適的有代表性的特征向量。

聲學(xué)模型以特征提取部分生成的特征為輸入,為可變長(zhǎng)特征序列生成聲學(xué)模型分?jǐn)?shù)。

語言模型估計(jì)通過訓(xùn)練語料學(xué)習(xí)詞與詞之間的相互關(guān)系,來估計(jì)假設(shè)詞序列的可能性,又叫語言模型分?jǐn)?shù)。如果了解領(lǐng)域或任務(wù)相關(guān)的先驗(yàn)知識(shí),語言模型的分?jǐn)?shù)通??梢怨烙?jì)的更準(zhǔn)確。

解碼搜索綜合聲學(xué)模型分?jǐn)?shù)與語言模型分?jǐn)?shù)的結(jié)果,將總體輸出分?jǐn)?shù)最高的詞序列當(dāng)做識(shí)別結(jié)果。

或者看這張圖:


語音識(shí)別就是一個(gè)先編碼后解碼的過程,信號(hào)處理和特征提取就是編碼的過程,也即圖中的Feature Extraction,特征抽取,由原始的語音得到語音向量。后面即是對(duì)語音向量的解碼,而解碼需要的Acoustic Model、Language Model就是上面提到過的聲學(xué)模型和語言模型。聲學(xué)模型這篇文章會(huì)著重講,語言模型就是《淺談自然語言處理基礎(chǔ)》里面提過的N-gram那部分。

聲學(xué)模型處理的問題主要在于特征向量序列的可變長(zhǎng)音頻信號(hào)的豐富變化性,因?yàn)檎Z音長(zhǎng)度是不確定的,所以特征向量序列的長(zhǎng)度也是不確定的,我們一般通過動(dòng)態(tài)時(shí)間規(guī)整方法和隱馬爾可夫模型來處理。音頻信號(hào)的豐富變化性指,音頻信號(hào)的多樣性會(huì)由說話人的性別、健康狀況、緊張程度、說話風(fēng)格以及環(huán)境噪聲、周圍人聲、信道扭曲、方言差異、非母語口音等各種原因所引起。

在過去,信號(hào)處理和特征抽取一般用梅爾倒譜系數(shù)或者相對(duì)頻譜變換-感知線性預(yù)測(cè)
作為特征向量,然后使用混合高斯模型-隱馬爾可夫模型(GMM-HMM)
作為聲學(xué)模型,然后再用最大似然準(zhǔn)則(maximum likelihood,ML)去訓(xùn)練,再之后序列鑒別性訓(xùn)練算法,比如最小分類錯(cuò)誤(MCE)和最小音素錯(cuò)誤(MPE)等準(zhǔn)則被提了出來。

近些年,分層鑒別模型比如DNN,變得可行起來,比如上下文相關(guān)的深度神經(jīng)網(wǎng)絡(luò)-隱馬爾可夫模型(context-dependent DNN-HMM,CD-DNN-HMM)就比傳統(tǒng)的GMM-HMM表現(xiàn)要好得多。這篇文章將會(huì)著重介紹CD-DNN-HMM。

混合高斯模型

這里先說一下什么是高斯分布,高斯分布就是正態(tài)分布。如下圖:


紅色的是標(biāo)準(zhǔn)的正態(tài)分布,μ指均值,σ^2指方差,方差越大,分布越分散。

正態(tài)分布

E(x) = μ,var(x) = σ^2 = r^(?1)

正態(tài)分布的累積分布函數(shù)如下圖所示,與前面提過的Sigmoid函數(shù)類似:


累積分布函數(shù)

上面說的只是普通的高斯分布,還有混合高斯分布,不同于高斯分布的單模態(tài)性質(zhì)M=1,混合高斯分布是多模態(tài)的M>1,是多個(gè)高斯分布的按權(quán)疊加,如下式:


混合高斯分布

另外還有多元高斯分布和多元混合高斯分布,是將相應(yīng)的高斯分布推廣到多變量:


多元高斯分布
多元混合高斯分布聯(lián)合

這里的x就不再是一個(gè)值而是一個(gè)向量,擁有多個(gè)維度。Σm是協(xié)方差矩陣,前面講PCA主成分分析時(shí)提到過,協(xié)方差矩陣用于描述不同維度變量之間的相關(guān)關(guān)系。

在這里,如果變量x的維度很大,那么使用全協(xié)方差矩陣(非對(duì)角)將引入大量參數(shù),為了減少這個(gè)數(shù)量,可以使用對(duì)角協(xié)方差矩陣,或者所有M模態(tài)都使用同樣的協(xié)方差矩陣。

前面說,協(xié)方差矩陣用于描述不同維度變量之間的相關(guān)關(guān)系,如果我們采用了對(duì)角陣,看似是假設(shè)了數(shù)據(jù)向量的各個(gè)維度不相關(guān),但是實(shí)際上,因?yàn)榛旎旌细咚鼓P途哂卸鄠€(gè)高斯成分,多個(gè)模態(tài),所以雖然每個(gè)成分都使用了對(duì)角協(xié)方差矩陣,但總體上至少可以有效地描述由一個(gè)使用全協(xié)方差矩陣的單高斯模型所描述的向量維度相關(guān)性。

對(duì)GMM相關(guān)參數(shù)變量的訓(xùn)練,需要用到EM算法,這個(gè)算法在《淺談自然語言處理基礎(chǔ)》中有詳細(xì)的講解。

講完了高斯模型,我們需要討論一下如何利用混合高斯分布對(duì)語音特征建模的問題。

原始語音數(shù)據(jù)經(jīng)過一些處理(如短時(shí)傅里葉變換形式或者取倒譜)后會(huì)成為特征序列,在忽略時(shí)序信息的條件下,可以以幀為單位,用GMM對(duì)語音特征進(jìn)行建模。GMM因其擬合任意復(fù)雜的、多種形式的分布能力而廣為人知。

如果把語音順序信息考慮進(jìn)去,GMM便不再是個(gè)好模型,因?yàn)樗话魏雾樞蛐畔?,所以這里我們要引入隱馬爾可夫模型(HMM)與GMM結(jié)合,來處理時(shí)序問題。

我們利用GMM對(duì)HMM每個(gè)狀態(tài)的語音特征分布進(jìn)行建模,《淺談自然語言處理基礎(chǔ)》也詳細(xì)講過HMM了,這里的GMM就相當(dāng)于描述狀態(tài)的符號(hào)發(fā)射概率,對(duì)于屬于該狀態(tài)的語音特征向量的概率分布進(jìn)行建模。

GMM盡管有著眾多優(yōu)勢(shì),但也有一個(gè)嚴(yán)重的不足,就是GMM不能有效地對(duì)呈非線性或近似非線性的數(shù)據(jù)進(jìn)行建模。比如描述一個(gè)球面,如果選擇合適的模型,只需要很少的參數(shù),而GMM卻需要非常多對(duì)角協(xié)方差高斯分布或相當(dāng)多的全協(xié)方差高斯分布。

隱馬爾可夫模型及其變體

前面的文章已經(jīng)詳細(xì)的講過了HMM的基礎(chǔ)內(nèi)容,這里著重說一下之前沒有覆蓋到的部分。

先說什么是馬爾可夫鏈的穩(wěn)態(tài)分布。

我們講過HMM有初始條件概率分布矩陣π和狀態(tài)間轉(zhuǎn)移概率矩陣a,這部分就源自馬爾可夫鏈??紤]這樣一個(gè)問題,我們可以直觀的感受到,從一個(gè)固定的初始狀態(tài)出發(fā),馬爾可夫鏈第n步之后的分布和初始狀態(tài)以及n都是相關(guān)的,同時(shí)與初始狀態(tài)的相關(guān)性會(huì)隨著時(shí)間增長(zhǎng)而衰減。但在理論研究和實(shí)際應(yīng)用的很多情形下,我們并不希望第n步后的分布取決于初始位置和n。

所以由此引出了一種具有穩(wěn)態(tài)分布的馬爾可夫鏈,這種馬爾可夫鏈滿足一定的條件,使得該馬爾可夫鏈之于這個(gè)穩(wěn)態(tài)分布是漸進(jìn)無偏的,也即無論初始分布如何,馬爾可夫鏈到它的穩(wěn)態(tài)分布都是漸進(jìn)收斂的。具有穩(wěn)態(tài)分布的馬爾可夫鏈,從任何初始狀態(tài)出發(fā),第n步分布在n趨于無窮的時(shí)候都會(huì)趨近于同樣的穩(wěn)態(tài)分布。

另一點(diǎn)對(duì)于HMM要提到的,如果HMM各個(gè)狀態(tài)的觀測(cè)概率分布沒有任何重疊,那么這樣的序列便不是一個(gè)隱馬爾可夫模型,因?yàn)楸M管狀態(tài)有了隨機(jī)性,但對(duì)一個(gè)特定的狀態(tài)而言,由于概率分布沒有重疊,某個(gè)固定范圍內(nèi)的觀察值總能找到唯一的狀態(tài)與之對(duì)應(yīng),那在這種情況下,HMM便退化成了馬爾可夫鏈,也即相當(dāng)于只有單重隨機(jī)過程。

前面簡(jiǎn)單的提到了GMM與HMM的結(jié)合,這里詳細(xì)說一下。GMM用于描述HMM中給定狀態(tài)下的符號(hào)發(fā)射概率,有多少種狀態(tài)就有多少個(gè)GMM,每個(gè)狀態(tài)自己獨(dú)占一個(gè)GMM。然后相當(dāng)于我們有了一張GMM分布圖,是這個(gè)狀態(tài)下的不同符號(hào)的發(fā)射概率,這樣給定輸出符號(hào)就能在相應(yīng)的GMM圖中找到該狀態(tài)產(chǎn)生該指定符號(hào)的概率,橫坐標(biāo)就是輸出符號(hào),縱坐標(biāo)是生成概率。當(dāng)然如果M=1,那混合高斯分布就退化成了高斯分布。

在HMM中,輸出序列用于描述語音特征向量,而狀態(tài)序列代表相應(yīng)的文字,所以語音識(shí)別問題就是HMM中的解碼問題,在HMM中,我們用維特比算法來解碼,得到概率最大的狀態(tài)序列。

維特比算法所找到的針對(duì)一個(gè)從左到右傳播的HMM的最佳狀態(tài)轉(zhuǎn)移路徑,等價(jià)于確定最優(yōu)HMM狀態(tài)分割所需要的信息。狀態(tài)分割的概念在語音建模和識(shí)別中最常用于從左到右傳播的HMM,其中每個(gè)HMM狀態(tài)通常與較大數(shù)量的連續(xù)幀數(shù)的觀察向量序列相對(duì)應(yīng)。

傳統(tǒng)的認(rèn)為,圖像和視頻是高維信號(hào),相比之下,語音是一維時(shí)間信號(hào)。這種觀點(diǎn)過于簡(jiǎn)單,語音實(shí)際上應(yīng)被視為二維信號(hào),其中空間(即頻率或音位)和時(shí)間維度有很不一樣的性質(zhì)。

盡管GMM-HMM在語音建模和識(shí)別中取得了巨大成功,但20世紀(jì)90年代,人們開始開發(fā)可以捕捉更多現(xiàn)實(shí)的語音在時(shí)域中的動(dòng)態(tài)屬性的統(tǒng)計(jì)模型,比如隱藏動(dòng)態(tài)模型、軌跡分段模型等等。

這些HMM模型變體的共同之處在于模型中都包含了時(shí)間的動(dòng)態(tài)結(jié)構(gòu),它們依賴對(duì)語音時(shí)序相關(guān)結(jié)構(gòu)不同的先驗(yàn)知識(shí)簡(jiǎn)化假設(shè)。根據(jù)這種結(jié)構(gòu)的特點(diǎn),我們可以把這些模型分為兩類,第一類模型關(guān)注表層聲學(xué)級(jí)別的時(shí)間相關(guān)結(jié)構(gòu);第二類由較深的隱藏的動(dòng)態(tài)結(jié)構(gòu)組成,其中底層的語音產(chǎn)生機(jī)制被用作一種先驗(yàn)知識(shí)來描述可觀察的語音模式的時(shí)間結(jié)構(gòu)。

在其中很多生成性動(dòng)態(tài)/軌跡模型中,時(shí)間跨度通常由一系列語言標(biāo)簽決定,它們將整句從左到右的分成多個(gè)段。因此是分段模型。

這里有些難理解,我提出我自己的理解,也許不正確。在傳統(tǒng)GMM-HMM中,我們?yōu)槊總€(gè)狀態(tài)訓(xùn)練一個(gè)GMM來描述符號(hào)發(fā)射概率,但即便是同樣的狀態(tài),不同時(shí)序下的GMM也應(yīng)該是有一定區(qū)別的,可HMM中有有限歷史性假設(shè)和輸出獨(dú)立性假設(shè),無法考慮到更多的信息,所以我們考慮通過引入一些先驗(yàn)知識(shí)來優(yōu)化這塊的假設(shè),增加對(duì)時(shí)間的動(dòng)態(tài)結(jié)構(gòu)的考慮。所謂分段,大概是對(duì)該時(shí)間段內(nèi)狀態(tài)所對(duì)應(yīng)的符號(hào)發(fā)射概率進(jìn)行統(tǒng)一的調(diào)整,以更貼近真實(shí)情況。

深度神經(jīng)網(wǎng)絡(luò)

DNN在《淺談深度學(xué)習(xí)基礎(chǔ)》中也有過詳細(xì)的講解了,這里也是著重說一下之前沒有覆蓋到的內(nèi)容。

像權(quán)重衰減、dropout、mini-batch、bagging、boosting、momentum,自適應(yīng)學(xué)習(xí)速率這些都有講過,還缺一個(gè)數(shù)據(jù)預(yù)處理。

數(shù)據(jù)預(yù)處理在許多機(jī)器學(xué)習(xí)算法中都扮演著重要的角色,常見的有樣本特征歸一化全局特征標(biāo)準(zhǔn)化,也都很好理解。

如果每個(gè)樣本均值的變化與處理的問題無關(guān),就應(yīng)該將特征均值歸零,減小特征相對(duì)于深度神經(jīng)網(wǎng)絡(luò)模型的變化,例如,減去一張圖片的強(qiáng)度均值,可以減弱亮度引起的變化。

全局特征標(biāo)準(zhǔn)化的目標(biāo)是使用全局轉(zhuǎn)換縮放每維數(shù)據(jù),使得最終的特征向量處于相似的動(dòng)態(tài)范圍內(nèi),例如在圖像處理中,經(jīng)常將[0, 255]范圍內(nèi)的色值縮放到[0, 1]范圍內(nèi)。

高級(jí)模型初始化技術(shù)

至于模型初始化,《淺談深度學(xué)習(xí)基礎(chǔ)》也講過了,就是自編碼器和受限玻爾茲曼機(jī)。它們能對(duì)網(wǎng)絡(luò)進(jìn)行一定程度的預(yù)訓(xùn)練,在防止陷入局部最優(yōu)或梯度消失上能起到一定的作用。

深度神經(jīng)網(wǎng)絡(luò)-隱馬爾可夫模型混合系統(tǒng)(DNN-HMM)

這里我們先給出兩張圖,分別是GMM-HMM和DNN-HMM的示意圖:


GMM-HMM

從圖中可以看到,就像上文所說的,HMM中的狀態(tài)序列就是語音識(shí)別的結(jié)果詞匯序列,每種狀態(tài)對(duì)應(yīng)一種GMM,根據(jù)這個(gè)GMM可以得到該狀態(tài)生成不同語音特征向量的概率。

接下來是DNN-HMM:


DNN-HMM

在混合系統(tǒng)中,HMM對(duì)語音信號(hào)的序列特性進(jìn)行建模,DNN對(duì)所有聚類后的狀態(tài)的似然度進(jìn)行建模,這里對(duì)時(shí)間上的不同點(diǎn)采用同樣的DNN。

在20世紀(jì)90年代中葉,這種混合模型就已被提出,早期被稱作ANN-HMM,通常只使用上下文無關(guān)的音素(音素是語音的最小單位)狀態(tài)作為ANN訓(xùn)練的標(biāo)注信息,隨后被擴(kuò)展到上下文相關(guān)的音素建模,再后來,淺層的神經(jīng)網(wǎng)絡(luò)被替換成DNN,其次使用聚類后的狀態(tài)(綁定后的三音素狀態(tài))代替單音素狀態(tài)作為神經(jīng)網(wǎng)絡(luò)的輸出單元,這種改善后的ANN-HMM混合模型稱為CD-DNN-HMM。與傳統(tǒng)的GMM-HMM相比,性能有了重大的提升。

在CD-DNN-HMM中,對(duì)于所有的狀態(tài),我們只訓(xùn)練一個(gè)完整的DNN來估計(jì)狀態(tài)的后驗(yàn)概率,這與傳統(tǒng)的GMM是不同的,因?yàn)镚MM框架下,我們會(huì)使用多個(gè)不同的GMM對(duì)不同的狀態(tài)建模。除此之外,典型的DNN輸入不是單一的一幀,而是一個(gè)2ω+1幀大小的窗口特征,這使得相鄰幀的信息可以被有效的利用。

CD-DNN-HMM的解碼

這里一定要說明的一點(diǎn)是,我們想一下,HMM對(duì)于符號(hào)發(fā)射概率分布的要求是什么?是給定某狀態(tài)的前提下,產(chǎn)生某輸出符號(hào)的概率。再考慮一下GMM是怎么做的,是每個(gè)狀態(tài)給了一張GMM分布圖,再根據(jù)輸出符號(hào),就能找到給定某狀態(tài)的前提下,產(chǎn)生某輸出符號(hào)的概率。但是DNN不一樣,上面也說了,DNN的輸入是一個(gè)多幀的語音向量,輸出是不同狀態(tài)的概率,也即與HMM的要求相反,DNN描述的是,給定某輸出符號(hào)的前提下,該輸出符號(hào)是由某個(gè)狀態(tài)產(chǎn)生的概率。所以我們就需要通過貝葉斯公式將DNN計(jì)算出來的這個(gè)似然度轉(zhuǎn)為HMM需要的后驗(yàn)概率。


貝葉斯公式

HMM要的是后驗(yàn)概率,也就是式子左邊的,給定狀態(tài)下,某輸出符號(hào)的概率,DNN給的是式子右側(cè)加粗的似然度,所以我們通過上式得到后延概率。P(Ot1)是語音向量出現(xiàn)的概率,與字詞序列無關(guān),這里可以忽略。P(St1)是某狀態(tài)的先驗(yàn)概率,在緩解標(biāo)注不平衡問題中是非常重要的,特別是訓(xùn)練句中包含很長(zhǎng)靜音段時(shí)就更是如此。

由CD-DNN-HMM最終解碼出的字詞序列需要同時(shí)考慮到聲學(xué)模型和語言模型的概率,通過權(quán)重系數(shù)λ去平衡二者之間的關(guān)系。語言模型的概率由其它訓(xùn)練方法根據(jù)訓(xùn)練語料得出,而聲學(xué)模型的概率,是所有狀態(tài)轉(zhuǎn)移概率以及符號(hào)發(fā)射概率的乘積。

CD-DNN-HMM的訓(xùn)練

訓(xùn)練CD-DNN-HMM的第一步通常就是使用無監(jiān)督的訓(xùn)練數(shù)據(jù)訓(xùn)練一個(gè)GMM-HMM系統(tǒng),因?yàn)镈NN訓(xùn)練標(biāo)注是由GMM-HMM系統(tǒng)采用維特比算法產(chǎn)生得到的,而且標(biāo)注的質(zhì)量會(huì)影響DNN系統(tǒng)的性能。(我們知道,訓(xùn)練GMM-HMM采用EM算法,只需給定觀察序列,而不需給定標(biāo)注結(jié)果,而DNN需要相應(yīng)的標(biāo)注結(jié)果)

這里先詳細(xì)的講一下涉及到的語音學(xué)的知識(shí)。

語音是一個(gè)連續(xù)的音頻流,它是由大部分的穩(wěn)定態(tài)和部分動(dòng)態(tài)改變的狀態(tài)混合構(gòu)成。

一個(gè)單詞的發(fā)聲(波形)實(shí)際上取決于很多因素,而不僅僅是音素,例如音素上下文、說話者、語音風(fēng)格等;

協(xié)同發(fā)音(指的是一個(gè)音受前后相鄰音的影響而發(fā)生變化,從發(fā)聲機(jī)理上看就是人的發(fā)聲器官在一個(gè)音轉(zhuǎn)向另一個(gè)音時(shí)其特性只能漸變,從而使得后一個(gè)音的頻譜與其他條件下的頻譜產(chǎn)生差異。)的存在使得音素的感知與標(biāo)準(zhǔn)不一樣,所以我們需要根據(jù)上下文來辨別音素。將一個(gè)音素劃分為幾個(gè)亞音素單元。如:數(shù)字『three』,音素的第一部分與在它之前的音素存在關(guān)聯(lián),中間部分是穩(wěn)定的部分,而最后一部分則與下一個(gè)音素存在關(guān)聯(lián),這就是為什么在用HMM模型做語音識(shí)別時(shí),選擇音素的三狀態(tài)HMM模型。(上下文相關(guān)建模方法在建模時(shí)考慮了這一影響,從而使模型能更準(zhǔn)確地描述語音,只考慮前一音的影響的稱為Bi-Phone,考慮前一音和后一音的影響的稱為 Tri-Phone。)

有時(shí)候,音素會(huì)被放在上下文中考慮,這樣就形成了三音素或者多音素。但它與亞音素不同,他們?cè)诓ㄐ沃衅ヅ鋾r(shí)長(zhǎng)度還是和單一音素一樣。只是名字上的不同而已,所以我們更傾向于將這樣的多音素稱為senone。一個(gè)senone的上下文依賴比單純的左右上下文復(fù)雜得多,它是一個(gè)可以被決策樹或者其他方式來定義的復(fù)雜函數(shù)。(英語的上下文相關(guān)建模通常以音素為基元,由于有些音素對(duì)其后音素的影響是相似的,因而可以通過音素解碼狀態(tài)的聚類進(jìn)行模型參數(shù)的共享。聚類的結(jié)果稱為senone。決策樹用來實(shí)現(xiàn)高效的triphone對(duì)senone的對(duì)應(yīng),通過回答一系列前后音所屬類別(元/輔音、清/濁音等等)的問題,最終確定其HMM狀態(tài)應(yīng)使用哪個(gè)senone。分類回歸樹CART模型用以進(jìn)行詞到音素的發(fā)音標(biāo)注。)

在實(shí)際應(yīng)用中,senone的聲學(xué)模型就是三態(tài)高斯混合模型。簡(jiǎn)單的說,它就是一個(gè)最有可能的特征向量。

一旦訓(xùn)練好GMM-HMM模型hmm0,我們就可以創(chuàng)建一個(gè)從狀態(tài)名字到senoneID的映射,前面也提到了,從狀態(tài)到senone的映射并不簡(jiǎn)單,因?yàn)槊總€(gè)邏輯三音素是由聚類后的一系列物理三音素代表的。

然后我們利用hmm0采用維特比算法生成一個(gè)狀態(tài)層面的強(qiáng)制對(duì)齊,以生成從特征到senoneID的映射對(duì),為DNN提供標(biāo)注好的訓(xùn)練數(shù)據(jù)。

上下文窗口的影響

我們前面提到,DNN的輸入是一個(gè)長(zhǎng)為2ω+1(典型的是9到13)幀大小的窗口特征,這樣引入了相鄰幀,DNN也可以對(duì)不同特征幀之間的相互關(guān)系進(jìn)行建模,這樣部分緩和了傳統(tǒng)的HMM無法滿足輸出獨(dú)立性假設(shè)的問題。

CD-DNN-HMM的關(guān)鍵模塊

一系列的實(shí)驗(yàn)成果表明,CD-DNN-HMM相較于GMM-HMM,帶來性能提升的三大關(guān)鍵因素是:

  • 使用足夠深的深度神經(jīng)網(wǎng)絡(luò)
  • 使用一長(zhǎng)段幀作為輸入
  • 直接對(duì)三音素進(jìn)行建模,使用三音素是性能提升的最大單一來源

傳統(tǒng)的DNN是采用softmax作為輸出層,我們也可以將softmax層換成KL距離,KL距離就是我們?cè)谏掀刑岬降南鄬?duì)熵,用于度量?jī)煞N概率分布之間的差異。

這里要著重的講一下softmax了,雖然在《淺談深度學(xué)習(xí)基礎(chǔ)》中簡(jiǎn)答的提到過softmax層起到了歸一化,便于計(jì)算概率的作用,但softmax遠(yuǎn)不止這么簡(jiǎn)單。

首先softmax是對(duì)數(shù)似然度,是一種對(duì)數(shù)線性模型。而且softmax就是最大熵模型的結(jié)果,學(xué)習(xí)softmax層的參數(shù)過程就等同于在輸出層前一層給定特征的基礎(chǔ)上訓(xùn)練一個(gè)最大熵模型。且多類分類問題的目標(biāo)函數(shù)常常選cross-entropy,而cross-entropy loss(交叉熵?fù)p失函數(shù)) 在形式上與softmax有特別的契合關(guān)系,PRML里面講,cross-entropy loss是softmax的 canonical link function。

另外SVD這種低秩近似的方法可以用來加速訓(xùn)練和解碼,能夠減小模型的規(guī)模以及2/3的解碼時(shí)間。

深度神經(jīng)網(wǎng)絡(luò)序列鑒別性訓(xùn)練

傳統(tǒng)DNN進(jìn)行多分類問題時(shí)通常采用交叉熵?fù)p失函數(shù),它能夠獨(dú)立的處理每一幀語音向量,但是,語音識(shí)別本質(zhì)上是一個(gè)序列分類問題,DNN的輸入也是一長(zhǎng)段幀,所以我們需要引入一些更契合這種問題的序列鑒別性訓(xùn)練方法,比如常用的最大互信息(MMI)、增強(qiáng)型最大互信息(BMMI)、最小音素錯(cuò)誤(MPE)和最小貝葉斯風(fēng)險(xiǎn)訓(xùn)練準(zhǔn)則(MBR)。

這里簡(jiǎn)單介紹一下這幾種方法的基本思想,語音識(shí)別中使用的最大互信息(MMI)準(zhǔn)則旨在最大化單詞序列分布和觀察序列分布的互信息。增強(qiáng)型MMI是MMI準(zhǔn)則的一個(gè)變種,它增強(qiáng)了錯(cuò)誤較多的路徑的似然度。最小音素錯(cuò)誤和狀態(tài)級(jí)最小貝葉斯風(fēng)險(xiǎn)都旨在最小化不同顆粒度標(biāo)注下的期望錯(cuò)誤。比如,MPE準(zhǔn)則旨在最小化期望音素錯(cuò)誤,而狀態(tài)級(jí)貝葉斯風(fēng)險(xiǎn)(sMBR)旨在最小化狀態(tài)錯(cuò)誤的統(tǒng)計(jì)期望。

序列鑒別性訓(xùn)練準(zhǔn)則的形式可以有很多,如果準(zhǔn)則被形式化成最大化的目標(biāo)方程,我們可以通過乘以-1來使其成為一個(gè)最小化的損失函數(shù)。這樣損失函數(shù)可以被永遠(yuǎn)形式化為兩個(gè)詞圖的值的比率:代表參考標(biāo)注的分子詞圖和代表與之競(jìng)爭(zhēng)的解碼輸出的分母詞圖。

這里我們介紹一下詞圖(lattice),詞圖本質(zhì)上是一個(gè)有向無環(huán)(directed acyclic graph)圖。每個(gè)詞網(wǎng)格包含一個(gè)開始結(jié)點(diǎn)以及一個(gè)結(jié)束結(jié)點(diǎn),即在每個(gè)詞網(wǎng)格中,僅存在一個(gè)入度(in-degree)為0的節(jié)點(diǎn)和一個(gè)出度(out-degree)為0的節(jié)點(diǎn)。我們也一般采用詞圖來保存識(shí)別的候選序列。


詞圖示例

深度神經(jīng)網(wǎng)絡(luò)中的特征表示學(xué)習(xí)

在傳統(tǒng)的淺層模型中,特征工程師系統(tǒng)成功的關(guān)鍵。從業(yè)者的主要工作就是構(gòu)建特定任務(wù)上,對(duì)特定學(xué)習(xí)算法表現(xiàn)良好的特征。系統(tǒng)的提高通常來自具有某個(gè)強(qiáng)大領(lǐng)域知識(shí)的人發(fā)現(xiàn)了一個(gè)更好的特征,典型的例子包括廣泛用于圖像識(shí)別的尺度不變特征轉(zhuǎn)換(SIFT)和用于語音識(shí)別任務(wù)的梅爾倒譜系數(shù)(MFCC)。

然后像深度神經(jīng)網(wǎng)絡(luò)這樣的深度模型,不需要手工定制的高級(jí)特征。相反,它們可以自動(dòng)聯(lián)合學(xué)習(xí)特征表示和分類器。

前面也說了,softmax層,本質(zhì)上是一個(gè)簡(jiǎn)單的對(duì)數(shù)線性分類器,或者有時(shí)也被稱作最大熵模型。因此,DNN生成后驗(yàn)概率的過程也可以被認(rèn)為是一個(gè)兩步非隨機(jī)過程,第一步,通過L-1層的非線性變換,觀察向量被轉(zhuǎn)換成一個(gè)L-1層隱神經(jīng)元個(gè)數(shù)維的特征向量。第二步,在給定轉(zhuǎn)換好的特征向量后,根據(jù)這個(gè)特征向量訓(xùn)練一個(gè)最大熵模型。

在傳統(tǒng)的最大熵模型中,特征是人為設(shè)計(jì)的,人工的特征構(gòu)建適用于一些人們?nèi)菀子^察和知道什么特征可以被使用的任務(wù),而不適合那種原始特征高度可變的任務(wù)。然而在深度神經(jīng)網(wǎng)絡(luò)中,特征是由前L-1層定義的,并且最終根據(jù)訓(xùn)練數(shù)據(jù)通過最大熵模型聯(lián)合學(xué)習(xí)得到。這樣不僅消除了人工特征構(gòu)建過程中的繁瑣和錯(cuò)誤,而且通過許多層的非線性變換,具有提取不變的和鑒別型特征的潛力,這種特征幾乎是不可能由人工構(gòu)建的。

在深度神經(jīng)網(wǎng)絡(luò)中,離輸入層越近的隱層表示越低層的特征,離輸出層越近的隱層表示更高層的特征。越低層的特征通常能抓住局部模式,同時(shí)這些局部模式對(duì)輸入特征的變化非常敏感。但是,更高層的特征因?yàn)榻⒃诘蛯犹卣髦?,顯得更加抽象和對(duì)輸入特征的變化更加具有不變性。

一般來說,特征是在分層深度模型中按階段處理的,每一個(gè)階段都可以被看作以下幾個(gè)可選步驟:歸一化、濾波器組處理、非線性處理和池化。

典型的歸一化技術(shù)包括均值消除、局部差異歸一化和方差歸一化;濾波器組處理的目的是把特征投影到一個(gè)更高的維度空間以便分類會(huì)更加容易,這可以通過維度擴(kuò)充或者特征投影得到;非線性處理是在深度模型里非常關(guān)鍵的一個(gè)步驟,因?yàn)榫€性變換的組合僅僅是另外一個(gè)線性變換,常用的非線性函數(shù)包括稀疏化、飽和、側(cè)抑制、雙曲正切、sigmoid和maxout;池化步驟引入了聚集和聚類,其目的是為了提取具有不變性的特征和降低維度。

在GMM框架下,通常使用對(duì)角協(xié)方差矩陣以減少模型參數(shù),此時(shí)(若M=1)要求輸入特征的每維相互獨(dú)立。但是DNN是判別模型,沒這種獨(dú)立性假設(shè)。

一個(gè)好特征的重要性質(zhì)就是它對(duì)變化的魯棒性,在語音信號(hào)中有兩種主要的變化類型:說話人變化和環(huán)境變化。在傳統(tǒng)的GMM-HMM中,這兩種類型的變化都需要被明確處理。

先是對(duì)說話人變化的魯棒性,主要有兩種方法,聲道長(zhǎng)度歸一化(vocal tract length normalization,VTLN)特征空間最大似然線性回歸(feature-space maximum likelihood linear regression,fMLLR)

有這樣一個(gè)事實(shí),聲道中的共振峰位置大體上是按照說話人的聲道長(zhǎng)度單調(diào)的變化的,所以VTLN通過引入扭曲因子來實(shí)現(xiàn)聲道長(zhǎng)度歸一化。

另一方面,fMLLR是一種作用于特征向量之上的仿射變換,其目的是使變換后的特征更好地適應(yīng)模型。

對(duì)環(huán)境變化的魯棒性也有相應(yīng)的向量泰勒級(jí)數(shù)(VTS)自適應(yīng)最大似然線性回歸、歸一化輸入特征或者自適應(yīng)模型參數(shù)。

除了這兩者之外,還有對(duì)噪聲的魯棒性,其對(duì)應(yīng)的方法有噪聲自適應(yīng)訓(xùn)練(noise adaptive training,NAT);還有對(duì)語速變化的魯棒性。

而對(duì)于DNN,輸入數(shù)據(jù)中的小擾動(dòng)會(huì)隨著我們轉(zhuǎn)移到更高層次內(nèi)在表達(dá)的過程中逐漸收縮。但也只能是小擾動(dòng),如果存在足夠大的偏移,DNN不能準(zhǔn)確地對(duì)它們進(jìn)行分類。

比如一個(gè)單獨(dú)的系統(tǒng)如果能夠同時(shí)識(shí)別8kHz采樣率錄音的窄帶語音信號(hào)和16kHz采樣率錄音的寬帶語音信號(hào),那將會(huì)是很有優(yōu)勢(shì)的。

我們可以通過利用混合帶寬的訓(xùn)練數(shù)據(jù),讓DNN學(xué)習(xí)出寬帶和窄帶輸入特征的不同應(yīng)當(dāng)與識(shí)別結(jié)果不相關(guān)這一特性。寬窄帶的變化在多層的非線性轉(zhuǎn)換中被抑制。

深度神經(jīng)網(wǎng)絡(luò)和混合高斯模型的融合

在使用淺層的多層感知機(jī)時(shí)期,就有文獻(xiàn)提出了Tandem方法,它通過使用從一個(gè)或多個(gè)神經(jīng)網(wǎng)絡(luò)中衍生出來的特征來擴(kuò)展GMM-HMM系統(tǒng)中的輸入向量。換句話說,就是在GMM-HMM中使用由神經(jīng)網(wǎng)絡(luò)自主學(xué)習(xí)出來的特征。

還有文獻(xiàn)提出,要使用瓶頸隱層(隱層節(jié)點(diǎn)個(gè)數(shù)比其他隱層的少)的輸出作為特征的方法來代替直接使用神經(jīng)網(wǎng)絡(luò)的輸出特征向量。因?yàn)殡[層的大小的選擇是獨(dú)立于輸出層大小的,這個(gè)方法提供了訓(xùn)練目標(biāo)維度和擴(kuò)展的特征維度之間的靈活性。而且瓶頸隱層在網(wǎng)絡(luò)中建立了一個(gè)限制,將用于分類的相關(guān)信息壓縮成一個(gè)低維度的表示。

提到這個(gè)『將用于分類的相關(guān)信息壓縮成一個(gè)低維度的表示』,RBM和稀疏自編碼器也能起到類似的作用,也可以被視為一種非線性的維度下降的方法。然而,因?yàn)閺淖詣?dòng)編碼器中學(xué)習(xí)到的瓶頸特征對(duì)識(shí)別任務(wù)沒有針對(duì)性,這些特征通常不如從那些用于進(jìn)行識(shí)別的神經(jīng)網(wǎng)絡(luò)的瓶頸層提取出的特征有區(qū)分性。

不過DNN中提出的特征的維度通常非常高,我們可以使用主成分分析(PCA)來減少特征的維度。或者可以直接減少最后一個(gè)隱層的大小,將其改造成一個(gè)瓶頸層。這里搞來一張示意圖:


但是我們很難知道哪一層隱層可以提取最好的特征,同樣,添加更多的隱層對(duì)性能是否有幫助也很難得知。

DNN-HMM混合系統(tǒng)與采用深度特征的GMM-HMM系統(tǒng)相比,性能幾乎相等,在實(shí)際中,CD-DNN-HMM系統(tǒng)運(yùn)用起來更簡(jiǎn)單。而且GMM可以被一個(gè)擁有非常寬的隱層,同時(shí)隱層與輸出層連接很稀疏的單隱層神經(jīng)網(wǎng)絡(luò)建模。

由傳統(tǒng)的GMM-HMM系統(tǒng)產(chǎn)生的識(shí)別錯(cuò)誤和由DNN-HMM系統(tǒng)產(chǎn)生的錯(cuò)誤往往是不一樣的,這使得通過融合GMM-HMM和DNN-HMM的結(jié)果可以獲得全局的性能提高。最廣泛的系統(tǒng)融合技術(shù)包括識(shí)別錯(cuò)誤票選降低技術(shù)分段條件隨機(jī)場(chǎng)、基于最小貝葉斯風(fēng)險(xiǎn)的詞圖合并。

然后就是多流語音識(shí)別,目前最好的語音識(shí)別系統(tǒng)中固定分辨率(包括時(shí)域和頻域)的前端特征處理方法是權(quán)衡后的一種結(jié)果,這使得很多現(xiàn)象不能很好地被建模,比如CD-DNN-HMM的系統(tǒng)性能當(dāng)說話速度很快或很慢時(shí)會(huì)顯著下降。一個(gè)可能的解決方法是采用多流系統(tǒng),這種方法可以同時(shí)容納多個(gè)時(shí)間和頻率的分辨率。

常用的多流語音識(shí)別架構(gòu)也有三種,一種是所有流的特征合并在一起,然后使用一個(gè)單獨(dú)的DNN-HMM來生成結(jié)果。第二種是,每個(gè)流的特征先獨(dú)立使用分隔的DNN,然后再中阿金的一個(gè)集成層進(jìn)行集成,集成之后的特征隨后輸入一個(gè)單獨(dú)的DNN-HMM生成最后的結(jié)果。第三種是,每個(gè)獨(dú)立流的解碼結(jié)果融合得到最終的解碼結(jié)果。

深度神經(jīng)網(wǎng)絡(luò)的自適應(yīng)技術(shù)

與其它機(jī)器學(xué)習(xí)技術(shù)一樣,在深度神經(jīng)網(wǎng)絡(luò)中有一個(gè)假設(shè)是,訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)服從一個(gè)相同的概率分布,但實(shí)際上,這個(gè)假設(shè)是很難滿足的。

訓(xùn)練-測(cè)試的不匹配問題可以通過自適應(yīng)技術(shù)來解決,前面已經(jīng)提過了GMM-HMM框架下的自適應(yīng)方法,來保證對(duì)說話人、環(huán)境、噪音、語速等的魯棒性。但GMM是一個(gè)生成性模型,DNN是一個(gè)鑒別性模型,因?yàn)檫@個(gè)原因,DNN需要與GMM框架下不同的一些自適應(yīng)方法。

DNN的自適應(yīng)技術(shù)可以被分成三類:線性變換、保守訓(xùn)練和子空間方法。

線性變換的想法是,在輸入特征、某個(gè)隱層的激活或者softmax層的輸入處加上一個(gè)說話人或者環(huán)境相關(guān)的線性變換,通過一個(gè)線性變換,說話人相關(guān)的特征可以與說話人無關(guān)的DNN模型向匹配。

線性變換的常見方法有三種,第一種是線性輸入網(wǎng)絡(luò)(LIN),線性變換被應(yīng)用在輸入的特征上;第二種是線性輸出網(wǎng)絡(luò)(LON),在最后一個(gè)隱層上對(duì)一個(gè)特別的說話人使用一個(gè)線性變換,可以被放在softmax層的權(quán)重之前,也可以放在之后;第三種是線性隱層網(wǎng)絡(luò)(LHN),線性變換被用在隱層中,而且同樣的可以被用在原始權(quán)重矩陣之后或之前。而且前面也提到過,一個(gè)DNN的任意一個(gè)隱層都可以被劃分成兩部分,:包括輸入層的那一部分加上隱層可以被視為一個(gè)變換后的特征;包含輸出層的部分可以視作作用在隱層特征上的分類器。

LIN、LON、LHN雖然非常相似,但它們?cè)趨?shù)數(shù)量和特征上還有微小的不同,而且性能是任務(wù)相關(guān)的。

然后是保守訓(xùn)練,保守訓(xùn)練是為了避免線性變換等其它自適應(yīng)方法出現(xiàn)過擬合,破壞之前學(xué)到的信息,我們可以通過添加正則項(xiàng)做到這一點(diǎn)。保守訓(xùn)練中最常使用的正則項(xiàng)是L2正則項(xiàng)和KLD正則項(xiàng)。

L2正則項(xiàng)之前詳細(xì)講過,這里主要提一下KL距離(KLD)正則項(xiàng)。KL距離正則項(xiàng)方法的直觀解釋是,從自適應(yīng)模型中估計(jì)出的senone后驗(yàn)概率不應(yīng)和從未自適應(yīng)模型中估計(jì)出的后延概率差別太大。而且我們知道KL距離/相對(duì)熵就是描述兩種概率分布之間的差異的,所以我們把KLD添加到損失函數(shù)里去一起被最小化,就能限制兩種概率分布之間的差異不至于過大。

L2正則項(xiàng)限制的是模型參數(shù)自身,而非輸出概率,但我們?cè)谝獾氖禽敵龈怕识皇悄P蛥?shù)自身,所以KLD正則項(xiàng)的表現(xiàn)不會(huì)比L2正則項(xiàng)更差。

保守訓(xùn)練只能減輕在自適應(yīng)過程中的過擬合問題,但并不能解決對(duì)每個(gè)說話人都要存儲(chǔ)一個(gè)巨大的自適應(yīng)模型的問題。我們可以采用SVD分解,并舍棄掉部分過小奇異值的方法來對(duì)模型大小進(jìn)行壓縮。

然后我們還有子空間方法,我們可以通過PCA構(gòu)建一個(gè)足夠大的說話人空間,每個(gè)新的說話人可以由特征向量的線性組合來表示,而且我們也可以通過丟棄特征向量中方差小的向量來控制。

還有一些子空間方法明確的從句子中估計(jì)噪聲或者說話人信息,并把這些信息輸入網(wǎng)絡(luò)中,希望DNN訓(xùn)練算法能夠自動(dòng)理解怎樣利用噪聲、說話人或者設(shè)備信息來調(diào)整模型參數(shù)。

說話人信息的估計(jì)可以完全獨(dú)立于DNN訓(xùn)練,也即從一個(gè)獨(dú)立的DNN中學(xué)習(xí)得到,有文獻(xiàn)提出了i-vector方法,i-vector方法是在說話人確認(rèn)以及識(shí)別中流行的一種技術(shù),它在低維固定長(zhǎng)度中壓縮表示了說話人特征最重要的信息,這對(duì)于ASR中的說話人自適應(yīng)來說是一個(gè)非常理想的工具。

深度神經(jīng)網(wǎng)絡(luò)中的表征共享和遷移

這部分簡(jiǎn)單的介紹一下多任務(wù)學(xué)習(xí)和遷移學(xué)習(xí),在深度神經(jīng)網(wǎng)絡(luò)(DNN)中,每個(gè)隱藏層都是輸入DNN的原始數(shù)據(jù)的一種新特征表示(表征),較高層次的表征比較低層次的表征更抽象,我們可以通過多任務(wù)學(xué)習(xí)和遷移學(xué)習(xí)將這些表征共享和遷移到相關(guān)的任務(wù)。

多任務(wù)學(xué)習(xí)(Multitask learning,MTL)是一種旨在通過聯(lián)合學(xué)習(xí)多個(gè)相關(guān)的任務(wù)來提高模型泛化能力的機(jī)器學(xué)習(xí)技術(shù),這些相關(guān)的任務(wù)需要在一定抽象層次上可以共享一部分表征。MTL可以為每個(gè)任務(wù)增加訓(xùn)練數(shù)據(jù)量,而且有助于任務(wù)間遷移知識(shí)。


圖中畫紅圈的隱層就被三個(gè)任務(wù)所共享。

遷移學(xué)習(xí)致力于通過保持和利用從一個(gè)或多個(gè)相似的任務(wù)、領(lǐng)域或概率分布中學(xué)習(xí)到的知識(shí),來快速并有效地為一個(gè)新的任務(wù)、領(lǐng)域或概率分布開發(fā)一個(gè)有較好性能的系統(tǒng),DNN得益于隱藏層所表示的更加抽象和更具不變性的特征,所以非常適合遷移學(xué)習(xí)。

經(jīng)實(shí)驗(yàn)驗(yàn)證,不僅法語DNN的隱層所表示的特征變換可以有效地遷移以識(shí)別美式英語語音,而且歐洲語言到中文普通話的遷移學(xué)習(xí)也是有效的。不過標(biāo)注信息是非常有必要提供的。

在語音識(shí)別中,多任務(wù)學(xué)習(xí)還有其他應(yīng)用場(chǎng)景,比如通過同時(shí)學(xué)習(xí)數(shù)字分類、噪聲語音增強(qiáng)和說話人性別識(shí)別任務(wù)來訓(xùn)練神經(jīng)網(wǎng)絡(luò),提高噪聲環(huán)境下數(shù)字識(shí)別的性能。給DNN選擇添加合適的輔助任務(wù),網(wǎng)絡(luò)能夠在不同的任務(wù)中利用公共的結(jié)構(gòu)去學(xué)習(xí)一個(gè)具有更好泛化能力的模型,比如同時(shí)識(shí)別音素和字素。

而且,受人類語言感知的雙模態(tài)原理(視覺和聽覺)的啟發(fā),還可以同時(shí)為DNN提供音頻和圖像,大概是唇語識(shí)別。

循環(huán)神經(jīng)網(wǎng)絡(luò)及相關(guān)模型

RNN和LSTM之前的文章也簡(jiǎn)要的提過。

我們?cè)谏衔闹?,提到GMM-HMM無法對(duì)語音的動(dòng)態(tài)特性進(jìn)行建模,因此有了HMM的若干種變種,以求捕捉更多現(xiàn)實(shí)的語音在時(shí)域中的動(dòng)態(tài)屬性的統(tǒng)計(jì)模型,比如隱藏動(dòng)態(tài)模型、軌跡分段模型等等。

同樣的,DNN-HMM方法也并沒有對(duì)語音的動(dòng)態(tài)特性進(jìn)行建模,所以人們考慮引入RNN,在時(shí)間維度上使用一個(gè)帶時(shí)間延遲的循環(huán)結(jié)構(gòu)使網(wǎng)絡(luò)擁有了記憶結(jié)構(gòu),通常表示為一個(gè)內(nèi)部狀態(tài)。RNN所使用的狀態(tài)空間使得它可以表示和學(xué)習(xí)常見時(shí)間范圍內(nèi)序列的相關(guān)性。

首先RNN本身就是一個(gè)深度模型,而且RNN如果在時(shí)間上進(jìn)行展開,可以建立一個(gè)和輸入語音句子長(zhǎng)度一樣層數(shù)的深度模型。

RNN的訓(xùn)練主要依靠延時(shí)反向傳播算法(BPTT),它是經(jīng)典反向傳播算法(BP)的一個(gè)拓展,用于學(xué)習(xí)循環(huán)神經(jīng)網(wǎng)絡(luò)隨著時(shí)間展開網(wǎng)絡(luò)的權(quán)重矩陣和通過時(shí)間順序回傳錯(cuò)誤信號(hào),BP中對(duì)統(tǒng)一訓(xùn)練幀t時(shí)刻的多個(gè)堆積隱層,被替換成T個(gè)跨越時(shí)間的相同單一隱層。

這里其實(shí)還有幾個(gè)點(diǎn),但是難度較大,這里列出來,有機(jī)會(huì)再回來補(bǔ),BPTT、回聲狀態(tài)性質(zhì)、狀態(tài)緊縮、梯度消失的充分條件、梯度爆炸的必要條件、原始對(duì)偶法、拉格朗日算子。

計(jì)算型網(wǎng)絡(luò)

這里簡(jiǎn)單介紹一下什么是計(jì)算型網(wǎng)絡(luò)(computational network,CN),計(jì)算型網(wǎng)絡(luò)是一種描述任意學(xué)習(xí)機(jī)的整合框架,比如DNN、CNN、RNN、LSTM、邏輯回歸和最大熵模型等。一個(gè)CN是一個(gè)有向圖,其中的每個(gè)葉子節(jié)點(diǎn)代表一個(gè)輸入值或者一個(gè)參數(shù),每個(gè)非葉子節(jié)點(diǎn)表示一個(gè)在它的子節(jié)點(diǎn)上的矩陣操作。

在主要的機(jī)器學(xué)習(xí)模型中,例如DNN、CNN、RNN有一個(gè)常見的屬性:所有的這些模型都可以被描述成一系列的計(jì)算步驟,如果我們知道如何計(jì)算每一步和每一步計(jì)算的順序,就有了一個(gè)神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)。該觀察表明,我們可以在計(jì)算型網(wǎng)絡(luò)的框架下統(tǒng)一所有這些模型,其中部分模型就已經(jīng)實(shí)現(xiàn)在Theano、Tensorflow、CNTK這些工具中實(shí)現(xiàn)了。

CN給我們提供了描述任意網(wǎng)絡(luò)時(shí)更大的便利性,并且允許我們?cè)谕瑯拥穆?lián)合框架里構(gòu)建幾乎所有我們感興趣的模型。比如我們可以很容易的修改某神經(jīng)網(wǎng)絡(luò),比如以ReLU代替Sigmoid,或者自定義的去建立一個(gè)共享模型參數(shù)的網(wǎng)絡(luò)。

總結(jié)以及未來研究方向

在語音識(shí)別中應(yīng)用神經(jīng)網(wǎng)絡(luò)可以追溯到20世紀(jì)80年代,比如ANN/HMM、時(shí)間延遲神經(jīng)網(wǎng)絡(luò)(TDNN),但是效果一直無法與優(yōu)化后的GMM-HMM相比,后來CD-DNN-HMM被提出了,效果遠(yuǎn)好于GMM-HMM。

CD-DNN-HMM商用的第一個(gè)問題就是解碼速度的問題,如果使用簡(jiǎn)陋的實(shí)現(xiàn),在單個(gè)CPU核上計(jì)算DNN的聲學(xué)分?jǐn)?shù)需要3.89倍的實(shí)時(shí)時(shí)間,后來,Google采用了量化、SIMD指令、批量化和延遲計(jì)算等技術(shù)后,DNN的計(jì)算時(shí)間相應(yīng)的降到了0.21倍的實(shí)時(shí)時(shí)間。

然后第二個(gè)問題是訓(xùn)練速度,盡管訓(xùn)練309小時(shí)的CD-DNN-HMM的表現(xiàn)已經(jīng)比2000小時(shí)訓(xùn)練數(shù)據(jù)上訓(xùn)練出來的CD-GMM-HMM系統(tǒng)表現(xiàn)更好,但仍然無法令人滿意,為了進(jìn)一步提高訓(xùn)練速度,一些并行的訓(xùn)練算法被開發(fā)出來,而且異步隨機(jī)梯度下降算法也被應(yīng)用來提高訓(xùn)練速度。2013年,低秩近似算法被提出,用較小的矩陣的乘積來近似較大的矩陣,可以用于加速訓(xùn)練和解碼,可以減少2/3的解碼時(shí)間,而且簡(jiǎn)單有效,已被廣泛應(yīng)用于商用語音識(shí)別系統(tǒng)中。

然后是序列鑒別性訓(xùn)練被提出,因?yàn)榻徊骒負(fù)p失函數(shù)是幀級(jí)別的,如果采用序列鑒別性訓(xùn)練準(zhǔn)則明顯可以低風(fēng)險(xiǎn)的提高語音識(shí)別的準(zhǔn)確率。

GMM本身不能轉(zhuǎn)換特征,在傳統(tǒng)的GMM系統(tǒng)中,特征的處理需要包含很多步驟,但是人們開始發(fā)現(xiàn),對(duì)于DNN系統(tǒng)來說,很多特征處理步驟都是無足輕重的。人們解釋為,所有DNN的隱層都可以認(rèn)為是一個(gè)強(qiáng)大的非線性特征轉(zhuǎn)化器,而softmax層是基于前一隱層表征的分類器。特征轉(zhuǎn)化和分類之間可以交叉優(yōu)化。而且DNN可以將相關(guān)輸入中很多在GMM系統(tǒng)中不能直接使用的特征用起來。

然后是自適應(yīng),當(dāng)CD-DNN-HMM被提出時(shí),有人擔(dān)心它缺少有效的自適應(yīng)技術(shù),為了處理這個(gè)問題,特征鑒別性線性回歸自適應(yīng)技術(shù)被提出,而且后續(xù)還有加KLD正則項(xiàng)的保守訓(xùn)練,還有各種噪聲感知訓(xùn)練(NaT)、說話人感知訓(xùn)練(SaT)被提出,i-vector也被提出了,可以將說話人最重要的特征壓縮表示到一個(gè)低維固定長(zhǎng)度。

然后是多任務(wù)和遷移學(xué)習(xí),人們發(fā)現(xiàn)有些可以共享相似表征的任務(wù)可以共享隱層隱層結(jié)構(gòu),發(fā)現(xiàn)通過添加合適的輔助任務(wù)可以提高模型的泛化性,而且還可以通過遷移學(xué)習(xí)利用相似任務(wù)的隱層結(jié)構(gòu)。

再然后是RNN和LSTM,這種結(jié)構(gòu)可以更好的考慮音頻在時(shí)域上的動(dòng)態(tài)特性,可以更充分有效的利用歷史信息。

現(xiàn)在的語音識(shí)別技術(shù)還有很多亟待提高的場(chǎng)景:

  • 遠(yuǎn)場(chǎng)麥克風(fēng)語音識(shí)別
  • 高噪音環(huán)境下語音識(shí)別
  • 帶口音的語音識(shí)別
  • 不流利的自然語音,變速或帶有情緒的語音識(shí)別
  • 多人語音或背景交談的語音識(shí)別

《淺談?wù)Z音識(shí)別基礎(chǔ)》至此結(jié)束,其實(shí)這篇文章我自己是很不滿意的,尤其是后面RNN的性質(zhì)、訓(xùn)練以及CN這兩部分,根本沒有深入進(jìn)去,都是淺嘗輒止。一個(gè)是因?yàn)槲覅⒖嫉倪@本《解析深度學(xué)習(xí):語音識(shí)別實(shí)踐》可以講是一本需要較豐富經(jīng)驗(yàn)才可以流暢理解的資料,而且這兩塊內(nèi)容的其他相關(guān)資料極少,無法對(duì)比參考,如果一篇篇英文論文去研究又太耗時(shí)間,也與我自身產(chǎn)品經(jīng)理的定位不符,所以就只好僅做簡(jiǎn)單的介紹。對(duì)于想通過閱讀這篇文章來增進(jìn)理論水平的技術(shù)人員(如果還真有的話),我感到十分抱歉,也非常慚愧。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容