喬永鳳,周曉莉,馮志永,王凱
山西工程技術學院電氣工程自動化系,山西 陽泉 045000
在人工智能飛速發展的今天,各種智能產品已經成為人們生活中不可或缺的一部分,越來越多的應用已經涉及智能語音技術、手機端的語音助手、導航系統等.語言作為人類最重要最便捷的基本交流功能,在科技信息日益發展的今天研發新的語音識別算法和策略顯得尤為迫切.
語音識別的研究起源于20世紀50年代,從最初的孤立詞識別系統向大詞匯量連續語音識別系統發展,語音識別逐步成熟,但離實用化還相差甚遠,語音識別的研究一度陷入瓶頸.2006年,辛頓(Hinton)提出深度置信網絡(DBN),促使了深度神經網絡(Deep Neural Network,DNN)研究的復蘇[1],掀起了深度學習的熱潮.
深度學習(Deep Learning)的概念源于人工神經網絡的研究,深度學習是機器學習的技術和研究領域之一,其模型結構是一個具有多隱層結構的感知器(Multi-layer Perceptron,MLP),通過模擬人腦神經元進行分析、學習,然后通過組合低層特征,形成更加抽象的高層特征,以有監督或無監督的訓練過程對輸入特征進行學習,從而發現數據分布特征,提升分類或預測的準確性[2].
常用于語音識別的深度學習模型有自動編碼器(Auto-encoder,AE)、深度神經網絡(Deep Neural Network,DNN)、卷積神經網絡(Convolutional Neural Network,CNN)和遞歸神經網絡(Recurrent Neural Network,RNN)等[3].
(1)自動編碼器神經網絡是一種無監督學習算法,利用神經網絡捕捉可以代表高維輸入數據的重要特征,使用反向傳播算法,使得輸出值等于輸入值.
自動編碼器由兩部分組成:編碼器(Encoder)和解碼器(Decoder).編碼器將輸入壓縮成潛在空間表征,可以用編碼函數h=f(x)表示.解碼器重構來自潛在空間表征的輸入,用解碼函數r=g(h)表示.自動編碼器一般用于降維或特征學習,可作為強大的特征檢測器,應用于深度神經網絡的預訓練[4].
(2)深度神經網絡是利用深度置信網絡來初始化MLP的神經網絡[5],本質上是一個包含多個隱層的多層感知器,相鄰兩層為全連接關系,采用無監督學習的算法逐層進行預訓練,在最后一層加上一個softmax網絡對模型進行精調.
(3)卷積神經網絡的靈感來自生物過程[6,7],是一種屬于深度學習網絡范疇的前饋人工神經網絡,適用于圖像識別和語音信號識別分析.CNN的基本結構由輸入層、卷積層、取樣層(池化層)、全連接層及輸出層構成[8],主要思想為局部連接和權值共享[9].
卷積層通過卷積運算對輸入數據進行特征提取,使原始信號的某些特征增強.池化層對卷積層傳遞過來的數據進行特征選擇和信息過濾,通過降低特征面的分辨率來獲得具有空間不變性的特征[8,10].在經過多輪卷積層和池化層處理之后,在卷積神經網絡的最后,一般會由1個到2個全連接層來給出最后的分類結果.語音識別就是利用卷積神經網絡的時間和空間上的平移不變形特點.CNN把語音信號時譜當做一張圖像進行掃描,抽取特征,選擇特征,最后組合成句子的語義表示.
(4)遞歸神經網絡也叫循環神經網絡,是一種特殊的神經網絡結構,主要用途是處理和預測序列數據,其深度能與系統輸入序列長度相比擬[11].循環網絡會記憶之前的信息,并利用之前的信息影響后面結點的輸出,循環神經網絡的來源就是為了刻畫一個序列當前的輸出與之前信息的關系.
隨著信息技術的提升,各行業信息化程度的普及,積累了越來越多的數據,這些數據具有體量規模大、數據流轉快、類型多樣化和價值密度低的4V特征,謂之大數據.大數據是對某種現象的模糊表示,具有很大的潛在價值.大數據的定義是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力來適應海量、高增長率和多樣化的信息資產[12].大數據的價值在于經過數據分析從海量數據中發現隱藏的規律,獲得有用信息.
深度學習算法通過逐層學習過程提取高級、復雜的抽象作為數據表示[13],它是一種基于對數據進行表征學習的方法,通過某種優化算法對深層非線性網絡結構實現函數逼近.深度學習模仿人類大腦,在構建復雜的深度神經網絡模型中通過大量的數據計算獲得每個階段進入神經元的權值,提取數據特征,它是通過增加數據集的規模來改善學習結果的.在大數據分析中,原始數據基本上是未標記和未分類的,深度學習通過分析和學習大量的無監督數據,從海量數據中挖掘出有用的信息,所以深度學習是大數據分析的有力工具.
具有多隱層的神經網絡通過深度學習,展現出強大的從大量無標注樣本集中學習數據集本質特征的能力,在大規模訓練數據情況下,復雜結構的深層神經網絡模型能夠取得更好的效果,尤其是在圖像、語音識別方面.
在大數據時代,更加復雜強大的深度模型能夠揭示海量數據所承載的復雜而豐富的信息.在語音識別中,訓練數據的匹配和豐富性是推動系統性能提升的最重要因素之一.深度學習用于語音識別,其本質上是通過深度神經網絡學習模型并訓練海量語音數據,從大量的音頻數據中學習規律,發現有用特征,提升語音識別準確率.
語音識別是利用有效手段,將語音信號所表示的內容轉換為計算機可讀的信息.隨著深度學習在語音識別方面的應用,語音識別率大大提高.語音識別主要過程為:從語音波形中提取聲學特征,通過訓練創建聲學模型,和語音模型進行匹配,經某種算法解碼后獲得與原始數據一致的文本信息.
在語音識別中,深度學習方法是要進行模型匹配,學習過程中會盡力分析優化得出最合理正確的匹配,利用訓練好的數據分析構建好模型,這需要大量的數據,大數據時代為語音識別研究提供了機會,大量的語音數據可以獲得并通過深度學習訓練去匹配模型,本文用RNN深度學習模型來說明深度學習過程.RNN網絡及隱層結構如圖1所示.

(a)RNN神經網絡(b)HiddenLayer的層級展開
由圖1可以看出,中間隱層使用帶自反饋的神經元,st由xt和st-1共同決定,即
st=φ(Uxt+Wst-1+b)
(1)
st-1體現了記憶功能,而它的值又是由st-2和xt-1決定的.因此st的值實際上是由x1,x2,...,xt決定的,它記住了之前完整的序列信息.上述RNN網絡僅有輸入、輸出和一個循環隱層組成.輸出為
ot=φ(Vst+b0)
(2)
其中,φ,φ為激活函數,b為偏置向量.φ可以選用tanh,relu,sig moid等作為激活函數,φ一般取soft max函數對輸出作歸一化處理.U,W,V為權重矩陣.
RNN模型中的三個參數U,W,V是全局共享的,參數的更新是利用隨時間變化的反向傳播算法(Backpropagation Through Time,BPTT).對含多個隱層RNN來說,神經元每一時刻都有監督信息計算損失,總的損失為
(3)
令
則
則
對全局來說,矩陣V的更新對應的微分
(4)
在求矩陣U,W時,因為t時刻U的微分與t-1時刻有關,推導時應將前t-1時刻全部帶入,故矩陣U,W更新所對應的微分為
(5)
(6)
語音在語義的表達上具有時間連續性,由于RNN的記憶功能,對序列信號的建模非常有效[14].RNN通過反饋機制,將學習到的歷史信息存儲在網絡的權重中,從而實現對時序信號的建模.理論上,RNN可以實現任意長度的序列到另一個序列的映射[15].RNN把一句話看成單詞的序列,每個單詞由一個向量表示,每一個位置上有一個中間表示,由向量組成,表示從句首到這個位置的語義.BPTT會導致RNN計算復雜度增加,且存在梯度消失問題,為此提出了一些改進的RNN結構或算法,比如加入長短期記憶(Long Short Term Memory,LSTM)機制,使RNN可以處理遠距離依存關系,更好地表示整句的語義.采用端到端的學習算法,結合LSTM的RNN網絡使語音中的音素識別率提高[16]以提高語音識別率等.
深度學習用于語音識別大大提高了識別率,科大訊飛發表的官方數據顯示,基于大數據的深度學習用于語音識別,語音識別率逐年上升,如表1所示.
從表1可知,在大數據基礎上,深度學習用于語音識別,語音識別率從2010年的60.2 %上升到2018年的98 %.大數據為神經網絡訓練提供了充足的樣本,隨著硬件技術的發展和計算機運算能力的提升,深度學習在訓練大規模神經網絡處理大數據的速度不斷提高,語音識別率將會進一步得到提升.

表1 語音識別率逐年遞增表Tab.1 Speech recognition rate increasing year by year
基于大數據的深度學習為語音識別提供了良好的平臺.語音識別技術的三個方面:特征提取、模式匹配和模型訓練都離不開大量訓練數據的積累和匹配,而數據的可靠和有效依賴于算法的可行性.在大數據基礎上,深度學習用于語音識別大大提高了識別率.