作為國內智能語(yǔ)音與人工智能產(chǎn)業(yè)的領(lǐng)導者,科大訊飛一直引領(lǐng)中文語(yǔ)音識別技術(shù)不斷進(jìn)步。去年12月21日,在北京國家會(huì )議中心召開(kāi)的以“AI復 始,萬(wàn)物更新”為主題的年度發(fā)布會(huì )上,科大訊飛提出了以前饋型序列記憶網(wǎng)絡(luò )(FSMN, Feed-forward Sequential Memory Network)為代表的新一代語(yǔ)音識別系統,讓大家眼前一亮[1]。
通過(guò)進(jìn)一步的研究,我們在FSMN的基礎之上,再次推出全新的語(yǔ)音識別框架,將語(yǔ)音識別問(wèn)題創(chuàng )新性的重新定義為“看語(yǔ)譜圖”的問(wèn)題,并通過(guò)引入圖像識別中主流的深度卷積神經(jīng)網(wǎng)絡(luò )(CNN, Convolutional Neural Network)實(shí)現了對語(yǔ)譜圖的全新解析,同時(shí)打破了傳統深度語(yǔ)音識別系統對DNN和RNN等網(wǎng)絡(luò )結構的依賴(lài),最終將識別準確度提高到了新的高度。
今天我們將揭開(kāi)它的神秘面紗。
FSMN我們在上一期文章中(請點(diǎn)擊閱讀原文)做了詳細的介紹,在這里我們簡(jiǎn)單的回顧一下。
在 FSMN提出之前,學(xué)術(shù)界和工業(yè)界最好的語(yǔ)音識別系統采用的是雙向遞歸神經(jīng)網(wǎng)絡(luò )(BRNN, Bi-directional Recurrent Neural Network),這種網(wǎng)絡(luò )能夠對語(yǔ)音復雜的長(cháng)時(shí)相關(guān)性進(jìn)行建模,從而達到提高識別正確率的功效。但是雙向遞歸神經(jīng)網(wǎng)絡(luò )存在訓練復雜度高,訓練不穩定以及解碼時(shí)延很高的問(wèn)題,很難使用化。
FSMN的提出很好的解決了上述缺陷。FSMN通過(guò)在傳統DNN結構的隱層旁邊增 加一個(gè)”記憶模塊存“儲當前語(yǔ)音幀周邊的歷史信息和未來(lái)信息。FSMN的模型結構如圖(a)所示,圖(b)給出了FSMN的記憶模塊記憶當前語(yǔ)音幀左右 各1幀信息時(shí)的時(shí)序展開(kāi)結構。由于FSMN的結構中不存在遞歸,可以避免RNN的不穩定性,同時(shí)由于采用了記憶模塊可以很好的對語(yǔ)音的長(cháng)時(shí)相關(guān)性進(jìn)行建模。

FSMN的成功給了我們一個(gè)很好的啟發(fā):對語(yǔ)音的長(cháng)時(shí)相關(guān)性建模并不需要觀(guān)察整個(gè)句子,也不一定需要使用遞歸結構,只要將足夠長(cháng)的語(yǔ)音上下文信息進(jìn)行良好的表達就可以對當前幀的決策提供足夠的幫助,而卷積神經(jīng)網(wǎng)絡(luò )CNN同樣可以做到這一點(diǎn)。
CNN早在2012年就被用于語(yǔ)音識別系統,并且一直以來(lái)都有很多研究人員積極投身于基于CNN的語(yǔ)音識別系統的研究,但始終沒(méi)有大的突破。最主要的原因是他們沒(méi)有突破傳統前饋神經(jīng)網(wǎng)絡(luò )采用固定長(cháng)度的幀拼接作為輸入的思維定式,從而無(wú)法看到足夠長(cháng)的語(yǔ)音上下文信息。另外一個(gè)缺陷是他們只是將CNN視作一種特征提 取器,因此所用的卷積層數很少,一般只有一到二層,這樣的卷積網(wǎng)絡(luò )表達能力十分有限。
針對這些問(wèn)題,結合研發(fā)FSMN時(shí)的經(jīng)驗,我們推出了全新的深度全序 列卷積神經(jīng)網(wǎng)絡(luò )(Deep Fully Convolutional Neural Network, DFCNN)語(yǔ)音識別框架,使用大量的卷積層直接對整句語(yǔ)音信號進(jìn)行建模,更好的表達了語(yǔ)音的長(cháng)時(shí)相關(guān)性,比學(xué)術(shù)界和工業(yè)界最好的雙向RNN語(yǔ)音識別系統 識別率提升了15%以上。下面我們具體介紹一下DFCNN語(yǔ)音識別框架。
DFCNN的結構如圖(c)所 示,DFCNN直接將一句語(yǔ)音轉化成一張圖像作為輸入,即先對每幀語(yǔ)音進(jìn)行傅里葉變換,再將時(shí)間和頻率作為圖像的兩個(gè)維度,然后通過(guò)非常多的卷積層和池化 (pooling)層的組合,對整句語(yǔ)音進(jìn)行建模,輸出單元直接與最終的識別結果比如音節或者漢字相對應。
DFCNN的工作機理儼然像是一位德高望重的語(yǔ)音學(xué)專(zhuān)家,通過(guò)“觀(guān)看”語(yǔ)譜圖即可知道語(yǔ)音中表達的內容。對于很多讀者來(lái)說(shuō),乍一聽(tīng)可能以為是在寫(xiě)科幻小說(shuō),但聽(tīng)完我們下面的分析之后相信大家都會(huì )覺(jué)得這種架構是那么的自然。

圖(c):DFCNN結構圖
首先,從輸入端來(lái)看,傳統語(yǔ)音特征在傅里葉變換之后使用各種人工設計的濾波器組 來(lái)提取特征,造成了頻域上的信息損失,在高頻區域的信息損失尤為明顯,而且傳統語(yǔ)音特征為了計算量的考慮必須采用非常大的幀移,無(wú)疑的造成了時(shí)域上的信息損失,在說(shuō)話(huà)人語(yǔ)速較快的時(shí)候表現的更為突出。因此DFCNN直接將語(yǔ)譜圖作為輸入,相比其他以傳統語(yǔ)音特征作為輸入的語(yǔ)音識別框架相比具有天然的優(yōu)勢。
其次,從模型結構上來(lái)看,DFCNN與傳統語(yǔ)音識別中的CNN做法不 同,它借鑒了圖像識別中效果最好的網(wǎng)絡(luò )配置,每個(gè)卷積層使用3x3的小卷積核,并在多個(gè)卷積層之后再加上池化層,這樣大大增強了CNN的表達能力,與此同時(shí),通過(guò)累積非常多的這種卷積池化層對,DFCNN可以看到非常長(cháng)的歷史和未來(lái)信息,有這兩點(diǎn)就保證了DFCNN可以出色的表達語(yǔ)音的長(cháng)時(shí)相關(guān)性,相比 RNN網(wǎng)絡(luò )結構在魯棒性上反而更加出色。
最后,從輸出端來(lái)看,DFCNN還可以和近期很熱的序列短時(shí)分類(lèi)(CTC)方案完美結合以實(shí)現整個(gè)模型的端到端訓 練,且其包含的池化層等特殊結構可以使得以上端到端訓練變得更加穩定。
在和其他多個(gè)技術(shù)點(diǎn)結合后,訊飛DFCNN的語(yǔ)音識別框架在內部數千小時(shí)的中文語(yǔ)音短信聽(tīng)寫(xiě)任務(wù)上,獲得了相比目前業(yè)界最好的語(yǔ)音識別框架——雙向RNN-CTC系統15%的性能提 升,同時(shí)結合訊飛的HPC平臺和多GPU并行加速技術(shù),訓練速度也優(yōu)于傳統的雙向LSTM CTC系統。
DFCNN的提出開(kāi)辟了語(yǔ)音識別新的一片天地,后續基于DFCNN框架,我們還將展開(kāi)更多相關(guān)的研究工作,例如:雙向LSTM和DFCNN都 可以提供對長(cháng)時(shí)歷史以及未來(lái)信息的表達,但是這兩種表達之間是否存在互補性,是值得思考的問(wèn)題。
相信隨著(zhù)研究的不斷深入,科大訊飛的語(yǔ)音識別系統將不斷攀登新的高峰!
【參考文獻】
[1] S. Zhang, C. Liu, H. Jiang, S. Wei, L. Dai, and Y. Hu, “Feedforward sequential memory networks: A new structure to learn long-term dependency,” arXiv preprint arXiv:1512.08301, 2015.