個時間步的激活值,作為原始輸入 的抽象表示;
[0191] 第二計(jì)算模塊33 :用于將激活值輸入softmax分類器,并通過CTC網(wǎng)絡(luò)對齊序列 標(biāo)簽,計(jì)算softmax輸出與序列標(biāo)簽的誤差;
[0192] 第二調(diào)整模塊34 :用于采用誤差反向傳播算法調(diào)整該層與前一層連接的權(quán)重矩 陣、偏差向量、該層的層內(nèi)連接的權(quán)重矩陣和初始狀態(tài)激活值參數(shù)。
[0193] 本發(fā)明中,采用RNN訓(xùn)練模塊1,利用語音序列的標(biāo)簽逐層訓(xùn)練遞歸層的RNN參數(shù) W(1)、b(1)、Whh和if,使得提取的特征既可以很好的表征原始信號,又具有分類能力。并且, 與現(xiàn)有技術(shù)相比,本發(fā)明采用CTC網(wǎng)絡(luò)計(jì)算目標(biāo)函數(shù),不需要對語音序列樣本和標(biāo)簽預(yù)先 分節(jié)或者進(jìn)行后處理,在減少工作量的同時也能提高訓(xùn)練精度。
[0194] 本發(fā)明中,RNN訓(xùn)練模塊1還連接有end - to-end訓(xùn)練模塊2,如圖12所示,end -to-end訓(xùn)練模塊2,包括:
[0195] 傳播模塊41 :用于將逐層訓(xùn)練得到的每層隱含層的參數(shù)作為RNN參數(shù)的初始值, 將訓(xùn)練樣本的MFCC特征作為RNN的輸入,從第一層隱含層開始,到最后一層隱含層結(jié)束,逐 層向后傳播,得到最后一層隱含層的激活值;
[0196] 計(jì)算模塊42 :用于將最后一層隱含層的激活值輸入softmax分類器,并通過CTC 網(wǎng)絡(luò)對齊序列標(biāo)簽,計(jì)算softmax輸出與序列標(biāo)簽的誤差;
[0197] 調(diào)整模塊43 :用于采用誤差反向傳播算法從最后一層隱含層開始,到第一層隱含 層結(jié)束,逐層地向前傳播,調(diào)整每層隱含層的RNN參數(shù)。
[0198] 本發(fā)明中的end - to-end訓(xùn)練模塊2,使我們在通過RNN訓(xùn)練模塊1得到的很好的 參數(shù)初值的基礎(chǔ)上,再對每個隱含層的RNN參數(shù)進(jìn)行微調(diào),有效地避免了 RNN參數(shù)陷入局部 極小值,使每個隱含層的RNN參數(shù)串聯(lián)后,能夠具有很好的分類能力,可以更快的收斂到最 優(yōu)解。
[0199] 本發(fā)明中,誤差反向傳播算法為BP算法。BP算法是將輸出層誤差通過隱含層向輸 入層逐層傳播,并將誤差按照權(quán)重分?jǐn)偨o前一層隱含層的所有單元,從而獲得各隱含層單 元的誤差信號,此誤差信號即作為修正各單元權(quán)值的依據(jù),誤差反向傳播的各層權(quán)值調(diào)整 過程,是周而復(fù)始地進(jìn)行的,權(quán)值不斷調(diào)整的過程,也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程,此過程一 直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可接受的程度為止。
[0200] 以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員 來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也 應(yīng)視為本發(fā)明的保護(hù)范圍。
【主權(quán)項(xiàng)】
1. 一種語音識別方法,其特征在于,包括: 獲取待識別的語音信號; 采用MFCC算法對所述語音信號進(jìn)行特征提取,得到MFCC特征; 將所述MFCC特征輸入預(yù)先訓(xùn)練好的RNN,得到識別出的文本信息; 其中,所述RNN通過逐層訓(xùn)練得到,所述RNN包含若干隱含層,當(dāng)隱含層為非遞歸層時, 只訓(xùn)練該層與前一層連接的權(quán)重矩陣和偏差向量參數(shù),當(dāng)隱含層為遞歸層時,只訓(xùn)練該層 與前一層連接的權(quán)重矩陣、偏差向量、該層的層內(nèi)連接的權(quán)重矩陣和初始狀態(tài)激活值參數(shù)。2. 根據(jù)權(quán)利要求1所述的語音識別方法,其特征在于,所述RNN的逐層訓(xùn)練方法包括: 當(dāng)隱含層為非遞歸層時,采用自動編碼器對訓(xùn)練樣本依次進(jìn)行編碼和解碼操作,計(jì)算 得到訓(xùn)練樣本的每個時間步的重構(gòu)誤差; 采用誤差反向傳播算法使得重構(gòu)誤差最小,更新參數(shù)值,采用更新后的參數(shù)計(jì)算使重 構(gòu)誤差最小時訓(xùn)練樣本的每個時間步的激活值,作為原始輸入的抽象表示; 將所述激活值輸入softmax分類器,并通過CTC網(wǎng)絡(luò)對齊序列標(biāo)簽,計(jì)算softmax輸出 與序列標(biāo)簽的誤差; 采用誤差反向傳播算法調(diào)整該層與前一層連接的權(quán)重矩陣和偏差向量參數(shù)。3. 根據(jù)權(quán)利要求1所述的語音識別方法,其特征在于,所述RNN的訓(xùn)練方法包括: 當(dāng)隱含層為遞歸層時,采用自動編碼器對訓(xùn)練樣本依次進(jìn)行編碼和解碼操作,計(jì)算得 到訓(xùn)練樣本的每個時間步的重構(gòu)誤差; 采用誤差反向傳播算法使得重構(gòu)誤差最小,更新參數(shù)值,采用更新后的參數(shù)計(jì)算使重 構(gòu)誤差最小時訓(xùn)練樣本的每個時間步的激活值,作為原始輸入的抽象表示; 將所述激活值輸入softmax分類器,并通過CTC網(wǎng)絡(luò)對齊序列標(biāo)簽,計(jì)算softmax輸出 與序列標(biāo)簽的誤差; 采用誤差反向傳播算法調(diào)整該層與前一層連接的權(quán)重矩陣、偏差向量、該層的層內(nèi)連 接的權(quán)重矩陣和初始狀態(tài)激活值參數(shù)。4. 根據(jù)權(quán)利要求2或3所述的語音識別方法,其特征在于,所述RNN在逐層訓(xùn)練之后還 進(jìn)行了 end-to-end訓(xùn)練,所述end-to-end訓(xùn)練包括: 將逐層訓(xùn)練得到的每層隱含層的參數(shù)作為RNN參數(shù)的初始值,將訓(xùn)練樣本的MFCC特征 作為RNN的輸入,從第一層隱含層開始,到最后一層隱含層結(jié)束,逐層向后傳播,得到最后 一層隱含層的激活值; 將最后一層隱含層的激活值輸入softmax分類器,并通過CTC網(wǎng)絡(luò)對齊序列標(biāo)簽,計(jì)算 softmax輸出與序列標(biāo)簽的誤差; 采用誤差反向傳播算法從最后一層隱含層開始,到第一層隱含層結(jié)束,逐層地向前傳 播,調(diào)整每層隱含層的RNN參數(shù)。5. 根據(jù)權(quán)利要求4所述的語音識別方法,其特征在于,所述誤差反向傳播算法為BP算 法。6. -種語音識別裝置,其特征在于,包括: 獲取模塊:用于獲取待識別的語音信號; 提取模塊:用于采用MFCC算法對所述語音信號進(jìn)行特征提取,得到MFCC特征; 識別模塊:用于將所述MFCC特征輸入預(yù)先訓(xùn)練好的RNN,得到識別出的文本信息; 其中,所述RNN通過逐層訓(xùn)練得到,所述RNN包含若干隱含層,當(dāng)隱含層為非遞歸層時, 只訓(xùn)練該層與前一層連接的權(quán)重矩陣和偏差向量參數(shù),當(dāng)隱含層為遞歸層時,只訓(xùn)練該層 與前一層連接的權(quán)重矩陣、偏差向量、該層的層內(nèi)連接的權(quán)重矩陣和初始狀態(tài)激活值參數(shù)。7. 根據(jù)權(quán)利要求6所述的語音識別裝置,其特征在于,所述識別模塊連接有RNN訓(xùn)練模 塊,所述RNN訓(xùn)練模塊包括: 第一自動編碼模塊:用于當(dāng)隱含層為非遞歸層時,采用自動編碼器對訓(xùn)練樣本依次進(jìn) 行編碼和解碼操作,計(jì)算得到訓(xùn)練樣本的每個時間步的重構(gòu)誤差; 第一訓(xùn)練模塊:用于采用誤差反向傳播算法使得重構(gòu)誤差最小,更新參數(shù)值,采用更新 后的參數(shù)計(jì)算使重構(gòu)誤差最小時訓(xùn)練樣本的每個時間步的激活值,作為原始輸入的抽象表 示; 第一計(jì)算模塊:用于將所述激活值輸入softmax分類器,并通過CTC網(wǎng)絡(luò)對齊序列標(biāo) 簽,計(jì)算softmax輸出與序列標(biāo)簽的誤差; 第一調(diào)整模塊:用于采用誤差反向傳播算法調(diào)整該層與前一層連接的權(quán)重矩陣和偏差 向量參數(shù)。8. 根據(jù)權(quán)利要求6所述的語音識別裝置,其特征在于,所述RNN訓(xùn)練模塊還包括: 第二自動編碼模塊:用于當(dāng)隱含層為遞歸層時,采用自動編碼器對訓(xùn)練樣本依次進(jìn)行 編碼和解碼操作,計(jì)算得到訓(xùn)練樣本的每個時間步的重構(gòu)誤差; 第二訓(xùn)練模塊:用于采用誤差反向傳播算法使得重構(gòu)誤差最小,更新參數(shù)值,采用更新 后的參數(shù)計(jì)算使重構(gòu)誤差最小時訓(xùn)練樣本的每個時間步的激活值,作為原始輸入的抽象表 示; 第二計(jì)算模塊:用于將所述激活值輸入softmax分類器,并通過CTC網(wǎng)絡(luò)對齊序列標(biāo) 簽,計(jì)算softmax輸出與序列標(biāo)簽的誤差; 第二調(diào)整模塊:用于采用誤差反向傳播算法調(diào)整該層與前一層連接的權(quán)重矩陣、偏差 向量、該層的層內(nèi)連接的權(quán)重矩陣和初始狀態(tài)激活值參數(shù)。9. 根據(jù)權(quán)利要求7或8所述的語音識別裝置,其特征在于,所述RNN訓(xùn)練模塊還連接有 end - to-end訓(xùn)練模塊,所述end - to-end訓(xùn)練模塊,包括: 傳播模塊:用于將逐層訓(xùn)練得到的每層隱含層的參數(shù)作為RNN參數(shù)的初始值,將訓(xùn)練 樣本的MFCC特征作為RNN的輸入,從第一層隱含層開始,到最后一層隱含層結(jié)束,逐層向后 傳播,得到最后一層隱含層的激活值; 計(jì)算模塊:用于將最后一層隱含層的激活值輸入softmax分類器,并通過CTC網(wǎng)絡(luò)對齊 序列標(biāo)簽,計(jì)算softmax輸出與序列標(biāo)簽的誤差; 調(diào)整模塊:用于采用誤差反向傳播算法從最后一層隱含層開始,到第一層隱含層結(jié)束, 逐層地向前傳播,調(diào)整每層隱含層的RNN參數(shù)。10. 根據(jù)權(quán)利要求9所述的語音識別裝置,其特征在于,所述誤差反向傳播算法為BP算 法。
【專利摘要】本發(fā)明公開了一種語音識別方法和裝置,屬于機(jī)器學(xué)習(xí)和語音識別領(lǐng)域,所述方法包括:獲取待識別的語音信號;采用MFCC算法對所述語音信號進(jìn)行特征提取,得到MFCC特征;將所述MFCC特征輸入預(yù)先訓(xùn)練好的RNN,得到識別出的文本信息。其中,所述RNN通過逐層訓(xùn)練得到,所述RNN包含若干隱含層,當(dāng)隱含層為非遞歸層時,只訓(xùn)練該層與前一層連接的權(quán)重矩陣和偏差向量參數(shù),當(dāng)隱含層為遞歸層時,只訓(xùn)練該層與前一層連接的權(quán)重矩陣、偏差向量、該層的層內(nèi)連接的權(quán)重矩陣和初始狀態(tài)激活值參數(shù)。與現(xiàn)有技術(shù)相比,本發(fā)明具有速度快、精度高的優(yōu)點(diǎn)。
【IPC分類】G10L15/08, G10L25/24
【公開號】CN105139864
【申請?zhí)枴緾N201510504840
【發(fā)明人】劉孟竹, 唐青松, 張祥德
【申請人】北京天誠盛業(yè)科技有限公司
【公開日】2015年12月9日
【申請日】2015年8月17日