0
雷鋒網 AI 科技評論按:把一段輸入音頻轉換為一段文本的任務「自動語音識別(ASR)」,是深度神經網絡的流行帶來了極大變革的人工智能任務之一。如今常用的手機語音輸入、YouTube 自動字幕生成、智能家電的語音控制都受益于自動語音識別技術的發(fā)展。不過,開發(fā)基于深度學習的語音識別系統(tǒng)還不是一個已經完善解決的問題,其中一方面的難點在于,含有大量參數的語音識別系統(tǒng)很容易過擬合到訓練數據上,當訓練不夠充分時就無法很好地泛化到從未見過的數據。

當對于圖像分類任務,當訓練數據的數量不足的時候我們可以使用各種數據擴增(data augmentation)方法生成更多數據,提高網絡的表現。但是在自動語音識別任務中情況有所不同,傳統(tǒng)的數據擴增方法一般是對音頻波形做一些變形(比如加速、減速),或者增加背景噪聲,都可以生成新的訓練數據,起到把訓練數據集變大的效果,幫助網絡更好地學習到有用的特征。不過,現有的傳統(tǒng)音頻數據擴增方法會帶來明顯的額外計算能力開銷,有時也避免不了需要使用額外的數據。
在谷歌 AI 的近期論文《SpecAugment: A Simple Data Augmentation Method for Automatic Speech Recognition》(SpecAugment:一個用于自動語音識別的簡單數據擴增方法,https://arxiv.org/abs/1904.08779)中,谷歌的研究人員們提出了一種擴增音頻數據的新方法,主要思路是把它看做是一個視覺問題而不是音頻問題。具體來說,他們在 SpecAugment 不再直接使用傳統(tǒng)的數據擴增方法,而是在音頻的光譜圖上(音頻波形的一種視覺表示)施加擴增策略。這種方法簡單、計算力需求低,而且不需要額外的數據。它能非常有效地提高語音識別系統(tǒng)的表現。雷鋒網 AI 科技評論根據谷歌技術博客介紹如下。
對于傳統(tǒng)語音識別系統(tǒng),音頻波形在輸入網絡之前通常都需要編碼為某種視覺表示,比如編碼為光譜圖。而傳統(tǒng)的語音數據擴增方法一般都是在編碼為光譜圖之前進行的,這樣每次數據擴增之后都要重新生成新的光譜圖。在這項研究中,作者們嘗試就在光譜圖上進行數據擴增。由于直接作用于網絡的輸入特征,數據擴增過程可以在網絡的訓練過程中運行,而且不會對訓練速度造成顯著影響。

SpecAugment 對光譜圖的修改方式有:沿著時間方向扭曲,遮蔽某一些頻率段的信號,以及遮蔽某一些時間段的發(fā)音。作者們選擇使用的這些擴增方式可以幫助網絡面對時間方向的變形、部分頻率信號的損失以及部分時間段的信號缺失時更加魯棒。這些擴增策略的示意圖如下。

作者們在 LibriSpeech 數據集上用實驗測試了 SpecAugment 的效果。他們選取了三個語音識別常用的端到端 LAS 模型,對比使用數據擴增和不使用數據擴增的網絡表現。自動語音識別模型表現的測量指標是單詞錯誤率(WER),用模型輸出的轉錄文本和標準文本對比得到。在下面的對比試驗中,訓練模型使用的超參數不變、每組對比中模型的參數數量也保持固定,只有訓練模型用的數據有區(qū)別(使用以及不使用數據擴增)。試驗結果表明,SpecAugment 不需要任何額外的調節(jié)就可以提高網絡的表現。

更重要的是,由于 SpecAugment 擴增后的數據里有故意損壞的部分,這避免了模型過擬合到訓練數據上。作者們進行了對比試驗如下,未使用數據擴增的模型(棕黃色線)在訓練數據集上取得了極低的單詞錯誤率,但是在 Dev-other(有噪聲測試集)和 Dev-clean(無噪聲數據集)上的表現就要差很多;使用了數據擴增的模型(藍色線)則正相反,在訓練數據集上的單詞錯誤率較高,然后在 Dev-other 和 Dev-clean 上都取得了優(yōu)秀的表現,甚至在 Dev-clean 上的錯誤率還要低于訓練數據集上的錯誤率;這表明 SpecAugment 數據擴增方法不僅提高了網絡表現,還有效防止了過擬合的發(fā)生。

由于 SpecAugment 可以帶來沒有過擬合的表現提升,研究人員們甚至可以嘗試使用更大容量的網絡,得到表現更好的模型。論文作者們進行了實驗,在使用 SpecAugment 的同時,使用參數更多的模型、更長的訓練時間,他們分別在 LibriSpeech 960h 和 Switchboard 300h 兩個數據集上都大幅刷新了此前的最佳表現記錄(SOTA)。

作者們也為這種方法的出色表現感到驚訝,甚至于,以往在 LibriSpeech和 Switchboard 這樣較小的數據集上有優(yōu)勢的傳統(tǒng)語音識別模型也不再領先。

自動語音識別模型的表現還可以通過語言模型進一步提高。在大量純文本數據上訓練出的語言模型可以學到一些語言規(guī)律,然后用它來更正、優(yōu)化語音識別模型的輸出。不過,語言模型通常需要獨立于語音識別模型訓練,而且模型的體積很大,很難在手機之類的小型設備上使用。
在 SpecAugment 的研究中,作者們意外發(fā)現借助 SpecAugment 訓練的模型,在不使用語言模型增強的情況下就已經可以擊敗之前的所有使用語言模型增強的模型。這不僅意味著語音識別模型+語言模型的總體表現也被刷新,更意味著未來語音識別模型完全可以拋棄語言模型獨立工作。

以往的自動語音識別系統(tǒng)研究多數都關注于找到更好的網絡結構,谷歌的這項研究也展現了一個被人忽略的研究方向:用更好的方法訓練模型,也可以帶來大幅提升的網絡表現。
論文原文見:https://arxiv.org/abs/1904.08779
via ai.googleblog.com,雷鋒網 AI 科技評論報道
雷峰網版權文章,未經授權禁止轉載。詳情見轉載須知。