噪聲問(wèn)題一直是語(yǔ)音識(shí)別的一個(gè)老大難的問(wèn)題,在理想的實(shí)驗(yàn)室的環(huán)境下,識(shí)別效果已經(jīng)非常好了,之前聽很多音頻算法工程師抱怨,在給識(shí)別做降噪時(shí),經(jīng)常發(fā)現(xiàn)WER不降反升,降低了識(shí)別率,有點(diǎn)莫名其妙,又無(wú)處下手。
剛好,前段時(shí)間調(diào)到了AIlab部門,有機(jī)會(huì)接觸這塊,改善語(yǔ)音識(shí)別的噪聲問(wèn)題,雖然在此之前,詢問(wèn)過(guò)同行業(yè)的朋友,單通道近場(chǎng)下,基本沒有太大作用,有時(shí)反而起到反作用,但是自己還是想親身實(shí)踐一下,至少找到這些方法失效的原因,看看是否在這些失敗的原因里面,改進(jìn)下思路,可能有新的發(fā)現(xiàn);同時(shí)去Ailab,順帶把深度學(xué)習(xí)降噪實(shí)踐一把,就算在ASR沒有效果,以后還能用在語(yǔ)音通信這個(gè)領(lǐng)域。
任務(wù)的要求是保證聲學(xué)模型不變動(dòng)的情況下,即不重新訓(xùn)練聲學(xué)模型,即單純利用降噪來(lái)改善那些環(huán)境惡劣的樣本,同時(shí)保證不干擾純凈語(yǔ)音或者弱噪聲的語(yǔ)音場(chǎng)景,所以非常具有挑戰(zhàn)性。
為了趕項(xiàng)目,用自己非常熟悉的各種傳統(tǒng)的降噪方法:包括最小值跟蹤噪聲估計(jì),MCRA, IMCRA,等各種噪聲估計(jì)方法,以及開源項(xiàng)目 webrtc NS, AFE(ETSI ES 202 050 Advanced DSR Front-end Codec, two stages of Wiener filtering),剩下的任務(wù)就是調(diào)參,經(jīng)過(guò)很多次努力,基本沒有什么效果,相反WER還會(huì)有1%點(diǎn)左右的增加。
分析對(duì)比了降噪和沒有降噪的識(shí)別文本對(duì)比和頻譜分析,總結(jié)了以下這些原因,希望對(duì)后面的人有些參考意義:
1. DNN本身就有很強(qiáng)的抗噪性,在弱噪聲和純凈語(yǔ)音下,基本都不是問(wèn)題。
通常場(chǎng)景下,這點(diǎn)噪聲,用線上數(shù)據(jù)或者刻意加噪訓(xùn)練,是完全可以吸收掉的,只有在20db以下,含噪樣本的頻譜特征和純凈樣本的頻譜特征差異太大,用模型學(xué)習(xí)收斂就不太好,這時(shí)需要降噪前端。
2. 降噪對(duì)于純凈語(yǔ)音或者弱噪聲環(huán)境下,不可避免的對(duì)語(yǔ)音有所損傷,只有在惡劣的環(huán)境下,會(huì)起到非常明顯的作用。
傳統(tǒng)降噪是基于統(tǒng)計(jì)意義上面的一個(gè)處理,難以做到瞬時(shí)噪聲的精準(zhǔn)估計(jì),這個(gè)本身就是一個(gè)近似的,粗略模糊化的一個(gè)處理,即不可避免的對(duì)噪聲欠估計(jì)或者過(guò)估計(jì),本身難把握,保真語(yǔ)音,只去噪,如果噪聲水平很弱,這個(gè)降噪也沒有什么用或者說(shuō)沒有明顯作用,去噪力度大了,又會(huì)破壞語(yǔ)音??梢灶A(yù)見,根據(jù)測(cè)試集進(jìn)行調(diào)參,就像是在繩子上面玩雜技。
我們的測(cè)試樣本集,90%的樣本都在在20db以上,只有200來(lái)?xiàng)l的樣子,環(huán)境比較惡劣。所以通常起來(lái)反作用。
3. 降噪里面的很多平滑處理,是有利于改善聽感的,但是頻譜也變得模糊,這些特征是否能落到正確的類別空間里面,也是存在疑問(wèn)的。所以在前端降噪的基礎(chǔ)上,再過(guò)一遍聲學(xué)模型重新訓(xùn)練,應(yīng)該是有所作用的,但是訓(xùn)練一個(gè)聲學(xué)模型都要10來(lái)天,損失太大,也不滿足任務(wù)要求。
4. 傳統(tǒng)降噪,通常噪聲初始化會(huì)利用初始的前幾幀,而如果開頭是語(yǔ)音,那就會(huì)失真很明顯。
5. 估計(jì)出噪聲水平,在SNR低的情況下降噪,SNR高時(shí),不處理或者進(jìn)行弱處理,在中間水平,進(jìn)行軟處理,這個(gè)思路似乎可以行的通。
6. 用基于聲學(xué)特征的傳統(tǒng)降噪方法,嘗試過(guò),在測(cè)試集里面,有不到1%的WER降低。
7. 到底用什么量來(lái)指導(dǎo)降噪過(guò)程?
既然降噪沒法做好很好的跟蹤,處理的很理想。即不可能處理的很干凈,同時(shí)不能保證語(yǔ)音分量不會(huì)被損傷,即降噪和保證語(yǔ)音分量是個(gè)相互矛盾,同時(shí)也是一個(gè)權(quán)衡問(wèn)題。那其實(shí)換個(gè)角度,降噪主要是改善了聲學(xué)特征,讓原來(lái)受噪聲影響錯(cuò)分類的音素落到正確的音素類別,即降低CE。那么應(yīng)該直接將降噪和CE做個(gè)關(guān)聯(lián),用CE指導(dǎo)降噪過(guò)程參數(shù)的自適應(yīng)變化,在一個(gè)有代表性的數(shù)據(jù)集里面,有統(tǒng)計(jì)意義上的效果,可能不一定能改善聽感,處理的很干凈,但是在整體意義上,有能改善識(shí)別的。所以說(shuō)語(yǔ)音去噪模塊必須要和聲學(xué)前端聯(lián)合起來(lái)優(yōu)化,目標(biāo)是將去噪后的數(shù)據(jù)投影到聲學(xué)模塊接受的數(shù)據(jù)空間,而不是改善聽感,即優(yōu)化的目標(biāo)是降低聲學(xué)模型的CE,或者說(shuō)是降低整條鏈路的wer,所以用降噪網(wǎng)絡(luò)的LOSS除了本身的損失量,還應(yīng)綁定CE的LOSS自適應(yīng)去訓(xùn)練學(xué)習(xí)是比較合理的方案。也可以將降噪網(wǎng)絡(luò)看成和聲學(xué)模型是一個(gè)大網(wǎng)絡(luò),為CE服務(wù),當(dāng)然,這不一定是降噪網(wǎng)絡(luò),也可以是傳統(tǒng)的自適應(yīng)降噪方法,但是如果是基于kaldi開發(fā),里面涉及到的工程量是很大的。
8. 在整個(gè)語(yǔ)音識(shí)別體系中,由于聲學(xué)模型的強(qiáng)抗噪性,所以單通道下的前端降噪似乎沒有什么意義,1%左右的wer的改變,基本不影響整個(gè)大局,所以想要搞識(shí)別這塊的朋友,應(yīng)該先把重要的聲學(xué)模型,語(yǔ)言模型,解碼器,搞完之后,再來(lái)擼擼這塊,因?yàn)榧幢銢]有單獨(dú)的前端,整個(gè)識(shí)別大多數(shù)場(chǎng)景都是OK的,惡劣的場(chǎng)景比較少,一般場(chǎng)景大不了擴(kuò)增各種帶噪數(shù)據(jù)訓(xùn)練,也是可以的。
責(zé)任編輯:lq6
-
語(yǔ)音識(shí)別
+關(guān)注
關(guān)注
38文章
1742瀏覽量
112692 -
dnn
+關(guān)注
關(guān)注
0文章
60瀏覽量
9058
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論