神經網絡的調參無疑是一個巨大的工程。
如何在調參之前擁有更佳的表現?千辛萬苦調好了但卻過擬合,如何擁有更好的泛化能力?這無疑是人肉調參的必經之痛。一個通用的認知是,訓練數據會限制模型表現的上限,能擁有更好的訓練數據,無疑成功了一大截兒。
近日,Daniel S. Park 等人在自動語音識別(Automatic Speech Recognition,ASR)模型訓練上,找到了一種簡單卻強大的數據增強方法——SpecAugment。該操作另辟蹊徑,將原始語音數據生成的梅爾倒譜圖直接進行圖像變換,擴增訓練數據,化腐朽為神奇,結果很棒。
啥是自動語音識別
自動語音識別,即依托深度神經網絡模型將語音自動識別為文本輸入,無論是 Siri 助手還是微軟小冰,抑或占據生活一部分的微信,都有它的身影,相信這個時代的你也早已習慣用語音轉輸入解放雙手。
傳統 ASR 模型的原始輸入數據一般先經過預處理,將收集的音波轉化為頻譜圖如梅爾倒頻譜,也即梅爾頻率倒譜系數(Mel Frequency Cepstrum Coefficient,MFCC,一定程度上模擬了人耳對聲音的處理特點)的譜圖。
圖 | 音波轉化為梅爾倒頻譜圖結果示意圖(來源:Daniel S. Park,et al./ Google Brain)
梅爾倒譜的一般流程是將聲音信號進行傅立葉轉換得到頻譜,再進行取對數以及取逆傅立葉變換。
傳統 ASR 模型擴增數據一般是將收集到的音波進行改變加速、減速、加背景噪音等變換來進行數據集的豐富,最后,這種擴增后的音頻也要轉化為頻譜圖。
然而,直接改變頻譜圖進行數據擴增,能否提升模型表現?畢竟,圖像領域的擴增手段十分豐富,直接將頻譜作為圖像用一定手段進行變換結果如何?
Daniel S. Park 等人的 SpecAugment 方法證明,這是一個簡單易行的好路子,可以實現在線訓練,計算成本低廉無需額外數據,還能使 ASR 任務 LibriSpeech 960h(語音識別技術的最權威主流的開源數據集,包括近 1000 小時的英文發音和對應文字)和 Switchboard 300h(交換機電話語音語料庫)比目前最佳模型的表現更好。
SpecAugment 的“出彩”之處
首先,在模型訓練之前將輸入數據——音頻數據的梅爾倒譜,進行圖像處理,這也是 SpecAugment 這條野路出彩的基礎。即對梅爾倒頻譜的橫軸一段時間步長的頻譜進行左或右扭轉翹曲、或者掩蔽一段時長的譜圖(時間屏蔽,對縱向進行掩蔽)、或是某些梅爾頻率的信號(頻率屏蔽,對橫向進行掩蔽),得到了一系列的擴增樣本。
這樣的處理使得模型能夠學習到時間軸上發生損失變形的音頻、部分頻率缺失的音頻,以及丟失部分語音片段的音頻的特點,增加了訓練模型對這些信息的處理能力,也增強模型的泛化能力。
圖 | 梅爾倒頻譜的擴增變換手段:從上到下依次為沒有應用增強、一定時間步長的扭曲,頻率屏蔽和時間屏蔽。(來源:Daniel S. Park,et al/ Google Brain)
模型訓練
輸入數據處理完畢后,訓練語音識別模型,這里采用 LAS(Listen Attend and Spell networks)模型。LAS 模型主要是由 Listener 和 Speller 兩個子模型組成,其中 Listener 是一個聲學編碼器(Encoder,收集數據,相當于“聽”),Speller 是一個基于注意力機制的解碼器(Decoder,將收集的特征翻譯成字符,相當于“說”)
訓練 SpecAugment 的 Listener 子模型:輸入的梅爾倒譜首先經兩層卷積神經網絡(CNN),經最大池化且步幅為 2,得到的結果輸入到 BLSTM(雙向長短期交替記憶模型)中,產生尺寸為 d x w 的基于注意力機制的特征。
訓練 SpecAugment 的 Speller 子模型:將上一步驟中基于注意力機制產生的特征向量輸入到一個二層 RNN(Recurrent Neural Network)模型中,訓練集中的文本已用 WPM(Word Piece Model)進行了 token 處理,利用集束搜索(Beam Search),集束寬為 8,得到 token 表示的預測文本(token 處理即分詞處理,之后進行詞嵌入,自然語言處理利用詞嵌入來將詞向量化表示)。至此,實現語音轉文本過程。
提升表現
比較訓練集擴增前后訓練出的 LAS 模型在測試集上的詞錯誤率(Word Error Rate,WER),不改變任何超參數,測試結果錯詞率顯著降低,可見無需調參,擴增訓練集效果明顯。
圖 | 擴增訓練集與否的兩個模型在數據集 LibriSpeech 上有噪音測試集和無噪音測試集的表現。(來源:Daniel S. Park,et al/ Google Brain)
對于過擬合問題,雖然訓練集上利用擴增的模型表現與無擴增相差并不是很多,但在開發集上,WER 有明顯的降低,說明模型泛化能力提升,可以預測未訓練過的數據,過擬合得到解決。
圖 | 擴增訓練集與否的兩個模型在訓練集、有噪音開發集和無噪音開發集集上的表現(來源:Daniel S. Park,et al/ Google Brain)
這個模型啥水平?
1)優于現有最佳 ASR 模型
擴增訓練集后調整模型參數以及適當訓練迭代,使得模型表現達到最佳,在數據集 LibriSpeech 960h 和 Switchboard 300h 有無噪音的測試集上,擴增模型表現與現有最佳模型的錯詞率結果對比發現,擴增方法明顯取勝。無論是傳統 ASR 模型(如 HMM)還是端到端的神經網絡模型(如 CTC/ASG),采用 SpecAugment 方法訓練后的 LAS 模型表現都明顯更好。
圖 | LibriSpeech 960h 和 Switchboard 300h 數據集上不同模型的表現(來源:Daniel S. Park,et al/ Google Brain)
2)優于利用語言模型的 ASR 模型
引入利用大量純文本語料庫訓練的語言模型(Language Models,LMs)能夠使 ASR 模型效果大大提升,因為可以用語料庫中的大量信息使模型功能更強,這也是 ASR 任務的一個通用做法。語言模型一般是獨立訓練的,使用 ASR 模型時需要占據一定內存進行存儲,這使其難以在小型設備上應用。而 SpecAugment 模型的優勢是,即使不利用語言模型也優于現有引入語言模型的 ASR 模型。這意味著語言模型的大內存問題,有了解決之路。
圖 | LibriSpeech 960h 和 Switchboard 300h 數據集上不同 ASR 模型引入語言模型有否的表現(來源:Daniel S. Park,et al/ Google Brain)
總結,利用改變頻譜圖的方式擴增音頻數據樣本,訓練出的 ASR 模型表現極佳,優于現有最好模型,甚至超過引入語言模型,很好用。
-
神經網絡
+關注
關注
42文章
4806瀏覽量
102688 -
語音識別
+關注
關注
39文章
1773瀏覽量
113869 -
圖像變換
+關注
關注
0文章
5瀏覽量
1571
原文標題:簡單粗暴而有效的改圖:自動語音識別數據擴增的“一條野路”
文章出處:【微信號:deeptechchina,微信公眾號:deeptechchina】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
一條光纖怎么分兩條
語音識別技術在通信領域中的應用實例
數據手冊中的一些參數的數值有時畫一條橫線或者空著不填是什么意思?
語音識別技術在醫療領域的應用
ASR與傳統語音識別的區別
基于Arm Neoverse N2實現自動語音識別技術

評論