科大訊飛首度披露新一代語(yǔ)音識別系統技術(shù)原理
12月21日,作為國內智能語(yǔ)音與人工智能產(chǎn)業(yè)領(lǐng)導者,科大訊飛在北京國家會(huì )議中心召開(kāi)了以“AI復始,萬(wàn)物更新”為主題的2015年年度發(fā)布會(huì )。在發(fā)布會(huì )上,科大訊飛介紹了訊飛超腦計劃的最新進(jìn)展,并發(fā)布了數款讓人印象深刻的創(chuàng )新型產(chǎn)品。特別值得一提的是,在發(fā)布會(huì )現場(chǎng),科大訊飛全球首次將演講人的演講,同步轉寫(xiě)成文字在大屏幕顯示,敢于接受現場(chǎng)數千參會(huì )者和數千萬(wàn)觀(guān)看視頻直播觀(guān)眾的檢驗,系統的轉寫(xiě)效果之好讓大家直呼驚艷。此次發(fā)布會(huì )轉寫(xiě)系統就是依托于訊飛全球領(lǐng)先的中文語(yǔ)音識別系統。今天,我們就為大家從技術(shù)上揭秘科大訊飛的新一代語(yǔ)音識別系統。
本文引用地址:http://dyxdggzs.com/article/201602/286779.htm眾所周知,自2011年微軟研究院首次利用深度神經(jīng)網(wǎng)絡(luò )(Deep Neural Network, DNN)在大規模語(yǔ)音識別任務(wù)上獲得顯著(zhù)效果提升以來(lái),DNN在語(yǔ)音識別領(lǐng)域受到越來(lái)越多的關(guān)注,目前已經(jīng)成為主流語(yǔ)音識別系統的標配。然而,更深入的研究成果表明,DNN結構雖然具有很強的分類(lèi)能力,但是其針對上下文時(shí)序信息的捕捉能力是較弱的,因此并不適合處理具有長(cháng)時(shí)相關(guān)性的時(shí)序信號。而語(yǔ)音是一種各幀之間具有很強相關(guān)性的復雜時(shí)變信號,這種相關(guān)性主要體現在說(shuō)話(huà)時(shí)的協(xié)同發(fā)音現象上,往往前后好幾個(gè)字對我們正要說(shuō)的字都有影響,也就是語(yǔ)音的各幀之間具有長(cháng)時(shí)相關(guān)性。

圖1:DNN和RNN示意圖
相比前饋型神經(jīng)網(wǎng)絡(luò )DNN,循環(huán)神經(jīng)網(wǎng)絡(luò )(Recurrent Neural Network, RNN)在隱層上增加了一個(gè)反饋連接,也就是說(shuō),RNN隱層當前時(shí)刻的輸入有一部分是前一時(shí)刻的隱層輸出,這使得RNN可以通過(guò)循環(huán)反饋連接看到前面所有時(shí)刻的信息,這賦予了RNN記憶功能,如圖1所示。這些特點(diǎn)使得RNN非常適合用于對時(shí)序信號的建模,在語(yǔ)音識別領(lǐng)域,RNN是一個(gè)近年來(lái)替換DNN的新的深度學(xué)習框架,而長(cháng)短時(shí)記憶模塊(Long-Short Term Memory, LSTM)的引入解決了傳統簡(jiǎn)單RNN梯度消失等問(wèn)題,使得RNN框架可以在語(yǔ)音識別領(lǐng)域實(shí)用化并獲得了超越DNN的效果,目前已經(jīng)在業(yè)界一些比較先進(jìn)的語(yǔ)音系統中使用。除此之外,研究人員還在RNN的基礎上做了進(jìn)一步改進(jìn)工作,圖2是當前語(yǔ)音識別中的主流RNN聲學(xué)模型框架,主要還包含兩部分:深層雙向LSTM RNN和CTC(Connectionist Temporal Classification)輸出層。其中雙向RNN對當前語(yǔ)音幀進(jìn)行判斷時(shí),不僅可以利用歷史的語(yǔ)音信息,還可以利用未來(lái)的語(yǔ)音信息,可以進(jìn)行更加準確的決策;CTC使得訓練過(guò)程無(wú)需幀級別的標注,實(shí)現有效的“端對端”訓練。

圖2:基于LSTM RNN的主流聲學(xué)模型框架
目前,國際國內已經(jīng)有不少學(xué)術(shù)或工業(yè)機構掌握了RNN模型,并在上述某個(gè)或多個(gè)技術(shù)點(diǎn)進(jìn)行研究。然而,上述各個(gè)技術(shù)點(diǎn)單獨研究時(shí)一般可以獲得較好的結果,但是如果想將這些技術(shù)點(diǎn)融合在一起的時(shí)候,則會(huì )碰到一些問(wèn)題。例如,多個(gè)技術(shù)結合在一起的提升幅度會(huì )比各個(gè)技術(shù)點(diǎn)幅度的疊加要小。又例如,傳統的雙向RNN方案,理論上需要看到語(yǔ)音的結束(即所有的未來(lái)信息),才能成功的應用未來(lái)信息來(lái)獲得提升,因此只適合處理離線(xiàn)任務(wù),而對于要求即時(shí)響應的在線(xiàn)任務(wù)(例如語(yǔ)音輸入法)則往往會(huì )帶來(lái)3-5s的硬延遲,這對于在線(xiàn)任務(wù)是不可接受的。再者,RNN對上下文相關(guān)性的擬合較強,相對于DNN更容易陷入過(guò)擬合的問(wèn)題,容易因為訓練數據的局部不魯棒現象而帶來(lái)額外的異常識別錯誤。最后,由于RNN具有比DNN更加復雜的結構,給海量數據下的RNN模型訓練帶來(lái)了更大的挑戰。
鑒于上述問(wèn)題,科大訊飛發(fā)明了一種名為前饋型序列記憶網(wǎng)絡(luò )FSMN(Feed-forward Sequential Memory Network)的新框架。在這個(gè)框架中,可以把上述幾點(diǎn)很好的融合,同時(shí)各個(gè)技術(shù)點(diǎn)對效果的提升可以獲得疊加。值得一提的是,我們在這個(gè)系統中創(chuàng )造性提出的FSMN結構,采用非循環(huán)的前饋結構,在只需要180ms延遲下,就達到了和雙向LSTM RNN相當的效果。下面讓我們來(lái)具體看下它的構成。

圖3:FSMN結構示意圖

圖4:第個(gè)隱層記憶塊的時(shí)序展開(kāi)示意圖(左右各看1幀)
圖3即為FSMN的結構示意圖,相比傳統的DNN,我們在隱層旁增加了一個(gè)稱(chēng)為“記憶塊”的模塊,用于存儲對判斷當前語(yǔ)音幀有用的歷史信息和未來(lái)信息。圖4畫(huà)出了雙向FSMN中記憶塊左右各記憶1幀語(yǔ)音信息(在實(shí)際任務(wù)中,可根據任務(wù)需要,人工調整所需記憶的歷史和未來(lái)信息長(cháng)度)的時(shí)序展開(kāi)結構。從圖中我們可以看出,不同于傳統的基于循環(huán)反饋的RNN,FSMN記憶塊的記憶功能是使用前饋結構實(shí)現的。這種前饋結構有兩大好處:首先,雙向FSMN對未來(lái)信息進(jìn)行記憶時(shí),沒(méi)有傳統雙向RNN必須等待語(yǔ)音輸入結束才能對當前語(yǔ)音幀進(jìn)行判斷的限制,它只需要等待有限長(cháng)度的未來(lái)語(yǔ)音幀即可,正如前文所說(shuō)的,我們的雙向FSMN在將延遲控制在180ms的情況下就可獲得媲美雙向RNN的效果;其次,如前所述,傳統的簡(jiǎn)單RNN因為訓練過(guò)程中的梯度是按時(shí)間逐次往前傳播的,因此會(huì )出現指數衰減的梯度消失現象,這導致理論上具有無(wú)限長(cháng)記憶的RNN實(shí)際上能記住的信息很有限,然而FSMN這種基于前饋時(shí)序展開(kāi)結構的記憶網(wǎng)絡(luò ),在訓練過(guò)程中梯度沿著(zhù)圖4中記憶塊與隱層的連接權重往回傳給各個(gè)時(shí)刻即可,這些連接權重決定了不同時(shí)刻輸入對判斷當前語(yǔ)音幀的影響,而且這種梯度傳播在任何時(shí)刻的衰減都是常數的,也是可訓練的,因此FSMN用一種更為簡(jiǎn)單的方式解決了RNN中的梯度消失問(wèn)題,使得其具有類(lèi)似LSTM的長(cháng)時(shí)記憶能力。另外,在模型訓練效率和穩定性方面,由于FSMN完全基于前饋神經(jīng)網(wǎng)絡(luò ),所以不存在RNN訓練中因mini-batch中句子長(cháng)短不一需要補0而導致浪費運算的情況,前饋結構也使得它的并行度更高,可最大化利用GPU計算能力。從最終訓練收斂的雙向FSMN模型記憶塊中各時(shí)刻的加權系數分布我們觀(guān)察到,權重值基本上在當前時(shí)刻最大,往左右兩邊逐漸衰減,這也符合預期。進(jìn)一步,FSMN可和CTC準則結合,實(shí)現語(yǔ)音識別中的“端到端”建模。
最后,和其他多個(gè)技術(shù)點(diǎn)結合后,訊飛基于FSMN的語(yǔ)音識別框架可獲得相比業(yè)界最好的語(yǔ)音識別系統40%的性能提升,同時(shí)結合我們的多GPU并行加速技術(shù),訓練效率可達到1萬(wàn)小時(shí)訓練數據1天可訓練收斂。與此同時(shí),后續基于FSMN框架,我們還將展開(kāi)更多相關(guān)的研究工作,例如:DNN和記憶塊更深層次的組合方式,增加記憶塊部分復雜度強化記憶功能,FSMN結構和CNN等其他結構的更深度融合等。在這些核心技術(shù)持續進(jìn)步的基礎上,科大訊飛的語(yǔ)音識別系統將不斷挑戰新的高峰!
評論