端對(duì)端語(yǔ)音識(shí)別改進(jìn)的規(guī)則技巧
對(duì)于端對(duì)端模型來(lái)說(shuō),通過數(shù)據(jù)增強(qiáng)和Dropout的方法可以提高模型的性能。在語(yǔ)音識(shí)別中也是如此,之前,我公眾號(hào)沒有寫過關(guān)于語(yǔ)音識(shí)別任務(wù)的數(shù)據(jù)增強(qiáng)的技巧,最近做了大規(guī)模的語(yǔ)音識(shí)別實(shí)踐發(fā)現(xiàn),數(shù)據(jù)增強(qiáng)對(duì)于小數(shù)據(jù)集而言簡(jiǎn)直就是雪中送炭,當(dāng)然,如果你擁有大體量的數(shù)萬(wàn)小時(shí)的語(yǔ)音數(shù)據(jù)庫(kù),而且又能囊括全國(guó)各地不同口音風(fēng)格,那么數(shù)據(jù)增強(qiáng)理論上也能起到錦上添花的作用。今天基于Salesforce Research的這篇文章以及自己平時(shí)的實(shí)踐經(jīng)驗(yàn),來(lái)分享一下語(yǔ)音識(shí)別任務(wù)中除了模型以外的可以提升性能的技巧。
這篇論文中提到,通過對(duì)音頻的速度、音調(diào)、音量、時(shí)間對(duì)齊進(jìn)行微小的擾動(dòng),以及通過增加高斯白噪聲來(lái)對(duì)音頻進(jìn)行改動(dòng),同時(shí),文章也探討了在每一層神經(jīng)網(wǎng)絡(luò)上采用dropout所帶來(lái)的效果。實(shí)驗(yàn)結(jié)果表明,通過將數(shù)據(jù)增強(qiáng)技術(shù)與dropout聯(lián)合使用,可以將語(yǔ)音識(shí)別模型的性能在WSJ數(shù)據(jù)庫(kù)上和LibriSpeech數(shù)據(jù)庫(kù)上相比baseline系統(tǒng)提高20%以上,從結(jié)果上看,這些規(guī)則化技巧對(duì)語(yǔ)音識(shí)別的性能改進(jìn)有很大的幫助。我們先看一下作者基于什么模型來(lái)實(shí)踐這些數(shù)據(jù)增強(qiáng)的技巧。
本文使用的端對(duì)端模型非常接近于百度提出的Deep Speech2 (DS2),如上圖所示,原始特征數(shù)據(jù)首先經(jīng)過一個(gè)較大卷積核的卷積層,卷積核較大的好處就是對(duì)原始特征進(jìn)行降維,降維以后通過5個(gè)殘差連接區(qū),而每一個(gè)殘差區(qū)都是由批歸一化層、channel-wise卷積層和1×1的卷積層構(gòu)成,并通過relu激活函數(shù),緊接著連上4個(gè)雙向GRU網(wǎng)絡(luò),最終通過全連接層得到目標(biāo)概率分布,并采取端對(duì)端的CTC損失函數(shù)作為目標(biāo)函數(shù),使用隨機(jī)梯度下降算法來(lái)進(jìn)行優(yōu)化。這里相比DS2所做的創(chuàng)新主要是channel-wise可分離的卷積層,其實(shí)就是depth-wise可分離卷積層,它相比常規(guī)的卷積具有性能好、參數(shù)減少的優(yōu)勢(shì),它們?cè)趨?shù)數(shù)量上的區(qū)別可以通過下面的例子看得出來(lái)(具體關(guān)于可分離卷積的介紹,可以搜索xception這篇文章):
假設(shè)現(xiàn)在要做一個(gè)卷積,輸入深度是128,輸出深度是256;常規(guī)的操作使用卷積核3×3進(jìn)行卷積,那么參數(shù)數(shù)目為128×3×3×256=294912;depth-wise可分離卷積的操作是設(shè)置depth multiplier=2得到深度為2×128的中間層,再經(jīng)過1×1的卷積層降維到深度為256,參數(shù)數(shù)目為128×3×3×2+128×2×1×1×256=67840,可以看到相比常規(guī)卷積,參數(shù)減少了77%;
除了使用了depth-wise可分離卷積層以外,殘差連接以及在每一層上都采取了批歸一化的技巧對(duì)訓(xùn)練有促進(jìn)作用,整個(gè)網(wǎng)絡(luò)共有約500萬(wàn)個(gè)參數(shù)。參數(shù)太大就容易出現(xiàn)過擬合的問題,為了避免過擬合,作者嘗試探索了數(shù)據(jù)增強(qiáng)和dropout兩種技巧來(lái)提升系統(tǒng)的性能。
1. 數(shù)據(jù)增強(qiáng)
在此之前,Hinton曾經(jīng)提出使用Vocal Tract Length Perturbation (VTLP)的方法來(lái)提升語(yǔ)音識(shí)別的性能,具體的做法就是在訓(xùn)練階段對(duì)每一個(gè)音頻的頻譜特征施加一個(gè)隨機(jī)的扭曲因子,通過這種做法Hinton實(shí)現(xiàn)了在TIMIT小數(shù)據(jù)集上的測(cè)試集表現(xiàn)提升了0.65%,VTLP是基于特征層面所做的數(shù)據(jù)增強(qiáng)技巧,不過后來(lái)也有人發(fā)現(xiàn)通過改變?cè)家纛l的速度所帶來(lái)的性能提升要比VTLP好。但是音頻速度的快慢實(shí)際上會(huì)影響到音調(diào)(pitch),所以提高了音頻的速度必然也就增大了音頻的音調(diào)。反過來(lái)也是,降低了音頻的速度就會(huì)使得音頻的音調(diào)變小。所以,僅僅通過調(diào)節(jié)速度的方法就不能產(chǎn)生速度快同時(shí)音調(diào)低的音頻,這就使得音頻的多樣性有所降低,對(duì)語(yǔ)音識(shí)別系統(tǒng)的性能提升有限。作者在本文中希望能夠通過數(shù)據(jù)增強(qiáng)來(lái)豐富音頻的變化,提升數(shù)據(jù)的數(shù)量和多樣化,于是作者采取將音頻的速度通過兩個(gè)單獨(dú)的變量來(lái)控制,它們分別是tempo和pitch,也就是節(jié)奏和音高,對(duì)音頻的節(jié)奏和音高的調(diào)節(jié)可以通過語(yǔ)音的瑞士軍刀——SOX軟件來(lái)完成。
除了改變tempo和pitch以外,作者還添加了高斯白噪聲、改變音頻的音量以及隨機(jī)對(duì)部分原始音頻的采樣點(diǎn)進(jìn)行扭曲操作。
2. dropout
dropout是Hinton提出來(lái)的一種防止深度神經(jīng)網(wǎng)絡(luò)出現(xiàn)過擬合的技巧,它的做法是在訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)候隨機(jī)地讓某些神經(jīng)元的輸入變?yōu)?,公式如下所示,通過生成一個(gè)概率為1-p的伯努利分布再與神經(jīng)元的輸入進(jìn)行點(diǎn)乘,即可得到dropout以后的輸入;而在推理階段,我們只需要對(duì)輸入乘以伯努利分布的期望值1-p即可。dropout對(duì)于前向神經(jīng)網(wǎng)絡(luò)作用很明顯,但是應(yīng)用到循環(huán)神經(jīng)網(wǎng)絡(luò)中的時(shí)候,很難取得較好的效果。
作者在本文中采取的dropout是不隨時(shí)間變化的,即對(duì)于一個(gè)序列的不同時(shí)刻,產(chǎn)生dropout的伯努利分布是共享的,而在推理階段,仍然是乘以伯努利分布的期望值1-p。作者在卷積層和循環(huán)層都是采取了這個(gè)變種的dropout,而在全連接層則是采取了標(biāo)準(zhǔn)的dropout。
3. 實(shí)驗(yàn)細(xì)節(jié)
作者采取的數(shù)據(jù)集是LibriSpeech和WSJ,輸入到模型的特征是語(yǔ)音的頻譜圖(spectrogram),以20ms為一幀,步長(zhǎng)設(shè)為10ms。同時(shí),作者對(duì)特征做了兩個(gè)層次的歸一化,分別是把頻譜圖歸一化成均值為0標(biāo)準(zhǔn)差為1的分布,以及對(duì)每一個(gè)特征維度進(jìn)行同樣的歸一化,不過這個(gè)特征維度的歸一化是基于整體訓(xùn)練集的統(tǒng)計(jì)來(lái)做的。
數(shù)據(jù)增強(qiáng)部分,作者基于tempo的增強(qiáng)參數(shù)是取自(0.7, 1.3)的均勻分布,基于pitch的增強(qiáng)參數(shù)是取自(-500, 500)的均勻分布,添加高斯白噪聲的時(shí)候?qū)⑿旁氡瓤刂圃?0-15分貝,同時(shí)在調(diào)整速度方面,作者分別使用了0.9,1.0和1.1作為調(diào)整的系數(shù)。綜合上面所有數(shù)據(jù)增強(qiáng)技巧,如下圖所示,模型的性能相比沒有這些技巧的baseline提高了20%。
dropout同樣提升了模型的性能,dropout概率作者對(duì)數(shù)據(jù)設(shè)置了0.1,對(duì)卷積層設(shè)置了0.2,對(duì)所有的循環(huán)層和全連接層設(shè)置了0.3,通過dropout,模型性能提高了22.43%,結(jié)合dropout和數(shù)據(jù)增強(qiáng),模型整體性能提高了23.39%。
4. 總結(jié)
本文應(yīng)該是對(duì)語(yǔ)音識(shí)別中的數(shù)據(jù)增強(qiáng)和規(guī)則化技巧做了總結(jié),雖然實(shí)驗(yàn)用的數(shù)據(jù)集是時(shí)長(zhǎng)比較短的數(shù)據(jù)集,但是這些數(shù)據(jù)集對(duì)于我們部署一個(gè)實(shí)際的語(yǔ)音識(shí)別系統(tǒng)也很重要。對(duì)于中文普通話語(yǔ)音識(shí)別而言,不論是不同人說(shuō)話的語(yǔ)速、語(yǔ)調(diào),還是不同地方的人說(shuō)普通話的口音,這些導(dǎo)致語(yǔ)音識(shí)別的難度非常大,如果想去采集各個(gè)地方不同人所說(shuō)的普通話語(yǔ)料,對(duì)于小公司或者小團(tuán)隊(duì)而言,是非常不現(xiàn)實(shí)的一件事情。所以,如何基于有限的普通話語(yǔ)料去使用數(shù)據(jù)增強(qiáng)算法來(lái)人工構(gòu)建一個(gè)可以模擬全國(guó)各個(gè)地方不同口音分布的強(qiáng)大語(yǔ)料是一個(gè)不得不面對(duì)的實(shí)際難題,而解決了這個(gè)難題實(shí)際上也就能極大程度地提升語(yǔ)音識(shí)別的魯棒性。
-
端對(duì)端
+關(guān)注
關(guān)注
0文章
3瀏覽量
7907 -
語(yǔ)音識(shí)別
+關(guān)注
關(guān)注
39文章
1769瀏覽量
113610
原文標(biāo)題:改進(jìn)語(yǔ)音識(shí)別性能的數(shù)據(jù)增強(qiáng)技巧
文章出處:【微信號(hào):DeepLearningDigest,微信公眾號(hào):深度學(xué)習(xí)每日摘要】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
基于網(wǎng)絡(luò)性能的VoIP語(yǔ)音質(zhì)量評(píng)價(jià)模型
基于labview的語(yǔ)音識(shí)別
基于MSP432 MCU的語(yǔ)音識(shí)別設(shè)計(jì)概述
詳解語(yǔ)音識(shí)別技術(shù)原理
離線語(yǔ)音識(shí)別及控制是怎樣的技術(shù)?
阿里開源自主研發(fā)AI語(yǔ)音識(shí)別模型
在語(yǔ)音處理中,通過使用大數(shù)據(jù)可以輕松解決很多任務(wù)
三星無(wú)聲語(yǔ)音助手專利解密:可以完成精準(zhǔn)語(yǔ)音識(shí)別任務(wù)

關(guān)于多任務(wù)學(xué)習(xí)如何提升模型性能與原則
研討會(huì)預(yù)告 | 使用 Transducer 模型優(yōu)化語(yǔ)音識(shí)別結(jié)果
重塑翻譯與識(shí)別技術(shù):開源語(yǔ)音識(shí)別模型Whisper的編譯優(yōu)化與部署

評(píng)論