人工智能產(chǎn)業(yè)鏈由基礎(chǔ)層、技術(shù)層與應(yīng)用層構(gòu)成,同樣,智能語音識別亦由這三層組成?;诖罅繑?shù)據(jù)的積累、深度神經(jīng)網(wǎng)絡(luò)模型的發(fā)展及算法的迭代優(yōu)化,近年,語音識別準(zhǔn)確率取得了不斷的提升。
基于大量數(shù)據(jù)的積累、深度神經(jīng)網(wǎng)絡(luò)模型的發(fā)展及算法的迭代優(yōu)化,近年,語音識別準(zhǔn)確率取得了不斷的提升。2016年10月,微軟宣布英語語音識別詞錯率下降到5.9%,從而能夠媲美人類。現(xiàn)階段,在理想的環(huán)境下,多家公司的語音識別系統(tǒng)已經(jīng)越過了實(shí)用的門檻,并在各個領(lǐng)域得到了廣泛的應(yīng)用。
人工智能產(chǎn)業(yè)鏈由基礎(chǔ)層、技術(shù)層與應(yīng)用層構(gòu)成。同樣,智能語音識別亦由這三層組成,本文從語音識別的商業(yè)化應(yīng)用出發(fā),并探討驅(qū)動語音識別發(fā)展的算法及硬件計算能力,三位一體淺析語音識別現(xiàn)狀、發(fā)展趨勢及仍然面臨的難點(diǎn)。
一、應(yīng)用
智能語音技術(shù)是人工智能應(yīng)用zui成熟的技術(shù)之一,并擁有交互的自然性,因而,其具有巨大的市場空間。中國語音產(chǎn)業(yè)聯(lián)盟《2015中國智能語音產(chǎn)業(yè)發(fā)展白皮書》數(shù)據(jù)顯示,2017年智能語音產(chǎn)業(yè)規(guī)模將超過百億美元,達(dá)到105億美元。中國2017年智能語音產(chǎn)業(yè)規(guī)模也將突破百億元,五年復(fù)合增長率超過60%。
科技*都在打造自己的智能語音生態(tài)系統(tǒng),國外有IBM、微軟、Google,國內(nèi)有百度、科大訊飛等。
IBM、微軟、百度等公司在語音識別方面,使用組合模型,不斷提升語音識別性能。微軟基于6個不同的深度神經(jīng)網(wǎng)絡(luò)構(gòu)成的聲學(xué)模型以及4個不同的深度神經(jīng)網(wǎng)絡(luò)構(gòu)成的語言模型,取得了超越人類的識別準(zhǔn)確率??拼笥嶏w則基于深度全序列卷積神經(jīng)網(wǎng)絡(luò)語音識別框架,取得了實(shí)用級的識別性能。云知聲、捷通華聲、思必馳等智能語音創(chuàng)業(yè)公司亦在不斷打磨自己的識別引擎,并能夠把自己的技術(shù)落地到產(chǎn)業(yè)中。
在*和創(chuàng)新者的推動下,語音識別逐漸在智能家居、智能車載、語音助手、機(jī)器人等領(lǐng)域取得迅猛發(fā)展。
1、智能家居
在智能家居,尤其是智能音箱市場,亞馬遜與Google處于行業(yè)統(tǒng)治地位,并各具特色。
亞馬遜的Echo已經(jīng)賣出近千萬臺,引爆了在線智能音箱市場。相比于傳統(tǒng)的音箱,Echo具有遠(yuǎn)程喚醒播放音樂、聯(lián)網(wǎng)查詢咨詢信息、智能控制家電等功能。但是在智能問答方面,Echo表現(xiàn)一般,Google以此為突破口,發(fā)布Google Home,從亞馬遜手中搶奪23.8%的智能音箱*。2017年9月,亞馬遜發(fā)布了多款Echo二代產(chǎn)品,相比一代在音質(zhì)上有明顯的提升,且Echo Plus具備更加強(qiáng)大的家居控制功能,能夠自動搜索到附件的智能家居設(shè)備,并進(jìn)行控制。
在我國的語控電視、語控空調(diào)、語控照明等智能語控家電市場,科大訊飛、云知聲、啟英泰倫做了深入布局。
科大訊飛聯(lián)合京東發(fā)布叮咚音箱,并于2016年推出訊飛電視助理,打造智能家居領(lǐng)域的入口級應(yīng)用。云知聲提供物聯(lián)網(wǎng)人工智能技術(shù),通過與格力等公司合作,把自己的語音識別技術(shù)集成到終端家電產(chǎn)品中,另外,云知聲發(fā)布的‘Pandora’語音中控方案,能夠大幅縮短產(chǎn)品智能化周期。啟英泰倫結(jié)合自己強(qiáng)大的硬件(終端智能語音識別芯片CI1006)及算法(深度學(xué)習(xí)語音識別引擎)優(yōu)勢,提供離線與在線的整套語音識別方案,并在物聯(lián)網(wǎng)各個領(lǐng)域有廣泛的布局。
2、智能車載
隨著智能網(wǎng)聯(lián)的發(fā)展,預(yù)計未來車聯(lián)網(wǎng)在車載端的滲透率將超過50%。但是基于安全性等因素考慮,車載端智能與手機(jī)端智能有極大的差別,從手機(jī)端簡單拷貝的方式并不適合車載端使用場景。語音基于其交互的自然性,被認(rèn)為是未來人與車交互的主要入口路徑。
百度借助自己的人工智能生態(tài)平臺,推出了智能行車助手CoDriver??拼笥嶏w與奇瑞等汽車制造商合作,推出了飛魚汽車助理,推進(jìn)車聯(lián)網(wǎng)進(jìn)程。搜狗與四維圖新合作推出了飛歌導(dǎo)航。云知聲、思必馳在導(dǎo)航、平視顯示器等車載應(yīng)用方面推出了多款智能語控車載產(chǎn)品。出門問問則基于自己的問問魔鏡進(jìn)入到智能車載市場。
在語音識別的商業(yè)化落地中,需要內(nèi)容、算法等各個方面的協(xié)同支撐,但是良好的用戶體驗(yàn)是商業(yè)應(yīng)用的*要素,而識別算法是提升用戶體驗(yàn)的核心因素。下文將從語音識別的算法發(fā)展路徑、算法發(fā)展現(xiàn)狀及前沿算法研究三個方面來探討語音識別技術(shù)。
二、算法
對于語音識別系統(tǒng)而言,*步要檢測是否有語音輸入,即,語音激活檢測(VAD)。在低功耗設(shè)計中,相比于語音識別的其它部分,VAD采用always on的工作機(jī)制。當(dāng)VAD檢測到有語音輸入之后,VAD便會喚醒后續(xù)的識別系統(tǒng)。識別系統(tǒng)總體流程如圖2所示,主要包括特征提取、識別建模及模型訓(xùn)練、解碼得到結(jié)果幾個步驟。
1、VAD(語音激活檢測)
用于判斷什么時候有語音輸入,什么時候是*狀態(tài)。語音識別后續(xù)的操作都是在VAD截取出來的有效片段上進(jìn)行,從而能夠減小語音識別系統(tǒng)噪聲誤識別率及系統(tǒng)功耗。在近場環(huán)境下,由于語音信號衰減有限,信噪比(SNR)比較高,只需要簡單的方式(比如過零率、信號能量)來做激活檢測。但是在遠(yuǎn)場環(huán)境中,由于語音信號傳輸距離比較遠(yuǎn),衰減比較嚴(yán)重,因而導(dǎo)致麥克風(fēng)采集數(shù)據(jù)的SNR很低,這種情況下,簡單的激活檢測方法效果很差。使用深度神經(jīng)網(wǎng)絡(luò)(DNN)做激活檢測是基于深度學(xué)習(xí)的語音識別系統(tǒng)中常用的方法(在該方法下,語音激活檢測即為一個分類問題)。在MIT的智能語音識別芯片中使用了精簡版的DNN來做VAD,該方法在噪聲比較大的情況下也具有很好的性能。但是更復(fù)雜的遠(yuǎn)場環(huán)境中,VAD仍然是未來研究的重點(diǎn)。
2、特征提取
梅爾頻率倒譜系數(shù)(MFCC)是zui為常用的語音特征,梅爾頻率是基于人耳聽覺特征提取出來的。MFCC主要由預(yù)加重、分幀、加窗、快速傅里葉變換(FFT)、梅爾濾波器組、離散余弦變換幾部分組成,其中FFT與梅爾濾波器組是MFCCzui重要的部分。但是近年研究表明,對于語音識別而言,梅爾濾波器組不一定是*方案。受限的玻爾茲曼機(jī)(RBM)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、CNN-LSTM-DNN(CLDNN)等深度神經(jīng)網(wǎng)絡(luò)模型作為一個直接學(xué)習(xí)濾波器代替梅爾濾波器組被用于自動學(xué)習(xí)的語音特征提取中,并取得良好的效果。
目前已經(jīng)證明,在特征提取方面,CLDNN比對數(shù)梅爾濾波器組有明顯的性能優(yōu)勢?;贑LDNN的特征提取過程可以總結(jié)為:在時間軸上的卷積、pooling、pooled信號進(jìn)入到CLDNN中三個步驟。
遠(yuǎn)場語音識別領(lǐng)域,由于存在強(qiáng)噪聲、回響等問題,麥克風(fēng)陣列波束成形仍然是主導(dǎo)方法。
另外,現(xiàn)階段,基于深度學(xué)習(xí)的波束成形方法在自動特征提取方面亦取得了眾多研究成果。
3、識別建模
語音識別本質(zhì)上是音頻序列到文字序列轉(zhuǎn)化的過程,即在給定語音輸入的情況下,找到概率zui大的文字序列?;谪惾~斯原理,可以把語音識別問題分解為給定文字序列出現(xiàn)這條語音的條件概率以及出現(xiàn)該條文字序列的先驗(yàn)概率,對條件概率建模所得模型即為聲學(xué)模型,對出現(xiàn)該條文字序列的先驗(yàn)概率建模所得模型是語言模型。
3.1 聲學(xué)模型
聲學(xué)模型是把語音轉(zhuǎn)化為聲學(xué)表示的輸出,即找到給定的語音源于某個聲學(xué)符號的概率。對于聲學(xué)符號,zui直接的表達(dá)方式是詞組,但是在訓(xùn)練數(shù)據(jù)量不充分的情況下,很難得到一個好的模型。詞組是由多個音素的連續(xù)發(fā)音構(gòu)成,另外,音素不但有清晰的定義而且數(shù)量有限。因而,在語音識別中,通常把聲學(xué)模型轉(zhuǎn)換成了一個語音序列到發(fā)音序列(音素)的模型和一個發(fā)音序列到輸出文字序列的字典。
需要注意的是,由于人類發(fā)聲器官運(yùn)動的連續(xù)性,以及某些語言中特定的拼讀習(xí)慣,會導(dǎo)致音素的發(fā)音受到前后音素的影響。為了對不同語境的音素加以區(qū)分,通常使用能夠考慮前后各一個音素的三音子作為建模單元。
另外,在聲學(xué)模型中,可以把三音子分解為更小的顆粒—狀態(tài),通常一個三音子對應(yīng)3個狀態(tài),但是這會引起建模參數(shù)的指數(shù)增長,常用的解決方案是使用決策樹先對這些三音子模型進(jìn)行聚類,然后使用聚類的結(jié)果作為分類目標(biāo)。
至此,語音識別有了zui終的分類目標(biāo)—狀態(tài)。zui常用的聲學(xué)建模方式是隱馬爾科夫模型(HMM)。在HMM下,狀態(tài)是隱變量,語音是觀測值,狀態(tài)之間的跳轉(zhuǎn)符合馬爾科夫假設(shè)。其中,狀態(tài)轉(zhuǎn)移概率密度多采用幾何分布建模,而擬合隱變量到觀測值的觀測概率的模型常用高斯混合模型(GMM)?;谏疃葘W(xué)習(xí)的發(fā)展,深度神經(jīng)網(wǎng)絡(luò)(DNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)等模型被應(yīng)用到觀測概率的建模中,并取得了非常好的效果。下文給出各個模型的原理、所解決的問題及各自局限性,且給出了由模型的局限性而引起建模方式發(fā)展的脈絡(luò)。
1)高斯混合模型(GMM)
觀測概率密度函數(shù)由高斯混合模型建模,訓(xùn)練中,不斷迭代優(yōu)化,以求取GMM中的加權(quán)系數(shù)及各個高斯函數(shù)的均值與方差。GMM模型訓(xùn)練速度較快,且GMM聲學(xué)模型參數(shù)量小,可以容易地嵌入到終端設(shè)備中。在很長一段時間內(nèi),GMM-HMM混合模型都是表現(xiàn)zui的語音識別模型。但是GMM不能利用語境信息,其建模能力有限。
2)深度神經(jīng)網(wǎng)絡(luò)(DNN)
zui早用于聲學(xué)模型建模的神經(jīng)網(wǎng)絡(luò),DNN解決了基于高斯混合模型進(jìn)行數(shù)據(jù)表示的低效問題。語音識別中,DNN-HMM混合模型大幅度的提升了識別率。目前階段,DNN-HMM基于其相對有限的訓(xùn)練成本及高識別率,仍然是特定的語音識別工業(yè)領(lǐng)域常用的聲學(xué)模型。需要注意的是,基于建模方式的約束(模型輸入特征長度的一致性需求),DNN模型使用的是固定長度的滑動窗來提取特征。
3)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)/卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型
對于不同的音素與語速,利用語境信息*的特征窗長度是不同的。能夠有效利用可變長度語境信息的RNN與CNN在語音識別中能夠取得更好的識別性能。因而,在語速魯棒性方面,CNN/RNN比DNN表現(xiàn)的更好。
在使用RNN建模方面,用于語音識別建模的模型有:多隱層的長短期記憶網(wǎng)絡(luò)(LSTM)、highway LSTM、ResidualLSTM、雙向LSTM、時延控制的雙向LSTM。
LSTM,基于門控電路設(shè)計,其能夠利用長短時信息,在語音識別中取得了非常好的性能。另外,可以通過增加層數(shù)進(jìn)一步提升識別性能,但是簡單地增加LSTM的層數(shù)會引起訓(xùn)練困難及梯度消失問題。
Highway LSTM,在LSTM相鄰層的記憶單元間添加一個門控的直接鏈路,為信息在不同層間流動提供一個直接且不衰減的路徑,從而解決梯度消失問題
Residual LSTM,在LSTM層間提供一個捷徑,亦能解決梯度消失問題。
雙向LSTM,能夠利用過去及未來的語境信息,因而其識別性能比單向的LSTM好,但是由于雙向LSTM利用了未來的信息,因而基于雙向LSTM建模的語音識別系統(tǒng)需要觀察完整的一段話之后才能識別,從而不適用于實(shí)時語音識別系統(tǒng)。
時延控制的雙向LSTM,通過調(diào)整雙向LSTM的反向LSTM,實(shí)現(xiàn)了性能與實(shí)時性的一個折中建模方案,能夠應(yīng)用于實(shí)時的語音識別系統(tǒng)。
CNN建模方面,包括時延神經(jīng)網(wǎng)絡(luò)(TDNN)、CNN-DNN、CNN-LSTM-DNN(CLDNN)、CNN-DNN-LSTM(CDL)、深度CNN、逐層語境擴(kuò)展和注意(LACE)CNN、dilated CNN。
TDNN,zui早被用于語音識別的CNN建模方式,TDNN 會沿頻率軸和時間軸同時進(jìn)行卷積,因此能夠利用可變長度的語境信息。TDNN用于語音識別分為兩種情況,*種情況下:只有TDNN,很難用于大詞匯量連續(xù)性語音識別(LVCSR),原因在于可變長度的表述(utterance)與可變長度的語境信息是兩回事,在LVCSR中需要處理可變長度表述問題,而TDNN只能處理可變長度語境信息;第二種情況:TDNN-HMM 混合模型,由于HMM能夠處理可變長度表述問題,因而該模型能夠有效地處理LVCSR問題。
CNN-DNN,在DNN前增加一到兩層的卷積層,以提升對不同說話人的可變長度聲道(vocal tract)問題的魯棒性,對比于單純DNN,CNN-DNN性能有一定幅度(5%)的提升
CLDNN及CDL,在這兩個模型中,CNN只處理頻率軸的變化,LSTM用于利用可變長度語境信息。
深度CNN,這里的“深度”是指一百層以上。語譜圖可以被看作是帶有特定模式的圖像,通過使用比較小的卷積核以及更多的層,來利用時間及頻率軸上長范圍的相關(guān)信息,深度CNN的建模性能與雙向LSTM性能相當(dāng),但是深度CNN沒有時延問題。在控制計算成本的情況下,深度CNN能夠很好的應(yīng)用于實(shí)時系統(tǒng)。
逐層語境擴(kuò)展和注意(LACE)CNN及dilated CNN,深度CNN的計算量比較大,因而提出了能夠減小計算量的 LACE CNN與dilated CNN,其把整個話語看作單張輸入圖,因而可以復(fù)用中間結(jié)果,另外,可以通過設(shè)計LACE CNN及dilated CNN網(wǎng)絡(luò)每一層的步長,使其能夠覆蓋整個核,來降低計算成本。
語音識別的應(yīng)用環(huán)境常常比較復(fù)雜,選擇能夠應(yīng)對各種情況的模型建模聲學(xué)模型是工業(yè)界及學(xué)術(shù)界常用的建模方式。但是各個單一模型都有局限性。HMM能夠處理可變長度的表述,CNN能夠處理可變聲道,RNN/CNN能夠處理可變語境信息。聲學(xué)模型建模中,混合模型由于能夠結(jié)合各個模型的優(yōu)勢,是目前聲學(xué)建模的主流方式。
3.2 語言模型
語音識別中,zui常見的語言模型是N-Gram。近年,深度神經(jīng)網(wǎng)絡(luò)的建模方式也被應(yīng)用到語言模型中,比如基于CNN及RNN的語言模型。
4、端到端的語音識別系統(tǒng)
在DNN-HMM或者CNN/RNN-HMM模型中,DNN/CNN/RNN與HMM是分開優(yōu)化的,但是語音識別本質(zhì)上是一個序列識別問題,如果模型中的所有組件都能夠聯(lián)合優(yōu)化,很可能會獲取更好的識別準(zhǔn)確度,這一點(diǎn)從語音識別的數(shù)學(xué)表達(dá)式也可以看出(利用貝葉斯準(zhǔn)則變化之后的表達(dá)式),因而端到端的處理方式亦被引入到語音識別系統(tǒng)中。
4.1 CTC準(zhǔn)則
其核心思想是引入空白標(biāo)簽,然后基于前向后向算法做序列到序列的映射。CTC準(zhǔn)則可分為character-based CTC、other output units-based CTC、word-based CTC,由于CTC準(zhǔn)則是直接預(yù)測字符、單詞等,而不是預(yù)測音素,因而其能夠剔除語音識別中的字典等專家知識。由于在非word-based CTC中,仍然需要語言模型及解碼器。因而,character-basedCTC與other output units-based CTC是非純粹的端到端的語音識別系統(tǒng)。相反,word-based CTC模型是純粹的端到端語音識別系統(tǒng)。
基于word-based CTC準(zhǔn)則,使用10萬個詞作為輸出目標(biāo)且使用 12.5 萬小時訓(xùn)練樣本得到的語音序列到單詞序列的模型,能夠超越基于音素單元的模型。但是word-based CTC模型有訓(xùn)練困難及收斂慢的問題。
4.2 Attention-based模型
相比于CTC準(zhǔn)則,Attention-based模型不需要有幀間獨(dú)立性假設(shè),這也是Attention-based模型的一大優(yōu)勢,因而Attention-based模型可能能夠取得更好的識別性能。但是相比于CTC準(zhǔn)則,Attention-based模型訓(xùn)練更加困難,且有不能單調(diào)地從左到右對齊及收斂更慢的缺點(diǎn)。通過將 CTC 目標(biāo)函數(shù)用作輔助代價函數(shù),Attention訓(xùn)練和 CTC 訓(xùn)練以一種多任務(wù)學(xué)習(xí)的方式結(jié)合到了一起。這種訓(xùn)練策略能夠很大程度上改善Attention-based模型的收斂問題,并且緩解了對齊問題。
語音識別的發(fā)展過程中,深度學(xué)習(xí)起到了關(guān)鍵的作用。聲學(xué)模型遵循從 DNN 到 LSTM再到端到端建模的發(fā)展路徑。深度學(xué)習(xí)zui大的優(yōu)勢之一是特征表征。在有噪聲、回響等情況下,深度學(xué)習(xí)可以把噪聲、回響看為新的特征,并通過對有噪聲、回響數(shù)據(jù)的學(xué)習(xí),達(dá)到比較理想的識別性能。目前階段,端到端的建模方式是聲學(xué)模型建模的重點(diǎn)研究方向,但是相比于其它的建模方式,其還沒有取得明顯的性能優(yōu)勢。如何在端到端建模的基礎(chǔ)上,提升訓(xùn)練速度及性能,并解決收斂問題是聲學(xué)模型的重要研究方向。
5、解碼
基于訓(xùn)練好的聲學(xué)模型,并結(jié)合詞典、語言模型,對輸入的語音幀序列識別的過程即為解碼的過程。傳統(tǒng)的解碼是將聲學(xué)模型、詞典以及語言模型編譯成一個網(wǎng)絡(luò)。解碼就是在這個動態(tài)網(wǎng)絡(luò)空間中,基于zui大后驗(yàn)概率,選擇一條或多條*路徑作為識別結(jié)果(*的輸出字符序列)。搜索常用的方法是Viterbi算法。對于端到端的語音識別系統(tǒng),zui簡單的解碼方法是beam search算法。
6、遠(yuǎn)場復(fù)雜環(huán)境下解決方案
目前階段,在近場安靜環(huán)境下,語音識別能夠取得非常理想的識別效果,但是在高噪聲、多人說話、強(qiáng)口音等環(huán)境,特別是遠(yuǎn)場環(huán)境下,語音識別還有諸多問題需要解決。語音模型自適應(yīng)、語音增強(qiáng)與分離、識別模型優(yōu)化等是常用的可選解決方案。
6.1 語音增強(qiáng)與分離
遠(yuǎn)場環(huán)境下,語音輸入信號衰減比較嚴(yán)重,為了對語音信號增強(qiáng),常采用麥克風(fēng)陣列的波束形成技術(shù),比如,Google Home采用雙麥的設(shè)計方案,亞馬遜Echo采用6+1的麥克風(fēng)陣列設(shè)計方案。近年,深度學(xué)習(xí)方法被應(yīng)用到語音增強(qiáng)與分離中,核心思想是把語音增強(qiáng)與分離轉(zhuǎn)化為一個監(jiān)督學(xué)習(xí)問題,即預(yù)測輸入聲音源的問題。有研究使用DNN替代波束形成,實(shí)現(xiàn)語音增強(qiáng),并在一定場景下取得了比較理想的效果。但是在背景噪聲很大的環(huán)境中,該方法性能還有較大提升空間。
在多人說話的情況下,如果不對輸入信號做分離處理,而進(jìn)行語音識別的話,識別效果會很差。對于該問題,在多個說話人距離較遠(yuǎn)的情況下,波束形成是一個比較好的解決方案,但是當(dāng)多個說話人距離很近的時候,波束形成的語音分離效果也很差。為了避開波束形成所帶來的場景分類問題,傳統(tǒng)的方法多是在單通道下嘗試解決該問題,常用算法有computational auditory scene analysis、非負(fù)矩陣分解、deep clustering 等,但是這些方法只有當(dāng)噪聲信號(除聲源外的其他信號)與聲音源信號有明顯不同的特征時,這些技術(shù)才取得比較好的效果。其它情況下,這些方法在語音分離中取得的效果一般。2016年,俞棟博士提出了一種新的深度學(xué)習(xí)訓(xùn)練準(zhǔn)則-- permutation invariant training,巧妙地解決了該問題,并取得了不錯的效果。
6.2 語音模型自適應(yīng)
大量且豐富(能夠提供更多信息)的數(shù)據(jù)集是提升模型泛化能力的zui直接簡單的方法;
基于成本及訓(xùn)練時間的考慮,一般情況下只使用有限的訓(xùn)練數(shù)據(jù)。此時,在模型訓(xùn)練中加入Kullback-Leiblerdivergence正則項(xiàng)是解決模型自適應(yīng)問題非常有效的方式;
除了加入正則項(xiàng)外,使用非常少的參數(shù)來表征說話者特征是另一種自適應(yīng)方式,其包括:奇異值分解瓶頸自適應(yīng),把滿秩矩陣分解為兩個低秩矩陣,減小訓(xùn)練參數(shù);子空間法,子空間法又包括:
1. 在輸入空間及深度網(wǎng)絡(luò)的各個層中加入i-vector、揚(yáng)聲器(speaker)編碼、噪聲估計等輔助特征;
2. 聚類自適應(yīng)訓(xùn)練(CAT);
3. 隱層分解(FHL),相比于CAT,F(xiàn)HL只需要少量的訓(xùn)練數(shù)據(jù),原因在于FHL的基是秩為1的矩陣,而CAT的基是滿秩矩陣,在基數(shù)量一樣的情況下,CAT需要更多的訓(xùn)練數(shù)據(jù)。
實(shí)時性是語音識別應(yīng)用中關(guān)注度很高的問題之一,實(shí)時性直接影響用戶的體驗(yàn)感,提高語音識別的實(shí)時性可以通過降低運(yùn)算時間成本與提升識別硬件計算能力兩方面完成。
7、降低運(yùn)算時間成本
SVD,基于奇異值分解的數(shù)學(xué)原理,把滿秩矩陣分解為兩個低秩矩陣,減小深度模型的參數(shù),且能夠不降低模型識別性能;
壓縮模型,使用向量量化或者極低比特量化算法;
改變模型結(jié)構(gòu),主要針對LSTM,在LSTM中增加一個線性映射層,降低原有LSTM的輸出維度,從而降低運(yùn)算時間成本;
使用跨幀的相關(guān)性來降低評估深度網(wǎng)絡(luò)分?jǐn)?shù)的頻率,對于DNN或CNN而言,這可以通過使用跳幀策略完成,即每隔幾幀才計算一次聲學(xué)分?jǐn)?shù),并在解碼時將該分?jǐn)?shù)復(fù)制到?jīng)]有評估聲學(xué)分?jǐn)?shù)的幀 。
另外,提升識別階段硬件的運(yùn)算能力,開發(fā)的語音識別芯片對增強(qiáng)語音識別的實(shí)時性意義重大,下文將會在這方面展開討論。
三、芯片
不斷積累的高質(zhì)量大數(shù)據(jù)與深度學(xué)習(xí)算法是語音識別性能能夠不斷提升的關(guān)鍵?;A(chǔ)層的核心處理芯片是支持海量訓(xùn)練數(shù)據(jù)、復(fù)雜的深度網(wǎng)絡(luò)建模方式以及實(shí)時推斷的關(guān)鍵要素。語音識別包括訓(xùn)練與識別(給定訓(xùn)練好的模型,對輸入語音進(jìn)行識別)兩部分。
在訓(xùn)練階段,由于數(shù)據(jù)量及計算量巨大,傳統(tǒng)的CPU或者單一處理器幾乎無法單獨(dú)地完成一個模型訓(xùn)練過程(初始階段,谷歌大腦語音識別項(xiàng)目是基于16000個CPU,用了75天,完成一個有156M參數(shù)的深度神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練工作)。原因在于CPU芯片架構(gòu)中只有少量的邏輯運(yùn)算單元,且指令執(zhí)行是一條接一條的串行過程,其算力不足。研發(fā)具有高計算能力的芯片成為語音識別乃至整個人工智能硬件的發(fā)展趨勢。
與CPU不同的是,GPU具有大量的計算單元,因而特別適合大規(guī)模并行計算。另外,F(xiàn)PGA、TPU、ASIC這些延續(xù)傳統(tǒng)架構(gòu)的芯片亦在大規(guī)模并行計算中得到廣泛的應(yīng)用。需要注意的是,從本質(zhì)上講,這些芯片都是計算性能與靈活性/通用性trade-off的結(jié)果,即,如圖3所示。CPU,GPU是通用處理器,DSP歸為ASP,TPU是ASIC這一類,F(xiàn)PGA則是一種Configurable Hardware。
另外,基于實(shí)時性、低功耗、高計算力的需求,使用專屬語音識別AI芯片處理識別階段大量的矩陣運(yùn)算,進(jìn)行運(yùn)算加速是今后終端語音識別芯片市場的主流方向。
1、云端場景
由于計算量、訓(xùn)練數(shù)據(jù)量極大,且需要大量的并行運(yùn)算,目前語音識別的模型訓(xùn)練部分基本都放在云端進(jìn)行。在云端訓(xùn)練中,英偉達(dá)的GPU占主導(dǎo)市場,多GPU并行架構(gòu)是終端訓(xùn)練常用的基礎(chǔ)架構(gòu)方案。另外,Google在自己的人工智能生態(tài)中,使用TPU做訓(xùn)練與識別。
目前階段,語音識別公司的識別部分也大多放在云端,比如Google home、亞馬遜Echo,國內(nèi)的科大訊飛、云知聲等。在云端識別中,雖然也有使用GPU,但是GPU并不是*方案,更多的是利用CPU、GPU、FPGA各自優(yōu)勢,采用異構(gòu)計算方案(CPU+GPU+FPGA/ASIC)。
2、終端場景
在智能家居等行業(yè)應(yīng)用中,對實(shí)時性、穩(wěn)定性及隱私性有*的要求。出于對云端數(shù)據(jù)處理能力、網(wǎng)絡(luò)延遲及數(shù)據(jù)安全性的考慮,把計算下放到終端硬件中的邊緣計算得到了快速的發(fā)展。終端離線的語音識別即是一種基于邊緣計算的邊緣智能,我們認(rèn)為離線與在線是語音識別共存的發(fā)展路線。在終端離線識別中,需要把訓(xùn)練好的模型存儲到芯片。給定語音輸入時,引擎會調(diào)用模型,完成識別。終端語音識別兩個關(guān)鍵因素是實(shí)時性與成本,其中實(shí)時性影響用戶體驗(yàn),成本影響語音識別應(yīng)用范圍。
由于深度神經(jīng)網(wǎng)絡(luò)在語音識別中取得明顯的性能優(yōu)勢,其是目前主流的語音識別建模方式。但是神經(jīng)網(wǎng)絡(luò)的模型參數(shù)量一般非常大,且識別過程中有大量的矩陣計算,常用的DSP或者CPU處理該問題時需要大量的時間,從而無法滿足語音識別的實(shí)時性需求。GPU、FPGA的價格又是阻礙其在終端語音識別中大規(guī)模應(yīng)用的主要障礙??紤]到終端應(yīng)用中,場景相對比較固定,且需要很高的計算性能,研發(fā)語音識別專屬芯片是終端語音識別硬件發(fā)展趨勢。
啟英泰倫(ChipInli):2015年11月在成都成立。2016年6月推出了基于人工智能的語音識別芯片CI1006,該芯片集成了神經(jīng)網(wǎng)絡(luò)加速硬件,可實(shí)現(xiàn)單芯片、本地離線、大詞匯量識別,且識別率明顯高于傳統(tǒng)終端語音識別方案。另外,啟英泰倫能夠提供廉價的單麥遠(yuǎn)場語音識別模組,其實(shí)際識別效果能夠媲美使用了科勝訊降噪模塊的雙麥模組,大幅度降低遠(yuǎn)場語音識別模組成本。啟英泰倫在終端語音識別芯片發(fā)展上取得了明顯的技術(shù)及先發(fā)優(yōu)勢。
MIT項(xiàng)目:MIT黑科技,即,MIT在ISSCC2017上發(fā)表的paper里的芯片,該芯片能夠支持DNN運(yùn)算架構(gòu),進(jìn)行高性能的數(shù)據(jù)并行計算,可以實(shí)現(xiàn)單芯片離線識別上千單詞。
云知聲:云知聲致力于打造“云端芯”語音生態(tài)服務(wù)系統(tǒng),其剛獲取3億人民幣的投資,將把部分資金投入到終端語音識別芯片“UniOne”的研發(fā)中,據(jù)報道,該芯片將會內(nèi)置DNN處理單元,兼容多麥克風(fēng)陣列。
過去幾十年,尤其是zui近幾年,語音識別技術(shù)不斷取得突破。但是,在大多數(shù)場景下,語音識別遠(yuǎn)沒有達(dá)到。解決遠(yuǎn)場復(fù)雜環(huán)境下的語音識別問題仍然是當(dāng)前研究熱點(diǎn)。另外,通常情況下,語音識別都是針對特定的任務(wù),訓(xùn)練的模型,因而,模型的可移植性比較差。
人類在對話過程中,可以很的利用先驗(yàn)知識,但是目前的語音識別系統(tǒng)都還無法有效利用先驗(yàn)知識。因此,語音識別還有很多問題待解決。令人興奮的是,隨著高質(zhì)量數(shù)據(jù)的不斷積累、技術(shù)的不斷突破及硬件平臺算力的提升,語音識別正在向我們期待的方向快速發(fā)展。
原標(biāo)題 應(yīng)用、算法、芯片,“三位一體”淺析語音識別 本文作者為辰韜資本黃松延,原文*于公眾號:辰韜資本。黃松延,浙江大學(xué)人工智能博士,前華為算法工程師,對深度學(xué)習(xí)及其應(yīng)用有深入的研究。