劉鑫,羅幼喜
(湖北工業(yè)大學(xué)理學(xué)院,湖北武漢,430068)
在深度學(xué)習(xí)應(yīng)用到語(yǔ)音識(shí)別領(lǐng)域之前,聲學(xué)模型也有屬于自己的一套體系,像高斯混合模型和隱馬爾可夫模型在語(yǔ)音識(shí)別的領(lǐng)域上都取得了不錯(cuò)的效果,但是傳統(tǒng)的語(yǔ)音識(shí)別模型存在上下文割裂的情況。
因此,研究人員注意到具有自注意力機(jī)制的深度神經(jīng)網(wǎng)絡(luò)模型Transformer,在機(jī)器翻譯、計(jì)算機(jī)視覺(jué)等領(lǐng)域中展現(xiàn)出強(qiáng)勁識(shí)別性能。于是,Dong等人首次將Transformer模型引入語(yǔ)音識(shí)別領(lǐng)域,提出Speech-Transformer模型,使得Transformer能夠完成語(yǔ)音識(shí)別任務(wù);然后Bie等人又將Speech-Transformer模型規(guī)模進(jìn)行縮減,使其應(yīng)用到低存儲(chǔ)設(shè)備,但是在傳統(tǒng)的端對(duì)端的模型當(dāng)中Transformer模型存在參數(shù)量大,識(shí)別準(zhǔn)確率低,訓(xùn)練時(shí)間長(zhǎng)等種種問(wèn)題,無(wú)法很好地移植到硬件設(shè)備上,因此研究模型參數(shù)的影響因素和縮減模型的參數(shù)量以及加快模型的訓(xùn)練速度成了一個(gè)亟待解決的問(wèn)題。
本文在Speech-Transformer語(yǔ)音識(shí)別系統(tǒng)的基礎(chǔ)上進(jìn)行一定的探索研究,對(duì)模型中的參數(shù)進(jìn)行一定的探索和量化工作,并且對(duì)模型結(jié)構(gòu)進(jìn)行一定的修改以求達(dá)到一個(gè)更優(yōu)的模型。通過(guò)研究Transformer不同參數(shù)對(duì)其模型性能的影響,此外本文在對(duì)模型進(jìn)行參數(shù)調(diào)整的過(guò)程中還對(duì)Transformer模型結(jié)構(gòu)中殘差連接和歸一化層(add&norm)這一結(jié)構(gòu)結(jié)合殘差神經(jīng)網(wǎng)絡(luò)相應(yīng)地改進(jìn)施進(jìn)行修改,在保證詞錯(cuò)率下降的同時(shí),加快模型的收斂速度和訓(xùn)練速度,修改結(jié)構(gòu)之后的模型在詞錯(cuò)率上相比原有模型詞錯(cuò)率更低,并且收斂速度也比未修改結(jié)構(gòu)的模型收斂速度更快。在最后訓(xùn)練出來(lái)的所有模型當(dāng)中,挑選出參數(shù)量小準(zhǔn)確率高解碼速度快的模型進(jìn)行識(shí)別任務(wù)。
在語(yǔ)音識(shí)別中,考慮到語(yǔ)音數(shù)據(jù)在一段時(shí)間內(nèi)會(huì)有重復(fù)的片段在里面,句子的特征向量會(huì)比較冗長(zhǎng),這里采用卷積層在進(jìn)行特征提取的同時(shí)對(duì)語(yǔ)音序列的長(zhǎng)度進(jìn)行裁剪使輸入語(yǔ)音特征序列的長(zhǎng)度得到縮減和信息密度得到增強(qiáng)。
2.2.1 殘差神經(jīng)網(wǎng)絡(luò)
在Transformer的結(jié)構(gòu)中本身自帶了殘差連接的結(jié)構(gòu),殘差連接的結(jié)構(gòu)如圖1所示,殘差連接的結(jié)構(gòu)主要是為了解決深度學(xué)習(xí)模型在模型網(wǎng)絡(luò)結(jié)構(gòu)過(guò)深的問(wèn)題中,在面對(duì)梯度消失和梯度爆炸的問(wèn)題上,殘差連接的結(jié)構(gòu)能夠很好地保存數(shù)據(jù)特征的梯度。
圖1 殘差連接結(jié)構(gòu)圖
2.2.2 ReZero:加速深度模型收斂
在此之前來(lái)自加州大學(xué)圣迭戈分校(UCSD)的研究者提出一種神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)改進(jìn)方法「ReZero」,他對(duì)殘差連接的修改如公式(1)所示:
在模型訓(xùn)練開(kāi)始之前將α的默認(rèn)值設(shè)定為零。改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 更改的殘差連接結(jié)構(gòu)示意圖
2.2.3 對(duì)殘差連接部分的優(yōu)化改進(jìn)
基于上述對(duì)殘差連接結(jié)構(gòu)進(jìn)行的一系列優(yōu)化,本文選取將殘差連接的優(yōu)化應(yīng)用在Transformer的結(jié)構(gòu)當(dāng)中,通過(guò)修改對(duì)比之前的改進(jìn)措施進(jìn)行一系列的綜合實(shí)驗(yàn),以求取得一個(gè)優(yōu)異的語(yǔ)音識(shí)別系統(tǒng)模型。修改的部分如圖3和圖4所示。
圖3 原始模型當(dāng)中的殘差連接示意圖
圖4 修改模型當(dāng)中的殘差連接示意圖
2.2.4 殘差連接中的系數(shù)修改(加入約束因子)
注意力機(jī)制的本質(zhì)就是在特征的前面加上一個(gè)權(quán)重,在模型的解碼過(guò)程中根據(jù)各個(gè)神經(jīng)網(wǎng)絡(luò)層的結(jié)構(gòu)不斷地去調(diào)整各個(gè)特征的權(quán)重,加入約束因子的目的旨在,隨著神經(jīng)網(wǎng)絡(luò)的深度疊加,因?yàn)樵赥ransformer的結(jié)構(gòu)中所有的encoder層和decoder層中都有殘差連接這一結(jié)構(gòu),訓(xùn)練出的強(qiáng)特征信息會(huì)不斷地放大這一特征的權(quán)重系數(shù),與此同時(shí),如果模型當(dāng)中不存在這樣的強(qiáng)特征,那么我們對(duì)殘差連接的系數(shù)進(jìn)行縮小,將殘差連接的權(quán)重設(shè)置為小于1的數(shù),特征信息更加強(qiáng)調(diào)原始特征里面包含的信息,與此同時(shí)擴(kuò)大原始信息,減弱深層次的特征信息,能夠很好地加強(qiáng)模型的泛化能力。
2.2.5 最終模型選擇固定的約束(擴(kuò)大)因子
通過(guò)對(duì)各種修改殘差連接的思路對(duì)比綜合實(shí)驗(yàn),得出了固定約束(擴(kuò)大)的因子會(huì)在模型當(dāng)中取得最佳的效果,固定權(quán)重的實(shí)驗(yàn)表現(xiàn)在對(duì)比其他策略之下的在詞錯(cuò)率這一指標(biāo)上,對(duì)比其他的策略平均提升1%,相比于原始的最初模型提升了3%,在模型的收斂速度上的提升是大幅度且顯而易見(jiàn)的。
在修改模型的殘差連接系數(shù)的過(guò)程中我們嘗試了可調(diào)節(jié)系數(shù)和固定配比系數(shù),單可調(diào)節(jié)系數(shù)和雙可調(diào)節(jié)系數(shù),擴(kuò)大殘差系數(shù)和擴(kuò)大X的系數(shù)等等一系列的方法,發(fā)現(xiàn)殘差連接中使用固定配比系數(shù)的效果是最好的,在模型的修改過(guò)程中改變了Encoder中殘差鏈接的系數(shù)權(quán)重。
對(duì)于Transformer模型結(jié)構(gòu)會(huì)受到哪些因素的影響,本文首先做了以下工作:以初始參數(shù)化的Transformer結(jié)構(gòu)作為基礎(chǔ)結(jié)構(gòu),采用控制變量法對(duì)比不同參數(shù)取值對(duì)準(zhǔn)確率和解碼速度的影響。其中,不同參數(shù)取值的Transformer結(jié)構(gòu)如表1所示,與此同時(shí)表中還記錄了不同模型的參數(shù)量和對(duì)應(yīng)的訓(xùn)練時(shí)長(zhǎng),以及模型對(duì)應(yīng)的詞錯(cuò)率。
表1 不同模型參數(shù)優(yōu)化表
4.1.1 詞向量空間的影響
這里我們選用的最佳詞向量維度為256,對(duì)比模型1和初始模型我們能直觀地看到訓(xùn)練時(shí)長(zhǎng)大大縮短,且將詞向量空間減少到原來(lái)的1/2,模型的準(zhǔn)確率也得到極大提高。詞向量空間的大小對(duì)該模型參數(shù)的影響是千萬(wàn)級(jí)別的。
4.1.2 編碼層和解碼層對(duì)參數(shù)的影響
我們選取了最后的模型encoder=decoder=4這一參數(shù),取得了比較好的效果。對(duì)比模型1和模型2的參數(shù)設(shè)置我們可以直觀地看到模型的訓(xùn)練速度的提升效果要明顯的大于其他的指標(biāo),這一參數(shù)的設(shè)置對(duì)訓(xùn)練速度的提升效果是顯而易見(jiàn)的。
每個(gè)模型訓(xùn)練200輪,每40輪保存一次實(shí)驗(yàn)?zāi)P陀涗浗Y(jié)果見(jiàn)表2:
表2 實(shí)驗(yàn)?zāi)P团c相對(duì)應(yīng)的詞錯(cuò)率表
4.2.1 動(dòng)態(tài)殘差加快模型收斂效果顯著
對(duì)比40輪的模型,模型收斂速度相較于原始模型和修改超參數(shù)之后的模型,動(dòng)態(tài)殘差權(quán)重模型在40輪的時(shí)候已經(jīng)收斂,實(shí)驗(yàn)數(shù)據(jù)表明其收斂速度確實(shí)得到了提高。
4.2.2 固定權(quán)重配比的模型效果更好
在固定配比的實(shí)驗(yàn)中,首先選取的是1*F(X)+2*X,即擴(kuò)大原始X(數(shù)據(jù)特征)在模型訓(xùn)練中的權(quán)重,強(qiáng)調(diào)在模型的訓(xùn)練當(dāng)中原始X(數(shù)據(jù)特征)在模型訓(xùn)練當(dāng)中的重要性要比殘差連接中的殘差部分的更大,此處用加權(quán)的權(quán)重來(lái)衡量數(shù)據(jù)在模型當(dāng)中的重要性,然而事實(shí)卻與我們的預(yù)期相反,擴(kuò)大原始特征x的權(quán)重(2x)使得每一輪的模型相比于原來(lái)的模型在詞錯(cuò)率的表現(xiàn)上都有所上升,因此我們?cè)诮酉聛?lái)的模型中放棄這一改動(dòng)選擇在原始模型的基礎(chǔ)上擴(kuò)大殘差項(xiàng)的系數(shù)(2F(x))來(lái)觀測(cè)模型最終的表現(xiàn)。
4.2.3 確定合適的固定配比的比例
擴(kuò)大殘差項(xiàng)的系數(shù)(2F(x))模型觀察其在每一個(gè)輪次上的表現(xiàn),發(fā)現(xiàn)無(wú)論是在收斂速度還是在準(zhǔn)確率上,都比修改了超參數(shù)之后的模型表現(xiàn)更加優(yōu)異,繼續(xù)擴(kuò)大殘差項(xiàng)的系數(shù)(3F(x))其表現(xiàn)差異變化和2F(x)不存在顯著性的差異,繼續(xù)擴(kuò)大殘差項(xiàng)的系數(shù)(4F(x)),發(fā)現(xiàn)此時(shí)的詞錯(cuò)率開(kāi)始上升,本實(shí)驗(yàn)中的最優(yōu)模型的殘差連接系數(shù)調(diào)節(jié)的最佳配比應(yīng)該鎖定在1:2到1:3之間,即2*F(X)+1*X或者3*F(X)+1*X,模型的表現(xiàn)最佳。
在對(duì)比所有的模型實(shí)驗(yàn)結(jié)果后,在本實(shí)驗(yàn)中固定配比的模型顯然要優(yōu)于調(diào)節(jié)系數(shù)的模型,而在固定配比的模型當(dāng)中,殘差連接系數(shù)調(diào)節(jié)的最佳配比應(yīng)該鎖定在1:2到1:3之間,即2*F(X)+1*X或者3*F(X)+1*X,模型的表現(xiàn)最佳,此時(shí)的模型收斂速度較原有模型得到提升的同時(shí),詞錯(cuò)率降到最低,相對(duì)應(yīng)的最低詞錯(cuò)率分別為7.92%和7.956%。
本文設(shè)計(jì)了一種基于精簡(jiǎn)修改的Transformer模型的語(yǔ)音識(shí)別方法,所做的一切修改都是在保證詞錯(cuò)率下降這一大前提的條件下進(jìn)行的,針對(duì)現(xiàn)有Transformer模型進(jìn)行修改設(shè)計(jì),通過(guò)對(duì)原有模型的Encoder部分中殘差連接的系數(shù)進(jìn)行修改,在保證詞錯(cuò)率下降的同時(shí),使得原始模型的收斂速度得到提升。
此外對(duì)模型的一些超參數(shù)進(jìn)行合理的調(diào)整,使得Transformer的參數(shù)量大大減少,在網(wǎng)絡(luò)的訓(xùn)練階段,由于參數(shù)的減少,提高了訓(xùn)練的速度;在網(wǎng)絡(luò)的解碼驗(yàn)證階段,運(yùn)算量的減少,使得模型更加精簡(jiǎn),模型訓(xùn)練時(shí)間和驗(yàn)證時(shí)間的縮短,使得研究人員能夠更加方便地進(jìn)行調(diào)參和模型修改等工作,方便了模型從軟件到硬件上的移植。