胡希穎 王大東 陳佳欣
摘 要: 針對(duì)于NAO機(jī)器人自身語(yǔ)音識(shí)別準(zhǔn)確率低的問題,提出一種基于NAO機(jī)器人的BLSTM-CTC的聲學(xué)模型研究方法?;贐LSTM-CTC的聲學(xué)模型進(jìn)行建模,以BLSTM為聲學(xué)模型和CTC為目標(biāo)函數(shù),以音素作為基本建模單元,建立中文語(yǔ)音識(shí)別端到端系統(tǒng)。實(shí)驗(yàn)結(jié)果證明,本文算法相較于NAO機(jī)器人自身,取得了良好識(shí)別效果。
關(guān)鍵詞: 語(yǔ)音識(shí)別; BLSTM-CTC; NAO
文章編號(hào): 2095-2163(2021)03-0076-05 中圖分類號(hào): N33 文獻(xiàn)標(biāo)志碼:A
【Abstract】Aiming at the problem of low accuracy of NAO robot's own speech recognition, an acoustic model research method based on NAO robot BLSTM-CTC is proposed.Based on the acoustic model of BLSTM-CTC, an end-to-end system for Chinese speech recognition is established by taking BLSTM as the acoustic model and CTC as the objective function, and taking phonemes as the basic modeling unit.Experimental results show that compared with NAO robot itself, the proposed algorithm achieves good recognition performance.
【Key words】 speech recognition; BLSTM-CTC; NAO
0 引 言
語(yǔ)音識(shí)別是語(yǔ)音信號(hào)處理領(lǐng)域的一項(xiàng)重要研究?jī)?nèi)容,其中的基于深度學(xué)習(xí)的識(shí)別方法則在近年來引起了學(xué)界的廣泛關(guān)注[1]?;谏疃葘W(xué)習(xí)的識(shí)別方法是利用神經(jīng)網(wǎng)絡(luò)來構(gòu)建模型、訓(xùn)練數(shù)據(jù),并已取得了較好的識(shí)別效果,現(xiàn)正廣泛應(yīng)用于智能家居以及相關(guān)的學(xué)術(shù)研究等領(lǐng)域。作為備受學(xué)界矚目的智能機(jī)器人,NAO本身自帶語(yǔ)音識(shí)別模塊,但卻因受到自身處理速度和存儲(chǔ)能力的限制,識(shí)別效果一般??紤]到NAO機(jī)器人自身的軟硬件資源較為有限,只依靠NAO自身來提高語(yǔ)音識(shí)別準(zhǔn)確率的難度較大?;诖?,本文即提出以了BLSTM[2]為聲學(xué)模型和CTC為目標(biāo)函數(shù),利用WFST進(jìn)行解碼,對(duì)模型結(jié)構(gòu)進(jìn)行訓(xùn)練和學(xué)習(xí),并將其移植到NAO機(jī)器人上,從而獲得更好的識(shí)別結(jié)果,提升機(jī)器人的學(xué)習(xí)能力。
1 模型結(jié)構(gòu)
LSTM(Long Short-Term Memory)最早由Hochreiter & Schmidhuber在1977年提出[3],后經(jīng)Alex Graves完善并獲得廣泛應(yīng)用[4]。LSTM主要由2部分組成。一個(gè)是傳統(tǒng)的外部RNN循環(huán);一個(gè)是內(nèi)部精致的“門”結(jié)構(gòu),包括sigmoid神經(jīng)網(wǎng)絡(luò)層和按位乘法操作。LSTM的“門”分別是輸入門、輸出門、遺忘門,3個(gè)門控單元控制和保護(hù)cell的信息到細(xì)胞狀態(tài)[5]。LSTM基本結(jié)構(gòu)如圖1所示。
圖1中,遺忘門f決定從細(xì)胞狀態(tài)cell中遺棄哪些數(shù)據(jù)信息。其對(duì)應(yīng)數(shù)學(xué)公式可寫為:
細(xì)胞狀態(tài)cell確定可存放信息數(shù)據(jù),輸入門it,確定信息的更新與否,并在tan h層創(chuàng)建新的候選向量t,如此則用新的主語(yǔ)來更新代替舊的細(xì)胞狀態(tài)。
2 基于連接時(shí)序分類的語(yǔ)音識(shí)別系統(tǒng)
采用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)訓(xùn)練聲學(xué)模型方法時(shí),先是根據(jù)聲學(xué)模型的基本單元進(jìn)行建模,在訓(xùn)練時(shí)還需使用GMM與標(biāo)簽進(jìn)行對(duì)齊,并將目標(biāo)函數(shù)作為訓(xùn)練標(biāo)準(zhǔn)。本文用BLSTM-CTC系統(tǒng)在訓(xùn)練聲學(xué)模型時(shí)采用端到端的訓(xùn)練方式,不同于傳統(tǒng)的混合方法基于eesen框架的RNN使用基于交叉熵(CE)準(zhǔn)則訓(xùn)練幀級(jí)標(biāo)簽,而是采用CTC函數(shù)學(xué)習(xí)幀與序列的對(duì)齊,并使用WFST進(jìn)行解碼[6],BLSTM-CTC系統(tǒng)結(jié)構(gòu)如圖3所示。
2.1 連接時(shí)序分類CTC技術(shù)
CTC(Connectionist Temporal Classification)技術(shù)作為目標(biāo)函數(shù)無需強(qiáng)制預(yù)先對(duì)齊輸入與輸出幀級(jí)別信息,可直接對(duì)標(biāo)簽和語(yǔ)音特征之間的映射進(jìn)行建模。RNN中softmax層的輸出序列、即CTC層的輸入,softmax層中的k個(gè)節(jié)點(diǎn)與CTC中訓(xùn)練數(shù)據(jù)的標(biāo)簽序列一一對(duì)應(yīng);對(duì)未輸出的標(biāo)簽也需建模,在此基礎(chǔ)上,增加一個(gè)單元(blank)。假定長(zhǎng)度是T的輸入序列x,輸出向量yt,在t時(shí)刻softmax分類層輸出音素或空白的概率k表示為:
CTC經(jīng)過學(xué)習(xí)后得到由音素和blank組成的標(biāo)注序列a的輸出路徑概率為:
由于標(biāo)注的重復(fù)性和blank插入的影響,音頻序列與轉(zhuǎn)錄后去掉空白標(biāo)簽的路徑具有多重對(duì)應(yīng)關(guān)系,因此,輸入序列x對(duì)應(yīng)的輸出標(biāo)簽概率為:
其中,a→y的映射獲取β,β的逆過程表示為β-1,映射過程把空白類去除的同時(shí)將重復(fù)序列合并得到y(tǒng)目標(biāo)函數(shù),即:
通過已知的輸入序列找到最大概率的輸出路徑、即CTC網(wǎng)絡(luò)解碼的最佳路徑為:
CTC路徑求和隨著輸入序列的增加,計(jì)算復(fù)雜度越來越增大,為解決這一實(shí)際問題,在輸出序列z的首尾及每對(duì)輸出標(biāo)簽序列之間插入索引是“0”的blank標(biāo)簽,從而將得到的增廣式擴(kuò)充標(biāo)簽序列l(wèi)=(l1,…,l2U+1)用于語(yǔ)音識(shí)別中前后向算法(Forward-backward Algorithm)計(jì)算路徑似然估計(jì)[7]。
標(biāo)簽序列z的似然估計(jì)概率計(jì)算如下:
其中,t為1到T時(shí)刻中的任意一幀。CTC目標(biāo)函數(shù)lnPr(z|X)對(duì)RNN網(wǎng)絡(luò)輸出yt求微分,則lnPr(z|X)相對(duì)于ykt的一階導(dǎo)為:
由式(11)可見,目標(biāo)函數(shù)可進(jìn)行微分,所以bt、bi、bo、bf在求導(dǎo)過程中誤差影響可以忽略,RNN在接收softmax層反向傳播過程中即可更新參數(shù)。
2.2 WFST解碼
一般情況下,應(yīng)用于CTC訓(xùn)練輸出模型的解碼方法均有些不足。一是不能把單詞級(jí)語(yǔ)言模型進(jìn)行有效的整合[8];二是只能在特定約束條件下進(jìn)行集合[9],因此需要高效解碼。本文基于發(fā)聲特點(diǎn)將語(yǔ)言模型、詞典和CTC輸出用WFST進(jìn)行編譯,建立一個(gè)基于WFST的搜索圖實(shí)現(xiàn)高效完整性的解碼操作。WFST實(shí)質(zhì)上是一個(gè)FSA(Finite-state Acceptor),相應(yīng)的每個(gè)轉(zhuǎn)換都包含輸入符號(hào)、輸出符號(hào)和權(quán)重[10]。
WFST解碼由3個(gè)部分組成,分別是:標(biāo)記(Token)、語(yǔ)法(Grammar)和詞典(Lexicon)。對(duì)此擬做闡釋分述如下。
(1)語(yǔ)法G:基于語(yǔ)言模型n-gram編碼了符合語(yǔ)法的單詞序列。初始節(jié)點(diǎn)用節(jié)點(diǎn)O表示,每個(gè)邊的權(quán)重即當(dāng)前對(duì)應(yīng)字或詞的概率。
(2)標(biāo)記T:編碼了語(yǔ)音CTC標(biāo)簽序列L到詞典單元L的一對(duì)多的映射關(guān)系(l)。在詞典單元中,幀級(jí)別標(biāo)簽序列進(jìn)行WFST存在空白標(biāo)簽Φ和重復(fù)序列,例如處理五幀后的RNN可能存在的標(biāo)記序列“AAAAA”、“ΦΦA(chǔ)AΦ”、“ΦA(chǔ)AΦΦ”,token的WFST可把上述三種序列均映射為一個(gè)“A”的詞典單元。
(3)詞典L:WFST將標(biāo)簽序列L的詞序列映射到字序列進(jìn)行編碼。空的輸入和輸出用
3個(gè)獨(dú)立的WFST在編譯后,把語(yǔ)法G和詞典L進(jìn)行組合獲得LG網(wǎng)絡(luò),再通過確定化和最小化算法針對(duì)LG網(wǎng)絡(luò)進(jìn)行處理,同時(shí)減少搜索圖的占用和優(yōu)化WFST網(wǎng)絡(luò),最終結(jié)合CTC標(biāo)簽生成完整的搜索圖,也就是:
在搜索圖S中。T、min、det分別表示組合、最小化和確定化操作[11]。S通過編碼將獲取的CTC標(biāo)簽映射到字序列,此方法較HMM模型CTC解碼速度和性能均大幅度提高。
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)數(shù)據(jù)集
本節(jié)的基于NAO機(jī)器人的BLSTM-CTC聲學(xué)模型研究是基于清華大學(xué)開源的THCHS-30中文數(shù)據(jù)集。該數(shù)據(jù)集是由50人錄制的、共計(jì)時(shí)長(zhǎng)為35 h的聲音數(shù)據(jù),數(shù)據(jù)中的采樣率和量化位數(shù)分別為16 kHz和16 bit。其中,訓(xùn)練集占74.7%,共10 000句;開發(fā)集占6.7%,共893句;測(cè)試集則占18.6%,共2 495句,并且每個(gè)集合之間均不存在相同錄制人。語(yǔ)言模型為3-gram模型。
3.2 實(shí)驗(yàn)設(shè)置
本次實(shí)驗(yàn)中的硬件配置是Ubuntu Linux操作系統(tǒng)和NAO機(jī)器人的麥克風(fēng);實(shí)驗(yàn)軟件配置是搭建TensorFlow1.5框架結(jié)構(gòu)和Python2.7編程語(yǔ)言。實(shí)驗(yàn)中搭建的基于BLSTM-CTC端到端語(yǔ)音識(shí)別系統(tǒng),輸入特征參數(shù)MFCC幀長(zhǎng)為256,Mel頻率倒譜系數(shù)為26,每個(gè)時(shí)間段有494個(gè)MFCC特征數(shù),語(yǔ)音輸入的窗函數(shù)選用漢明窗。
3.3 實(shí)驗(yàn)結(jié)果分析
端到端系統(tǒng)建模能力強(qiáng)于基線系統(tǒng),但不同的網(wǎng)絡(luò)隱藏層數(shù)對(duì)系統(tǒng)性能的影響也存在差異性。表1給出了不同的隱藏層數(shù),即2層、3層和4層之間系統(tǒng)的WER值對(duì)比。
由表1可知,LSTM網(wǎng)絡(luò)層數(shù)為3層時(shí),相較于2層和4層,系統(tǒng)的WER值分別降低了1.01%和2.28%。當(dāng)網(wǎng)絡(luò)層由2層豐富到3層時(shí),結(jié)構(gòu)得到完善,性能獲得提升;當(dāng)網(wǎng)絡(luò)層由3層增加到4層時(shí),由于訓(xùn)練語(yǔ)料庫(kù)的短缺,導(dǎo)致網(wǎng)絡(luò)欠擬合,反而抑制系統(tǒng)準(zhǔn)確率的提升。因此,3層的網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)最優(yōu)。
本實(shí)驗(yàn)的網(wǎng)絡(luò)模型結(jié)構(gòu)是由3層全連接層網(wǎng)絡(luò)作為輸入,每層包含1 024個(gè)節(jié)點(diǎn),設(shè)置最佳學(xué)習(xí)率為0.001,共進(jìn)行120次迭代,每次迭代共循環(huán)267次,每次取8。訓(xùn)練中選取句子字?jǐn)?shù)相同、但循環(huán)次數(shù)不同的3組數(shù)據(jù)進(jìn)行對(duì)比,分別是69、139和209,每次迭代訓(xùn)練后均對(duì)訓(xùn)練損失、錯(cuò)誤率和訓(xùn)練時(shí)間進(jìn)行輸出。以音素為基本單元進(jìn)行建模,輸出層激活函數(shù)是softmax函數(shù),其輸出標(biāo)簽數(shù)為47,其中包含一個(gè)靜音標(biāo)簽和blank標(biāo)簽以及45個(gè)音素。
文中選取前22次的迭代數(shù)據(jù),分析3種不同循環(huán)次數(shù)進(jìn)行對(duì)比,如圖4所示。隨著迭代次數(shù)的增加,在端到端語(yǔ)音識(shí)別系統(tǒng)中循環(huán)69次的正確率峰值最大;循環(huán)139次相較其他兩者識(shí)別變化更加穩(wěn)定;循環(huán)209次初始錯(cuò)誤率最低??梢娧h(huán)次數(shù)越多,錯(cuò)誤率越小。
不同循環(huán)次數(shù)BLSTM-CTC語(yǔ)音識(shí)別損失對(duì)比如圖5所示。由圖5可知,端到端語(yǔ)音識(shí)別系統(tǒng)循環(huán)次數(shù)69次時(shí),初始損失為304.81,較其他兩者損失相比過大;當(dāng)循環(huán)次數(shù)為209次時(shí),初始損失則為292.24,當(dāng)?shù)鷶?shù)目增加時(shí),損失均呈現(xiàn)逐漸下降趨勢(shì),不同次數(shù)間的損失數(shù)值變化區(qū)別不明顯,可見循環(huán)次數(shù)越小損失變化越明顯。綜上可知,循環(huán)次數(shù)為209時(shí),損失變動(dòng)小,魯棒性更強(qiáng)。
BLSTM-CTC語(yǔ)音識(shí)別WER和損失變化則如圖6所示。由圖6可知,隨著迭代次數(shù)的變化,訓(xùn)練損失大幅度降低,錯(cuò)誤率變化不穩(wěn)定,但趨勢(shì)處于降低狀態(tài),最終的識(shí)別準(zhǔn)確率為74.4%。實(shí)現(xiàn)NAO機(jī)器人語(yǔ)音識(shí)別魯棒性的有效提高。
NAO機(jī)器人、端到端系統(tǒng)對(duì)比見表2。表2中,針對(duì)NAO機(jī)器人自身和使用端到端系統(tǒng)二者進(jìn)行對(duì)比,依據(jù)詞錯(cuò)誤率(Word Error Rate,WER)作為評(píng)判標(biāo)準(zhǔn)。與最初的NAO識(shí)別準(zhǔn)確率相比, BLSTM-CTC系統(tǒng)將WER值降低6.57%。研究中發(fā)現(xiàn)WER值成功降低,但仍存在一些不足, BLSTM-CTC系統(tǒng)訓(xùn)練后不受外界附加條件影響和制約,但訓(xùn)練時(shí)間長(zhǎng)。由此可見,兩者魯棒性均獲得大幅度提高,但也都存在一定的弊端,因此,兩者可相互彌補(bǔ)在不同的硬件配置條件下的不足,通過多種方案均可有效改善NAO機(jī)器人WER值。
4 結(jié)束語(yǔ)
本文使用基于BLSTM-CTC的聲學(xué)模型進(jìn)行建模,建立了中文語(yǔ)音識(shí)別端到端系統(tǒng),應(yīng)用于NAO機(jī)器人。實(shí)驗(yàn)結(jié)果證明,使用端到端系統(tǒng)比NAO機(jī)器人自身的WER有了進(jìn)一步的改善,為NAO機(jī)器人的語(yǔ)音處理領(lǐng)域提供了更多的思路。
參考文獻(xiàn)
[1] ?戴禮榮,張仕良,黃智穎. 基于深度學(xué)習(xí)的語(yǔ)音識(shí)別技術(shù)現(xiàn)狀與展望[J]. 數(shù)據(jù)采集與處理,2017,32(2):221-231.
[2] 姚煜. 基于BLSTM-CTC和WFST的端到端中文語(yǔ)音識(shí)別系統(tǒng)[J]. 計(jì)算機(jī)應(yīng)用,2018(2):1-4.
[3] HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural computation, 1997, 9(8):1735-1780.
[4] SHERSTINSKY A. Fundamentals of Recurrent Neural Network (RNN) and Long Short-Term Memory (LSTM) network[J]. Physica D: Nonlinear Phenomena, 2020,404:132306.
[5] XU Y, MO T, FENG Q. Deep learning of feature representation with multiple instance learning for medical image analysis[C]//Proceedings of IEEE International Conference on Acoustics, Speech and Signal Processing( ICASSP). Washington DC: IEEE, 2014:1626-1630.
[6] FAHED A, GHALIA N. A multiple- hypothesis map-matching method suitable for weighted and box-shaped state estimation for location[J]. IEEE Transactions on Intelligent Transportation Systems, 2011,12(4):1495-1510.
[7] 鄭曉瓊,汪曉,江海升,等. 基于RNN和WFST譯碼的自動(dòng)語(yǔ)音識(shí)別研究[J]. 信息技術(shù),2019,43(6):115-120.
[8] PRICE M, GLASS J, CHANDRAKASAN A P. A low-power speech recognizer and voice activity detector using deep neural networks[J]. IEEE Journal of Solid-State Circuits, 2018,53(1):66 -75.
[9] 馮偉,易綿竹,馬延周. 基于WFST的俄語(yǔ)字音轉(zhuǎn)換算法研究[J]. 中文信息學(xué)報(bào),2018,32(2): 87-93,101.
[10]ARMENI K, WILLEMS R M, FRANK S L. Probabilistic language models in cognitive neuroscience:Promises and pitfalls[J]. Neuroscience & Biobehavioral Reviews, 2017,83:579-588.
[11]JIANG B, CHAN W K. Input-based adaptive randomized test case prioritization: A local beam search approach[J]. Journal of Systems and Software, 2015,105: 91-106.