承接前面的《淺談機(jī)器學(xué)習(xí)基礎(chǔ)》、《淺談深度學(xué)習(xí)基礎(chǔ)》和《淺談自然語言處理基礎(chǔ)》,主要參考了《解析深度學(xué)習(xí):語音識別實踐》以及其它相關(guān)博客和Wikipedia。
簡介
其實自動語音識別(Automatic Speech Recognition,ASR)這個研究領(lǐng)域已經(jīng)活躍了五十多年,但一直并沒有真正成為一種重要的人機(jī)交流的形式,一個是緣于當(dāng)時技術(shù)的落后,語音技術(shù)在大多數(shù)實際用戶實際使用的場景下還不大可用;另一個是,很多情況下使用鍵盤、鼠標(biāo)這樣的形式比語音更有效、更準(zhǔn)確、約束更小。
近年來,首先是,由于摩爾定律持續(xù)有效,今天可用的計算力僅僅相比十幾年前就高了幾個量級;其次是,借助越來越先進(jìn)的互聯(lián)網(wǎng)和云計算,我們得到了比先前多得多的數(shù)據(jù)資源。最后,移動設(shè)備、可穿戴設(shè)備、智能家居設(shè)備、車載信息娛樂系統(tǒng)正變得越來越流行,在這些設(shè)備和系統(tǒng)上,鼠標(biāo)和鍵盤不再那么便捷了,而對話交互會成為人機(jī)交互的未來。
語音技術(shù)同時可以促進(jìn)人類之間的交流(HHC)以及人機(jī)交流(HMC),HHC比如,發(fā)送給他人的語音消息可以轉(zhuǎn)化為文字方便閱讀,采用語音輸入也更為便捷,語音識別技術(shù)還可以用來將演講和課程內(nèi)容進(jìn)行識別和索引;HMC比如,語音搜索、個人智能助理、聲控游戲、智能家居等。
一個語音對話系統(tǒng)一般包含四個主要組成部分中的一個或多個:語音識別系統(tǒng)將語音轉(zhuǎn)化為文本、語義理解系統(tǒng)提取用戶說話的語義信息、文字轉(zhuǎn)語音系統(tǒng)將內(nèi)容轉(zhuǎn)化為語音、對話管理系統(tǒng)連接其他三個系統(tǒng)并完成與實際應(yīng)用場景的溝通。如下圖:

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

信號處理和特征提取是語音識別系統(tǒng)的第一部分,接受最原始的音頻信號,通過消除噪聲和信道失真對語音進(jìn)行增強(qiáng),將信號從時域轉(zhuǎn)化到頻域,并為后面的聲學(xué)模型提取合適的有代表性的特征向量。
聲學(xué)模型以特征提取部分生成的特征為輸入,為可變長特征序列生成聲學(xué)模型分?jǐn)?shù)。
語言模型估計通過訓(xùn)練語料學(xué)習(xí)詞與詞之間的相互關(guān)系,來估計假設(shè)詞序列的可能性,又叫語言模型分?jǐn)?shù)。如果了解領(lǐng)域或任務(wù)相關(guān)的先驗知識,語言模型的分?jǐn)?shù)通常可以估計的更準(zhǔn)確。
解碼搜索綜合聲學(xué)模型分?jǐn)?shù)與語言模型分?jǐn)?shù)的結(jié)果,將總體輸出分?jǐn)?shù)最高的詞序列當(dāng)做識別結(jié)果。
或者看這張圖:

語音識別就是一個先編碼后解碼的過程,信號處理和特征提取就是編碼的過程,也即圖中的Feature Extraction,特征抽取,由原始的語音得到語音向量。后面即是對語音向量的解碼,而解碼需要的Acoustic Model、Language Model就是上面提到過的聲學(xué)模型和語言模型。聲學(xué)模型這篇文章會著重講,語言模型就是《淺談自然語言處理基礎(chǔ)》里面提過的N-gram那部分。
聲學(xué)模型處理的問題主要在于特征向量序列的可變長和音頻信號的豐富變化性,因為語音長度是不確定的,所以特征向量序列的長度也是不確定的,我們一般通過動態(tài)時間規(guī)整方法和隱馬爾可夫模型來處理。音頻信號的豐富變化性指,音頻信號的多樣性會由說話人的性別、健康狀況、緊張程度、說話風(fēng)格以及環(huán)境噪聲、周圍人聲、信道扭曲、方言差異、非母語口音等各種原因所引起。
在過去,信號處理和特征抽取一般用梅爾倒譜系數(shù)或者相對頻譜變換-感知線性預(yù)測
作為特征向量,然后使用混合高斯模型-隱馬爾可夫模型(GMM-HMM)作為聲學(xué)模型,然后再用最大似然準(zhǔn)則(maximum likelihood,ML)去訓(xùn)練,再之后序列鑒別性訓(xùn)練算法,比如最小分類錯誤(MCE)和最小音素錯誤(MPE)等準(zhǔn)則被提了出來。
近些年,分層鑒別模型比如DNN,變得可行起來,比如上下文相關(guān)的深度神經(jīng)網(wǎng)絡(luò)-隱馬爾可夫模型(context-dependent DNN-HMM,CD-DNN-HMM)就比傳統(tǒng)的GMM-HMM表現(xiàn)要好得多。這篇文章將會著重介紹CD-DNN-HMM。
混合高斯模型
這里先說一下什么是高斯分布,高斯分布就是正態(tài)分布。如下圖:

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

E(x) = μ,var(x) = σ^2 = r^(?1)
正態(tài)分布的累積分布函數(shù)如下圖所示,與前面提過的Sigmoid函數(shù)類似:

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

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


這里的x就不再是一個值而是一個向量,擁有多個維度。Σm是協(xié)方差矩陣,前面講PCA主成分分析時提到過,協(xié)方差矩陣用于描述不同維度變量之間的相關(guān)關(guān)系。
在這里,如果變量x的維度很大,那么使用全協(xié)方差矩陣(非對角)將引入大量參數(shù),為了減少這個數(shù)量,可以使用對角協(xié)方差矩陣,或者所有M模態(tài)都使用同樣的協(xié)方差矩陣。
前面說,協(xié)方差矩陣用于描述不同維度變量之間的相關(guān)關(guān)系,如果我們采用了對角陣,看似是假設(shè)了數(shù)據(jù)向量的各個維度不相關(guān),但是實際上,因為混混合高斯模型具有多個高斯成分,多個模態(tài),所以雖然每個成分都使用了對角協(xié)方差矩陣,但總體上至少可以有效地描述由一個使用全協(xié)方差矩陣的單高斯模型所描述的向量維度相關(guān)性。
對GMM相關(guān)參數(shù)變量的訓(xùn)練,需要用到EM算法,這個算法在《淺談自然語言處理基礎(chǔ)》中有詳細(xì)的講解。
講完了高斯模型,我們需要討論一下如何利用混合高斯分布對語音特征建模的問題。
原始語音數(shù)據(jù)經(jīng)過一些處理(如短時傅里葉變換形式或者取倒譜)后會成為特征序列,在忽略時序信息的條件下,可以以幀為單位,用GMM對語音特征進(jìn)行建模。GMM因其擬合任意復(fù)雜的、多種形式的分布能力而廣為人知。
如果把語音順序信息考慮進(jìn)去,GMM便不再是個好模型,因為它不包含任何順序信息,所以這里我們要引入隱馬爾可夫模型(HMM)與GMM結(jié)合,來處理時序問題。
我們利用GMM對HMM每個狀態(tài)的語音特征分布進(jìn)行建模,《淺談自然語言處理基礎(chǔ)》也詳細(xì)講過HMM了,這里的GMM就相當(dāng)于描述狀態(tài)的符號發(fā)射概率,對于屬于該狀態(tài)的語音特征向量的概率分布進(jìn)行建模。
GMM盡管有著眾多優(yōu)勢,但也有一個嚴(yán)重的不足,就是GMM不能有效地對呈非線性或近似非線性的數(shù)據(jù)進(jìn)行建模。比如描述一個球面,如果選擇合適的模型,只需要很少的參數(shù),而GMM卻需要非常多對角協(xié)方差高斯分布或相當(dāng)多的全協(xié)方差高斯分布。
隱馬爾可夫模型及其變體
前面的文章已經(jīng)詳細(xì)的講過了HMM的基礎(chǔ)內(nèi)容,這里著重說一下之前沒有覆蓋到的部分。
先說什么是馬爾可夫鏈的穩(wěn)態(tài)分布。
我們講過HMM有初始條件概率分布矩陣π和狀態(tài)間轉(zhuǎn)移概率矩陣a,這部分就源自馬爾可夫鏈??紤]這樣一個問題,我們可以直觀的感受到,從一個固定的初始狀態(tài)出發(fā),馬爾可夫鏈第n步之后的分布和初始狀態(tài)以及n都是相關(guān)的,同時與初始狀態(tài)的相關(guān)性會隨著時間增長而衰減。但在理論研究和實際應(yīng)用的很多情形下,我們并不希望第n步后的分布取決于初始位置和n。
所以由此引出了一種具有穩(wěn)態(tài)分布的馬爾可夫鏈,這種馬爾可夫鏈滿足一定的條件,使得該馬爾可夫鏈之于這個穩(wěn)態(tài)分布是漸進(jìn)無偏的,也即無論初始分布如何,馬爾可夫鏈到它的穩(wěn)態(tài)分布都是漸進(jìn)收斂的。具有穩(wěn)態(tài)分布的馬爾可夫鏈,從任何初始狀態(tài)出發(fā),第n步分布在n趨于無窮的時候都會趨近于同樣的穩(wěn)態(tài)分布。
另一點對于HMM要提到的,如果HMM各個狀態(tài)的觀測概率分布沒有任何重疊,那么這樣的序列便不是一個隱馬爾可夫模型,因為盡管狀態(tài)有了隨機(jī)性,但對一個特定的狀態(tài)而言,由于概率分布沒有重疊,某個固定范圍內(nèi)的觀察值總能找到唯一的狀態(tài)與之對應(yīng),那在這種情況下,HMM便退化成了馬爾可夫鏈,也即相當(dāng)于只有單重隨機(jī)過程。
前面簡單的提到了GMM與HMM的結(jié)合,這里詳細(xì)說一下。GMM用于描述HMM中給定狀態(tài)下的符號發(fā)射概率,有多少種狀態(tài)就有多少個GMM,每個狀態(tài)自己獨占一個GMM。然后相當(dāng)于我們有了一張GMM分布圖,是這個狀態(tài)下的不同符號的發(fā)射概率,這樣給定輸出符號就能在相應(yīng)的GMM圖中找到該狀態(tài)產(chǎn)生該指定符號的概率,橫坐標(biāo)就是輸出符號,縱坐標(biāo)是生成概率。當(dāng)然如果M=1,那混合高斯分布就退化成了高斯分布。
在HMM中,輸出序列用于描述語音特征向量,而狀態(tài)序列代表相應(yīng)的文字,所以語音識別問題就是HMM中的解碼問題,在HMM中,我們用維特比算法來解碼,得到概率最大的狀態(tài)序列。
維特比算法所找到的針對一個從左到右傳播的HMM的最佳狀態(tài)轉(zhuǎn)移路徑,等價于確定最優(yōu)HMM狀態(tài)分割所需要的信息。狀態(tài)分割的概念在語音建模和識別中最常用于從左到右傳播的HMM,其中每個HMM狀態(tài)通常與較大數(shù)量的連續(xù)幀數(shù)的觀察向量序列相對應(yīng)。
傳統(tǒng)的認(rèn)為,圖像和視頻是高維信號,相比之下,語音是一維時間信號。這種觀點過于簡單,語音實際上應(yīng)被視為二維信號,其中空間(即頻率或音位)和時間維度有很不一樣的性質(zhì)。
盡管GMM-HMM在語音建模和識別中取得了巨大成功,但20世紀(jì)90年代,人們開始開發(fā)可以捕捉更多現(xiàn)實的語音在時域中的動態(tài)屬性的統(tǒng)計模型,比如隱藏動態(tài)模型、軌跡分段模型等等。
這些HMM模型變體的共同之處在于模型中都包含了時間的動態(tài)結(jié)構(gòu),它們依賴對語音時序相關(guān)結(jié)構(gòu)不同的先驗知識簡化假設(shè)。根據(jù)這種結(jié)構(gòu)的特點,我們可以把這些模型分為兩類,第一類模型關(guān)注表層聲學(xué)級別的時間相關(guān)結(jié)構(gòu);第二類由較深的隱藏的動態(tài)結(jié)構(gòu)組成,其中底層的語音產(chǎn)生機(jī)制被用作一種先驗知識來描述可觀察的語音模式的時間結(jié)構(gòu)。
在其中很多生成性動態(tài)/軌跡模型中,時間跨度通常由一系列語言標(biāo)簽決定,它們將整句從左到右的分成多個段。因此是分段模型。
這里有些難理解,我提出我自己的理解,也許不正確。在傳統(tǒng)GMM-HMM中,我們?yōu)槊總€狀態(tài)訓(xùn)練一個GMM來描述符號發(fā)射概率,但即便是同樣的狀態(tài),不同時序下的GMM也應(yīng)該是有一定區(qū)別的,可HMM中有有限歷史性假設(shè)和輸出獨立性假設(shè),無法考慮到更多的信息,所以我們考慮通過引入一些先驗知識來優(yōu)化這塊的假設(shè),增加對時間的動態(tài)結(jié)構(gòu)的考慮。所謂分段,大概是對該時間段內(nèi)狀態(tài)所對應(yīng)的符號發(fā)射概率進(jìn)行統(tǒng)一的調(diào)整,以更貼近真實情況。
深度神經(jīng)網(wǎng)絡(luò)
DNN在《淺談深度學(xué)習(xí)基礎(chǔ)》中也有過詳細(xì)的講解了,這里也是著重說一下之前沒有覆蓋到的內(nèi)容。
像權(quán)重衰減、dropout、mini-batch、bagging、boosting、momentum,自適應(yīng)學(xué)習(xí)速率這些都有講過,還缺一個數(shù)據(jù)預(yù)處理。
數(shù)據(jù)預(yù)處理在許多機(jī)器學(xué)習(xí)算法中都扮演著重要的角色,常見的有樣本特征歸一化和全局特征標(biāo)準(zhǔn)化,也都很好理解。
如果每個樣本均值的變化與處理的問題無關(guān),就應(yīng)該將特征均值歸零,減小特征相對于深度神經(jīng)網(wǎng)絡(luò)模型的變化,例如,減去一張圖片的強(qiáng)度均值,可以減弱亮度引起的變化。
全局特征標(biāo)準(zhǔn)化的目標(biāo)是使用全局轉(zhuǎn)換縮放每維數(shù)據(jù),使得最終的特征向量處于相似的動態(tài)范圍內(nèi),例如在圖像處理中,經(jīng)常將[0, 255]范圍內(nèi)的色值縮放到[0, 1]范圍內(nèi)。
高級模型初始化技術(shù)
至于模型初始化,《淺談深度學(xué)習(xí)基礎(chǔ)》也講過了,就是自編碼器和受限玻爾茲曼機(jī)。它們能對網(wǎng)絡(luò)進(jìn)行一定程度的預(yù)訓(xùn)練,在防止陷入局部最優(yōu)或梯度消失上能起到一定的作用。
深度神經(jīng)網(wǎng)絡(luò)-隱馬爾可夫模型混合系統(tǒng)(DNN-HMM)
這里我們先給出兩張圖,分別是GMM-HMM和DNN-HMM的示意圖:
從圖中可以看到,就像上文所說的,HMM中的狀態(tài)序列就是語音識別的結(jié)果詞匯序列,每種狀態(tài)對應(yīng)一種GMM,根據(jù)這個GMM可以得到該狀態(tài)生成不同語音特征向量的概率。
接下來是DNN-HMM:
在混合系統(tǒng)中,HMM對語音信號的序列特性進(jìn)行建模,DNN對所有聚類后的狀態(tài)的似然度進(jì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中,對于所有的狀態(tài),我們只訓(xùn)練一個完整的DNN來估計狀態(tài)的后驗概率,這與傳統(tǒng)的GMM是不同的,因為GMM框架下,我們會使用多個不同的GMM對不同的狀態(tài)建模。除此之外,典型的DNN輸入不是單一的一幀,而是一個2ω+1幀大小的窗口特征,這使得相鄰幀的信息可以被有效的利用。
CD-DNN-HMM的解碼
這里一定要說明的一點是,我們想一下,HMM對于符號發(fā)射概率分布的要求是什么?是給定某狀態(tài)的前提下,產(chǎn)生某輸出符號的概率。再考慮一下GMM是怎么做的,是每個狀態(tài)給了一張GMM分布圖,再根據(jù)輸出符號,就能找到給定某狀態(tài)的前提下,產(chǎn)生某輸出符號的概率。但是DNN不一樣,上面也說了,DNN的輸入是一個多幀的語音向量,輸出是不同狀態(tài)的概率,也即與HMM的要求相反,DNN描述的是,給定某輸出符號的前提下,該輸出符號是由某個狀態(tài)產(chǎn)生的概率。所以我們就需要通過貝葉斯公式將DNN計算出來的這個似然度轉(zhuǎn)為HMM需要的后驗概率。

HMM要的是后驗概率,也就是式子左邊的,給定狀態(tài)下,某輸出符號的概率,DNN給的是式子右側(cè)加粗的似然度,所以我們通過上式得到后延概率。P(Ot1)是語音向量出現(xiàn)的概率,與字詞序列無關(guān),這里可以忽略。P(St1)是某狀態(tài)的先驗概率,在緩解標(biāo)注不平衡問題中是非常重要的,特別是訓(xùn)練句中包含很長靜音段時就更是如此。
由CD-DNN-HMM最終解碼出的字詞序列需要同時考慮到聲學(xué)模型和語言模型的概率,通過權(quán)重系數(shù)λ去平衡二者之間的關(guān)系。語言模型的概率由其它訓(xùn)練方法根據(jù)訓(xùn)練語料得出,而聲學(xué)模型的概率,是所有狀態(tài)轉(zhuǎn)移概率以及符號發(fā)射概率的乘積。
CD-DNN-HMM的訓(xùn)練
訓(xùn)練CD-DNN-HMM的第一步通常就是使用無監(jiān)督的訓(xùn)練數(shù)據(jù)訓(xùn)練一個GMM-HMM系統(tǒng),因為DNN訓(xùn)練標(biāo)注是由GMM-HMM系統(tǒng)采用維特比算法產(chǎn)生得到的,而且標(biāo)注的質(zhì)量會影響DNN系統(tǒng)的性能。(我們知道,訓(xùn)練GMM-HMM采用EM算法,只需給定觀察序列,而不需給定標(biāo)注結(jié)果,而DNN需要相應(yīng)的標(biāo)注結(jié)果)
這里先詳細(xì)的講一下涉及到的語音學(xué)的知識。
語音是一個連續(xù)的音頻流,它是由大部分的穩(wěn)定態(tài)和部分動態(tài)改變的狀態(tài)混合構(gòu)成。
一個單詞的發(fā)聲(波形)實際上取決于很多因素,而不僅僅是音素,例如音素上下文、說話者、語音風(fēng)格等;
協(xié)同發(fā)音(指的是一個音受前后相鄰音的影響而發(fā)生變化,從發(fā)聲機(jī)理上看就是人的發(fā)聲器官在一個音轉(zhuǎn)向另一個音時其特性只能漸變,從而使得后一個音的頻譜與其他條件下的頻譜產(chǎn)生差異。)的存在使得音素的感知與標(biāo)準(zhǔn)不一樣,所以我們需要根據(jù)上下文來辨別音素。將一個音素劃分為幾個亞音素單元。如:數(shù)字『three』,音素的第一部分與在它之前的音素存在關(guān)聯(lián),中間部分是穩(wěn)定的部分,而最后一部分則與下一個音素存在關(guān)聯(lián),這就是為什么在用HMM模型做語音識別時,選擇音素的三狀態(tài)HMM模型。(上下文相關(guān)建模方法在建模時考慮了這一影響,從而使模型能更準(zhǔn)確地描述語音,只考慮前一音的影響的稱為Bi-Phone,考慮前一音和后一音的影響的稱為 Tri-Phone。)
有時候,音素會被放在上下文中考慮,這樣就形成了三音素或者多音素。但它與亞音素不同,他們在波形中匹配時長度還是和單一音素一樣。只是名字上的不同而已,所以我們更傾向于將這樣的多音素稱為senone。一個senone的上下文依賴比單純的左右上下文復(fù)雜得多,它是一個可以被決策樹或者其他方式來定義的復(fù)雜函數(shù)。(英語的上下文相關(guān)建模通常以音素為基元,由于有些音素對其后音素的影響是相似的,因而可以通過音素解碼狀態(tài)的聚類進(jìn)行模型參數(shù)的共享。聚類的結(jié)果稱為senone。決策樹用來實現(xiàn)高效的triphone對senone的對應(yīng),通過回答一系列前后音所屬類別(元/輔音、清/濁音等等)的問題,最終確定其HMM狀態(tài)應(yīng)使用哪個senone。分類回歸樹CART模型用以進(jìn)行詞到音素的發(fā)音標(biāo)注。)
在實際應(yīng)用中,senone的聲學(xué)模型就是三態(tài)高斯混合模型。簡單的說,它就是一個最有可能的特征向量。
一旦訓(xùn)練好GMM-HMM模型hmm0,我們就可以創(chuàng)建一個從狀態(tài)名字到senoneID的映射,前面也提到了,從狀態(tài)到senone的映射并不簡單,因為每個邏輯三音素是由聚類后的一系列物理三音素代表的。
然后我們利用hmm0采用維特比算法生成一個狀態(tài)層面的強(qiáng)制對齊,以生成從特征到senoneID的映射對,為DNN提供標(biāo)注好的訓(xùn)練數(shù)據(jù)。
上下文窗口的影響
我們前面提到,DNN的輸入是一個長為2ω+1(典型的是9到13)幀大小的窗口特征,這樣引入了相鄰幀,DNN也可以對不同特征幀之間的相互關(guān)系進(jìn)行建模,這樣部分緩和了傳統(tǒng)的HMM無法滿足輸出獨立性假設(shè)的問題。
CD-DNN-HMM的關(guān)鍵模塊
一系列的實驗成果表明,CD-DNN-HMM相較于GMM-HMM,帶來性能提升的三大關(guān)鍵因素是:
- 使用足夠深的深度神經(jīng)網(wǎng)絡(luò)
- 使用一長段幀作為輸入
- 直接對三音素進(jìn)行建模,使用三音素是性能提升的最大單一來源
傳統(tǒng)的DNN是采用softmax作為輸出層,我們也可以將softmax層換成KL距離,KL距離就是我們在上篇中提到的相對熵,用于度量兩種概率分布之間的差異。
這里要著重的講一下softmax了,雖然在《淺談深度學(xué)習(xí)基礎(chǔ)》中簡答的提到過softmax層起到了歸一化,便于計算概率的作用,但softmax遠(yuǎn)不止這么簡單。
首先softmax是對數(shù)似然度,是一種對數(shù)線性模型。而且softmax就是最大熵模型的結(jié)果,學(xué)習(xí)softmax層的參數(shù)過程就等同于在輸出層前一層給定特征的基礎(chǔ)上訓(xùn)練一個最大熵模型。且多類分類問題的目標(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的解碼時間。
深度神經(jīng)網(wǎng)絡(luò)序列鑒別性訓(xùn)練
傳統(tǒng)DNN進(jìn)行多分類問題時通常采用交叉熵?fù)p失函數(shù),它能夠獨立的處理每一幀語音向量,但是,語音識別本質(zhì)上是一個序列分類問題,DNN的輸入也是一長段幀,所以我們需要引入一些更契合這種問題的序列鑒別性訓(xùn)練方法,比如常用的最大互信息(MMI)、增強(qiáng)型最大互信息(BMMI)、最小音素錯誤(MPE)和最小貝葉斯風(fēng)險訓(xùn)練準(zhǔn)則(MBR)。
這里簡單介紹一下這幾種方法的基本思想,語音識別中使用的最大互信息(MMI)準(zhǔn)則旨在最大化單詞序列分布和觀察序列分布的互信息。增強(qiáng)型MMI是MMI準(zhǔn)則的一個變種,它增強(qiáng)了錯誤較多的路徑的似然度。最小音素錯誤和狀態(tài)級最小貝葉斯風(fēng)險都旨在最小化不同顆粒度標(biāo)注下的期望錯誤。比如,MPE準(zhǔn)則旨在最小化期望音素錯誤,而狀態(tài)級貝葉斯風(fēng)險(sMBR)旨在最小化狀態(tài)錯誤的統(tǒng)計期望。
序列鑒別性訓(xùn)練準(zhǔn)則的形式可以有很多,如果準(zhǔn)則被形式化成最大化的目標(biāo)方程,我們可以通過乘以-1來使其成為一個最小化的損失函數(shù)。這樣損失函數(shù)可以被永遠(yuǎn)形式化為兩個詞圖的值的比率:代表參考標(biāo)注的分子詞圖和代表與之競爭的解碼輸出的分母詞圖。
這里我們介紹一下詞圖(lattice),詞圖本質(zhì)上是一個有向無環(huán)(directed acyclic graph)圖。每個詞網(wǎng)格包含一個開始結(jié)點以及一個結(jié)束結(jié)點,即在每個詞網(wǎng)格中,僅存在一個入度(in-degree)為0的節(jié)點和一個出度(out-degree)為0的節(jié)點。我們也一般采用詞圖來保存識別的候選序列。

深度神經(jīng)網(wǎng)絡(luò)中的特征表示學(xué)習(xí)
在傳統(tǒng)的淺層模型中,特征工程師系統(tǒng)成功的關(guān)鍵。從業(yè)者的主要工作就是構(gòu)建特定任務(wù)上,對特定學(xué)習(xí)算法表現(xiàn)良好的特征。系統(tǒng)的提高通常來自具有某個強(qiáng)大領(lǐng)域知識的人發(fā)現(xiàn)了一個更好的特征,典型的例子包括廣泛用于圖像識別的尺度不變特征轉(zhuǎn)換(SIFT)和用于語音識別任務(wù)的梅爾倒譜系數(shù)(MFCC)。
然后像深度神經(jīng)網(wǎng)絡(luò)這樣的深度模型,不需要手工定制的高級特征。相反,它們可以自動聯(lián)合學(xué)習(xí)特征表示和分類器。
前面也說了,softmax層,本質(zhì)上是一個簡單的對數(shù)線性分類器,或者有時也被稱作最大熵模型。因此,DNN生成后驗概率的過程也可以被認(rèn)為是一個兩步非隨機(jī)過程,第一步,通過L-1層的非線性變換,觀察向量被轉(zhuǎn)換成一個L-1層隱神經(jīng)元個數(shù)維的特征向量。第二步,在給定轉(zhuǎn)換好的特征向量后,根據(jù)這個特征向量訓(xùn)練一個最大熵模型。
在傳統(tǒng)的最大熵模型中,特征是人為設(shè)計的,人工的特征構(gòu)建適用于一些人們?nèi)菀子^察和知道什么特征可以被使用的任務(wù),而不適合那種原始特征高度可變的任務(wù)。然而在深度神經(jīng)網(wǎng)絡(luò)中,特征是由前L-1層定義的,并且最終根據(jù)訓(xùn)練數(shù)據(jù)通過最大熵模型聯(lián)合學(xué)習(xí)得到。這樣不僅消除了人工特征構(gòu)建過程中的繁瑣和錯誤,而且通過許多層的非線性變換,具有提取不變的和鑒別型特征的潛力,這種特征幾乎是不可能由人工構(gòu)建的。
在深度神經(jīng)網(wǎng)絡(luò)中,離輸入層越近的隱層表示越低層的特征,離輸出層越近的隱層表示更高層的特征。越低層的特征通常能抓住局部模式,同時這些局部模式對輸入特征的變化非常敏感。但是,更高層的特征因為建立在低層特征之上,顯得更加抽象和對輸入特征的變化更加具有不變性。
一般來說,特征是在分層深度模型中按階段處理的,每一個階段都可以被看作以下幾個可選步驟:歸一化、濾波器組處理、非線性處理和池化。
典型的歸一化技術(shù)包括均值消除、局部差異歸一化和方差歸一化;濾波器組處理的目的是把特征投影到一個更高的維度空間以便分類會更加容易,這可以通過維度擴(kuò)充或者特征投影得到;非線性處理是在深度模型里非常關(guān)鍵的一個步驟,因為線性變換的組合僅僅是另外一個線性變換,常用的非線性函數(shù)包括稀疏化、飽和、側(cè)抑制、雙曲正切、sigmoid和maxout;池化步驟引入了聚集和聚類,其目的是為了提取具有不變性的特征和降低維度。
在GMM框架下,通常使用對角協(xié)方差矩陣以減少模型參數(shù),此時(若M=1)要求輸入特征的每維相互獨立。但是DNN是判別模型,沒這種獨立性假設(shè)。
一個好特征的重要性質(zhì)就是它對變化的魯棒性,在語音信號中有兩種主要的變化類型:說話人變化和環(huán)境變化。在傳統(tǒng)的GMM-HMM中,這兩種類型的變化都需要被明確處理。
先是對說話人變化的魯棒性,主要有兩種方法,聲道長度歸一化(vocal tract length normalization,VTLN)和特征空間最大似然線性回歸(feature-space maximum likelihood linear regression,fMLLR)。
有這樣一個事實,聲道中的共振峰位置大體上是按照說話人的聲道長度單調(diào)的變化的,所以VTLN通過引入扭曲因子來實現(xiàn)聲道長度歸一化。
另一方面,fMLLR是一種作用于特征向量之上的仿射變換,其目的是使變換后的特征更好地適應(yīng)模型。
對環(huán)境變化的魯棒性也有相應(yīng)的向量泰勒級數(shù)(VTS)自適應(yīng)和最大似然線性回歸、歸一化輸入特征或者自適應(yīng)模型參數(shù)。
除了這兩者之外,還有對噪聲的魯棒性,其對應(yīng)的方法有噪聲自適應(yīng)訓(xùn)練(noise adaptive training,NAT);還有對語速變化的魯棒性。
而對于DNN,輸入數(shù)據(jù)中的小擾動會隨著我們轉(zhuǎn)移到更高層次內(nèi)在表達(dá)的過程中逐漸收縮。但也只能是小擾動,如果存在足夠大的偏移,DNN不能準(zhǔn)確地對它們進(jìn)行分類。
比如一個單獨的系統(tǒng)如果能夠同時識別8kHz采樣率錄音的窄帶語音信號和16kHz采樣率錄音的寬帶語音信號,那將會是很有優(yōu)勢的。
我們可以通過利用混合帶寬的訓(xùn)練數(shù)據(jù),讓DNN學(xué)習(xí)出寬帶和窄帶輸入特征的不同應(yīng)當(dāng)與識別結(jié)果不相關(guān)這一特性。寬窄帶的變化在多層的非線性轉(zhuǎn)換中被抑制。
深度神經(jīng)網(wǎng)絡(luò)和混合高斯模型的融合
在使用淺層的多層感知機(jī)時期,就有文獻(xiàn)提出了Tandem方法,它通過使用從一個或多個神經(jīng)網(wǎng)絡(luò)中衍生出來的特征來擴(kuò)展GMM-HMM系統(tǒng)中的輸入向量。換句話說,就是在GMM-HMM中使用由神經(jīng)網(wǎng)絡(luò)自主學(xué)習(xí)出來的特征。
還有文獻(xiàn)提出,要使用瓶頸隱層(隱層節(jié)點個數(shù)比其他隱層的少)的輸出作為特征的方法來代替直接使用神經(jīng)網(wǎng)絡(luò)的輸出特征向量。因為隱層的大小的選擇是獨立于輸出層大小的,這個方法提供了訓(xùn)練目標(biāo)維度和擴(kuò)展的特征維度之間的靈活性。而且瓶頸隱層在網(wǎng)絡(luò)中建立了一個限制,將用于分類的相關(guān)信息壓縮成一個低維度的表示。
提到這個『將用于分類的相關(guān)信息壓縮成一個低維度的表示』,RBM和稀疏自編碼器也能起到類似的作用,也可以被視為一種非線性的維度下降的方法。然而,因為從自動編碼器中學(xué)習(xí)到的瓶頸特征對識別任務(wù)沒有針對性,這些特征通常不如從那些用于進(jìn)行識別的神經(jīng)網(wǎng)絡(luò)的瓶頸層提取出的特征有區(qū)分性。
不過DNN中提出的特征的維度通常非常高,我們可以使用主成分分析(PCA)來減少特征的維度?;蛘呖梢灾苯訙p少最后一個隱層的大小,將其改造成一個瓶頸層。這里搞來一張示意圖:
但是我們很難知道哪一層隱層可以提取最好的特征,同樣,添加更多的隱層對性能是否有幫助也很難得知。
DNN-HMM混合系統(tǒng)與采用深度特征的GMM-HMM系統(tǒng)相比,性能幾乎相等,在實際中,CD-DNN-HMM系統(tǒng)運用起來更簡單。而且GMM可以被一個擁有非常寬的隱層,同時隱層與輸出層連接很稀疏的單隱層神經(jīng)網(wǎng)絡(luò)建模。
由傳統(tǒng)的GMM-HMM系統(tǒng)產(chǎn)生的識別錯誤和由DNN-HMM系統(tǒng)產(chǎn)生的錯誤往往是不一樣的,這使得通過融合GMM-HMM和DNN-HMM的結(jié)果可以獲得全局的性能提高。最廣泛的系統(tǒng)融合技術(shù)包括識別錯誤票選降低技術(shù)、分段條件隨機(jī)場、基于最小貝葉斯風(fēng)險的詞圖合并。
然后就是多流語音識別,目前最好的語音識別系統(tǒng)中固定分辨率(包括時域和頻域)的前端特征處理方法是權(quán)衡后的一種結(jié)果,這使得很多現(xiàn)象不能很好地被建模,比如CD-DNN-HMM的系統(tǒng)性能當(dāng)說話速度很快或很慢時會顯著下降。一個可能的解決方法是采用多流系統(tǒng),這種方法可以同時容納多個時間和頻率的分辨率。
常用的多流語音識別架構(gòu)也有三種,一種是所有流的特征合并在一起,然后使用一個單獨的DNN-HMM來生成結(jié)果。第二種是,每個流的特征先獨立使用分隔的DNN,然后再中阿金的一個集成層進(jìn)行集成,集成之后的特征隨后輸入一個單獨的DNN-HMM生成最后的結(jié)果。第三種是,每個獨立流的解碼結(jié)果融合得到最終的解碼結(jié)果。
深度神經(jīng)網(wǎng)絡(luò)的自適應(yīng)技術(shù)
與其它機(jī)器學(xué)習(xí)技術(shù)一樣,在深度神經(jīng)網(wǎng)絡(luò)中有一個假設(shè)是,訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)服從一個相同的概率分布,但實際上,這個假設(shè)是很難滿足的。
訓(xùn)練-測試的不匹配問題可以通過自適應(yīng)技術(shù)來解決,前面已經(jīng)提過了GMM-HMM框架下的自適應(yīng)方法,來保證對說話人、環(huán)境、噪音、語速等的魯棒性。但GMM是一個生成性模型,DNN是一個鑒別性模型,因為這個原因,DNN需要與GMM框架下不同的一些自適應(yīng)方法。
DNN的自適應(yīng)技術(shù)可以被分成三類:線性變換、保守訓(xùn)練和子空間方法。
線性變換的想法是,在輸入特征、某個隱層的激活或者softmax層的輸入處加上一個說話人或者環(huán)境相關(guān)的線性變換,通過一個線性變換,說話人相關(guān)的特征可以與說話人無關(guān)的DNN模型向匹配。
線性變換的常見方法有三種,第一種是線性輸入網(wǎng)絡(luò)(LIN),線性變換被應(yīng)用在輸入的特征上;第二種是線性輸出網(wǎng)絡(luò)(LON),在最后一個隱層上對一個特別的說話人使用一個線性變換,可以被放在softmax層的權(quán)重之前,也可以放在之后;第三種是線性隱層網(wǎng)絡(luò)(LHN),線性變換被用在隱層中,而且同樣的可以被用在原始權(quán)重矩陣之后或之前。而且前面也提到過,一個DNN的任意一個隱層都可以被劃分成兩部分,:包括輸入層的那一部分加上隱層可以被視為一個變換后的特征;包含輸出層的部分可以視作作用在隱層特征上的分類器。
LIN、LON、LHN雖然非常相似,但它們在參數(shù)數(shù)量和特征上還有微小的不同,而且性能是任務(wù)相關(guān)的。
然后是保守訓(xùn)練,保守訓(xùn)練是為了避免線性變換等其它自適應(yīng)方法出現(xiàn)過擬合,破壞之前學(xué)到的信息,我們可以通過添加正則項做到這一點。保守訓(xùn)練中最常使用的正則項是L2正則項和KLD正則項。
L2正則項之前詳細(xì)講過,這里主要提一下KL距離(KLD)正則項。KL距離正則項方法的直觀解釋是,從自適應(yīng)模型中估計出的senone后驗概率不應(yīng)和從未自適應(yīng)模型中估計出的后延概率差別太大。而且我們知道KL距離/相對熵就是描述兩種概率分布之間的差異的,所以我們把KLD添加到損失函數(shù)里去一起被最小化,就能限制兩種概率分布之間的差異不至于過大。
L2正則項限制的是模型參數(shù)自身,而非輸出概率,但我們在意的是輸出概率而不是模型參數(shù)自身,所以KLD正則項的表現(xiàn)不會比L2正則項更差。
保守訓(xùn)練只能減輕在自適應(yīng)過程中的過擬合問題,但并不能解決對每個說話人都要存儲一個巨大的自適應(yīng)模型的問題。我們可以采用SVD分解,并舍棄掉部分過小奇異值的方法來對模型大小進(jìn)行壓縮。
然后我們還有子空間方法,我們可以通過PCA構(gòu)建一個足夠大的說話人空間,每個新的說話人可以由特征向量的線性組合來表示,而且我們也可以通過丟棄特征向量中方差小的向量來控制。
還有一些子空間方法明確的從句子中估計噪聲或者說話人信息,并把這些信息輸入網(wǎng)絡(luò)中,希望DNN訓(xùn)練算法能夠自動理解怎樣利用噪聲、說話人或者設(shè)備信息來調(diào)整模型參數(shù)。
說話人信息的估計可以完全獨立于DNN訓(xùn)練,也即從一個獨立的DNN中學(xué)習(xí)得到,有文獻(xiàn)提出了i-vector方法,i-vector方法是在說話人確認(rèn)以及識別中流行的一種技術(shù),它在低維固定長度中壓縮表示了說話人特征最重要的信息,這對于ASR中的說話人自適應(yīng)來說是一個非常理想的工具。
深度神經(jīng)網(wǎng)絡(luò)中的表征共享和遷移
這部分簡單的介紹一下多任務(wù)學(xué)習(xí)和遷移學(xué)習(xí),在深度神經(jīng)網(wǎng)絡(luò)(DNN)中,每個隱藏層都是輸入DNN的原始數(shù)據(jù)的一種新特征表示(表征),較高層次的表征比較低層次的表征更抽象,我們可以通過多任務(wù)學(xué)習(xí)和遷移學(xué)習(xí)將這些表征共享和遷移到相關(guān)的任務(wù)。
多任務(wù)學(xué)習(xí)(Multitask learning,MTL)是一種旨在通過聯(lián)合學(xué)習(xí)多個相關(guān)的任務(wù)來提高模型泛化能力的機(jī)器學(xué)習(xí)技術(shù),這些相關(guān)的任務(wù)需要在一定抽象層次上可以共享一部分表征。MTL可以為每個任務(wù)增加訓(xùn)練數(shù)據(jù)量,而且有助于任務(wù)間遷移知識。

圖中畫紅圈的隱層就被三個任務(wù)所共享。
遷移學(xué)習(xí)致力于通過保持和利用從一個或多個相似的任務(wù)、領(lǐng)域或概率分布中學(xué)習(xí)到的知識,來快速并有效地為一個新的任務(wù)、領(lǐng)域或概率分布開發(fā)一個有較好性能的系統(tǒng),DNN得益于隱藏層所表示的更加抽象和更具不變性的特征,所以非常適合遷移學(xué)習(xí)。
經(jīng)實驗驗證,不僅法語DNN的隱層所表示的特征變換可以有效地遷移以識別美式英語語音,而且歐洲語言到中文普通話的遷移學(xué)習(xí)也是有效的。不過標(biāo)注信息是非常有必要提供的。
在語音識別中,多任務(wù)學(xué)習(xí)還有其他應(yīng)用場景,比如通過同時學(xué)習(xí)數(shù)字分類、噪聲語音增強(qiáng)和說話人性別識別任務(wù)來訓(xùn)練神經(jīng)網(wǎng)絡(luò),提高噪聲環(huán)境下數(shù)字識別的性能。給DNN選擇添加合適的輔助任務(wù),網(wǎng)絡(luò)能夠在不同的任務(wù)中利用公共的結(jié)構(gòu)去學(xué)習(xí)一個具有更好泛化能力的模型,比如同時識別音素和字素。
而且,受人類語言感知的雙模態(tài)原理(視覺和聽覺)的啟發(fā),還可以同時為DNN提供音頻和圖像,大概是唇語識別。
循環(huán)神經(jīng)網(wǎng)絡(luò)及相關(guān)模型
RNN和LSTM之前的文章也簡要的提過。
我們在上文中,提到GMM-HMM無法對語音的動態(tài)特性進(jìn)行建模,因此有了HMM的若干種變種,以求捕捉更多現(xiàn)實的語音在時域中的動態(tài)屬性的統(tǒng)計模型,比如隱藏動態(tài)模型、軌跡分段模型等等。
同樣的,DNN-HMM方法也并沒有對語音的動態(tài)特性進(jìn)行建模,所以人們考慮引入RNN,在時間維度上使用一個帶時間延遲的循環(huán)結(jié)構(gòu)使網(wǎng)絡(luò)擁有了記憶結(jié)構(gòu),通常表示為一個內(nèi)部狀態(tài)。RNN所使用的狀態(tài)空間使得它可以表示和學(xué)習(xí)常見時間范圍內(nèi)序列的相關(guān)性。
首先RNN本身就是一個深度模型,而且RNN如果在時間上進(jìn)行展開,可以建立一個和輸入語音句子長度一樣層數(shù)的深度模型。
RNN的訓(xùn)練主要依靠延時反向傳播算法(BPTT),它是經(jīng)典反向傳播算法(BP)的一個拓展,用于學(xué)習(xí)循環(huán)神經(jīng)網(wǎng)絡(luò)隨著時間展開網(wǎng)絡(luò)的權(quán)重矩陣和通過時間順序回傳錯誤信號,BP中對統(tǒng)一訓(xùn)練幀t時刻的多個堆積隱層,被替換成T個跨越時間的相同單一隱層。
這里其實還有幾個點,但是難度較大,這里列出來,有機(jī)會再回來補(bǔ),BPTT、回聲狀態(tài)性質(zhì)、狀態(tài)緊縮、梯度消失的充分條件、梯度爆炸的必要條件、原始對偶法、拉格朗日算子。
計算型網(wǎng)絡(luò)
這里簡單介紹一下什么是計算型網(wǎng)絡(luò)(computational network,CN),計算型網(wǎng)絡(luò)是一種描述任意學(xué)習(xí)機(jī)的整合框架,比如DNN、CNN、RNN、LSTM、邏輯回歸和最大熵模型等。一個CN是一個有向圖,其中的每個葉子節(jié)點代表一個輸入值或者一個參數(shù),每個非葉子節(jié)點表示一個在它的子節(jié)點上的矩陣操作。
在主要的機(jī)器學(xué)習(xí)模型中,例如DNN、CNN、RNN有一個常見的屬性:所有的這些模型都可以被描述成一系列的計算步驟,如果我們知道如何計算每一步和每一步計算的順序,就有了一個神經(jīng)網(wǎng)絡(luò)的實現(xiàn)。該觀察表明,我們可以在計算型網(wǎng)絡(luò)的框架下統(tǒng)一所有這些模型,其中部分模型就已經(jīng)實現(xiàn)在Theano、Tensorflow、CNTK這些工具中實現(xiàn)了。
CN給我們提供了描述任意網(wǎng)絡(luò)時更大的便利性,并且允許我們在同樣的聯(lián)合框架里構(gòu)建幾乎所有我們感興趣的模型。比如我們可以很容易的修改某神經(jīng)網(wǎng)絡(luò),比如以ReLU代替Sigmoid,或者自定義的去建立一個共享模型參數(shù)的網(wǎng)絡(luò)。
總結(jié)以及未來研究方向
在語音識別中應(yīng)用神經(jīng)網(wǎng)絡(luò)可以追溯到20世紀(jì)80年代,比如ANN/HMM、時間延遲神經(jīng)網(wǎng)絡(luò)(TDNN),但是效果一直無法與優(yōu)化后的GMM-HMM相比,后來CD-DNN-HMM被提出了,效果遠(yuǎn)好于GMM-HMM。
CD-DNN-HMM商用的第一個問題就是解碼速度的問題,如果使用簡陋的實現(xiàn),在單個CPU核上計算DNN的聲學(xué)分?jǐn)?shù)需要3.89倍的實時時間,后來,Google采用了量化、SIMD指令、批量化和延遲計算等技術(shù)后,DNN的計算時間相應(yīng)的降到了0.21倍的實時時間。
然后第二個問題是訓(xùn)練速度,盡管訓(xùn)練309小時的CD-DNN-HMM的表現(xiàn)已經(jīng)比2000小時訓(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的解碼時間,而且簡單有效,已被廣泛應(yīng)用于商用語音識別系統(tǒng)中。
然后是序列鑒別性訓(xùn)練被提出,因為交叉熵?fù)p失函數(shù)是幀級別的,如果采用序列鑒別性訓(xùn)練準(zhǔn)則明顯可以低風(fēng)險的提高語音識別的準(zhǔn)確率。
GMM本身不能轉(zhuǎn)換特征,在傳統(tǒng)的GMM系統(tǒng)中,特征的處理需要包含很多步驟,但是人們開始發(fā)現(xiàn),對于DNN系統(tǒng)來說,很多特征處理步驟都是無足輕重的。人們解釋為,所有DNN的隱層都可以認(rèn)為是一個強(qiáng)大的非線性特征轉(zhuǎn)化器,而softmax層是基于前一隱層表征的分類器。特征轉(zhuǎn)化和分類之間可以交叉優(yōu)化。而且DNN可以將相關(guān)輸入中很多在GMM系統(tǒng)中不能直接使用的特征用起來。
然后是自適應(yīng),當(dāng)CD-DNN-HMM被提出時,有人擔(dān)心它缺少有效的自適應(yīng)技術(shù),為了處理這個問題,特征鑒別性線性回歸自適應(yīng)技術(shù)被提出,而且后續(xù)還有加KLD正則項的保守訓(xùn)練,還有各種噪聲感知訓(xùn)練(NaT)、說話人感知訓(xùn)練(SaT)被提出,i-vector也被提出了,可以將說話人最重要的特征壓縮表示到一個低維固定長度。
然后是多任務(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)可以更好的考慮音頻在時域上的動態(tài)特性,可以更充分有效的利用歷史信息。
現(xiàn)在的語音識別技術(shù)還有很多亟待提高的場景:
- 遠(yuǎn)場麥克風(fēng)語音識別
- 高噪音環(huán)境下語音識別
- 帶口音的語音識別
- 不流利的自然語音,變速或帶有情緒的語音識別
- 多人語音或背景交談的語音識別
《淺談?wù)Z音識別基礎(chǔ)》至此結(jié)束,其實這篇文章我自己是很不滿意的,尤其是后面RNN的性質(zhì)、訓(xùn)練以及CN這兩部分,根本沒有深入進(jìn)去,都是淺嘗輒止。一個是因為我參考的這本《解析深度學(xué)習(xí):語音識別實踐》可以講是一本需要較豐富經(jīng)驗才可以流暢理解的資料,而且這兩塊內(nèi)容的其他相關(guān)資料極少,無法對比參考,如果一篇篇英文論文去研究又太耗時間,也與我自身產(chǎn)品經(jīng)理的定位不符,所以就只好僅做簡單的介紹。對于想通過閱讀這篇文章來增進(jìn)理論水平的技術(shù)人員(如果還真有的話),我感到十分抱歉,也非常慚愧。