基于對抗樣本的數據擴充在魯棒語音識別和關鍵詞檢出中的應用
文:孫思寧,王雄,謝磊 陜西省西安市西北工業大學,計算機學院2019年第二期
1.摘要
本文將對抗樣本用于語音識別和關鍵詞檢出中深度神經網絡聲學模型的訓練過程中,以用來提高聲學模型的魯棒性。在模型訓練過程中,使用基于快速符號梯度方法來產生對抗樣本作為原始訓練樣本的擴充,與傳統的基于數據變換的數據擴充方式不同,本文所提出的方法是一種模型和數據相關的方法,在模型訓練過程中,根據模型的參數和當前訓練數據動態地生成對抗樣本。在本文中,對于語音識別任務,我們在Aurora-4數據庫上進行了實驗,我們提出的方法能夠顯著地提高模型對噪聲和信道的魯棒性,而且,我們將本文所提出的數據擴充方式和教師/學生學習策略結合,在Aurora-4數據庫上,我們可以得到23%的相對詞錯誤率下降。在關鍵詞檢出任務中,我們所提出的方法也明顯地降低了基于注意力機制的喚醒模型的誤喚醒率和誤拒絕率。
關鍵詞:魯棒語音識別,關鍵詞檢出,對抗樣本,快速符號梯度法,數據擴充
2.前言
近年來,隨著深度學習(DeepLearning,DL)的興起以及深度神經網絡(DeepNeuralNetworks,DNNs)在聲學模型上的成功應用,自動語音識別(AutomaticSpeechRecognition,ASR)[1][2]和關鍵詞檢出(KeywordSpotting,KWS)[3][4]得到了快速發展。各種網絡結構,例如CNN,RNN和LSTM等,都成功應用在聲學建模中。基于DNNs的聲學模型在實際應用中,表現出了良好的噪聲魯棒性,因為其特殊結構以及多層非線性變換,讓其具有較強的建模能力。即便如此,基于DNNs的ASR和KWS系統,仍然還會受到噪聲、混響以及信道等因素的影響[6],造成識別性能地下降。為了解決這些問題,大量的工作在不同的方面被提出來,比如數據擴充[7]、單/多通道語音增強、特征變換,還有一些有效的學習策略,比如教師/學生(Teacher/Student,T/S)學習[8]、對抗訓練[9]等。在本文中,我們主要集中在數據擴充的方法,來提高ASR和KWS系統的魯棒性。
當訓練數據和測試數據之間存在分布的不匹配時,聲學模型的性能將會大打折扣。為了彌補這種不匹配的問題,數據擴充是一個非常有效而且被廣泛采用的方法,數據擴充的目的是通過對干凈數據添加噪聲、混響等干擾,產生干凈數據的帶噪副本,模擬真實的帶噪數據,提高訓練數據的多樣性,然后將其用于模型訓練。這種訓練方式,被稱作多場景訓練。此外,T/S學習也是一種常用的提高模型魯棒性的方法,它可以在有監督或者無監督的場景下進行使用,T/S學習需要并行的數據分別訓練T模型和S模型。
為了提高模型對于噪聲的魯棒性,本文提出來一種使用對抗樣本來進行數據擴充的方法。對抗樣本(AdversarialExamples)的概念首先是在[10]中計算機視覺任務上被提出來,研究者們發現,對于一個已經被完全訓練好的圖像識別網絡,如果對一個可以被正確分類的圖像,進行一些非常細微的像素級別的擾動,即使擾動是人眼難以察覺的,模型也將會將擾動后的圖像錯誤分類,這種被錯誤分類的樣本被稱作對抗樣本。對抗樣本的存在,說明現有的模型對某些極小的擾動非常的敏感!在計算機視覺領域,對抗樣本吸引的研究者的廣泛興趣。最近,對抗樣本的研究也擴展到語音信號領域,[12]提出來一種對端到端語音識別模型的定向攻擊方法:給定一段語音,產生一段人耳不可感知的擾動,擾動后的語音可以被識別成任何目標文本。同樣地,在KWS系統中,我們很自然地把誤喚醒(Falsealarmed,FA)或誤拒絕(Falserejected,FR)的樣本當成對抗樣本!當系統遇到與關鍵字完全無關的樣例時,仍然會存在錯誤喚醒的現象,或者當輸入明顯是關鍵字時,系統會錯誤地拒絕。由于復雜的聲學環境和許多其他不可預測的原因,觸發FA和FR的樣例往往是不可重現的。正是因為如此,這種不可重現的屬性使得進一步提高KWS性能變得很困難。
之前基于對抗樣本改進模型魯棒性的工作,主要是為了提高模型對對抗樣本的魯棒性。而在我們本文的工作中,我們的目的是通過使用基于對抗樣本地數據擴充來提高模型對于正常的帶噪聲數據的魯棒性,而不僅是針對對抗樣本。在訓練階段,快速符號梯度法(FastGradientSignMethod,FGSM)[11]被用來動態的生成對抗樣本,與其他方法相比,FGSM方法比較高效。對于每一個mini-batch的訓練數據,對抗樣本生成之后,模型參數將會使用對抗樣本進行更新。另外,在ASR任務中,我們還將提出的基于對抗樣本的數據擴充方法和T/S學習結合,發現兩個方法帶來的增益可以相互疊加。
本文章節安排如下:第2章詳細介紹FGSM生成對抗樣本的方法;第3章介紹對抗樣本在聲學模型訓練中的應用;第4章將會給出實驗設置以及實驗結果;第5章對全文進行總結。
3.對抗樣本
對抗樣本定義
對抗樣本的目的是成功地破壞一個已經被訓練好的神經網絡模型,即使一個非常好的模型,也特別容易遭受對抗樣本的攻擊,即模型的預測十分容易被輸入端的人為擾動干擾,即使擾動是人耳無法察覺的。這種人為擾動,稱為對抗擾動,而這種被對抗擾動干擾的樣本,稱為對抗樣本。對抗樣本的存在,說明網絡的輸出關于輸入存在不平滑的問題,即輸入端的極小變化可以造成輸出端的一個巨大的跳躍。
一般來說,一個機器學習模型,比如神經網絡,可以表示為一個參數化的函數,其中,
是輸入特征向量,
是模型的參數。給定一個輸入樣本
,及其對應的標簽
,一個訓練好的模型
將用來預測樣本的標簽。而對抗樣本,可以通過下面的公式來構建:
(1)
并且有
其中
被稱作為對抗擾動。對于一個已經被訓練好的神經網絡,一般來說,普通的隨機擾動將不會影響網絡的輸出,因此,對抗樣本產生的關鍵是對抗擾動的設計和生成,一旦可以生成對抗擾動,對抗樣本就可以作為訓練數據來進行網絡訓練,從而提高模型的的平滑性和魯棒性。
對抗樣本的生成
在本文中,我們使用快速符號梯度法(FGSM)來進行對抗樣本的生成。FGSM利用當前的模型參數和訓練數據,生成公式(1)中的對抗擾動。給定模型參數 ,輸入
和輸出
,模型在訓練階段使用訓練數據來最小化損失函數
,在一般的分類任務中,損失函數一般采用交叉熵,也是本文中使用的損失函數。當網絡參數已經被優化,網絡收斂之后,為了在輸入空間上尋找一個能夠使網絡損失函數增大的擾動方向,即能夠使網絡對輸入進行錯誤分類的方向,FGSM提出使用下面公式來進行擾動的計算:
其中, 是一個極小的常量,注意到,FGSM使用了一個符號函數來獲取的損失函數關于輸入的梯度的符號,而并非直接使用梯度的值,目的是為了滿足擾動的最大范數約束,并且容易控制擾動的幅度,從而滿足公式(3)的約束。我們在后面的實驗中證明,一個小的
便足夠產生增強模型魯棒性的對抗樣本。
4.使用對抗樣本進行聲學模型訓練
與其他的基于數據仿真的數據擴充的方法不同,例如添加噪聲和混響的方法,基于對抗的樣本的數據擴充方法是一種模型和數據相關的方法,并且明確的將對抗樣本和損失函數關聯起來,明確產生了能使損失函數的數值增大的樣本,因此,這種方法更為高效。一旦生成對抗樣本,這些對抗樣本將用來訓練網絡,進而增強網絡對干擾的魯棒性。在本工作中,FGSM方法用來為每一個mini-batch的訓練數據動態地生成對抗樣本。算法1給出了在聲學模型訓練過程中用到的流程。
算法1:使用對抗樣本訓練聲學模型
在聲學模型訓練中,輸入特征 一般為MFCC特征,目標
為綁定的隱馬爾可夫模型的狀態。在上述的算法1,每一個mini-batch的訓練數據中,我們采用4步操作,來進行模型的訓練:(1)使用原始的訓練數據訓練模型參數,然后將模型參數固定,產生當前數據的對抗擾動
。因為FGSM使用了符號函數,因此,對抗擾動每一維上的數值為
或者
;(2)使用生成的對抗擾動來生成對抗樣本;(3)將對抗樣本和原始數據的目標進行組合,產生新的訓練數據;(4)使用新生成的訓練數據進行模型訓練,更新模型參數。在這里,我們要強調的是,我們將對抗樣本和原始的標簽進行了組合,因為在我們的實驗里,擾動非常小,我們希望神經網絡可以輸出和原始的樣本相同的預測類別。通過FGSM生成的對抗樣本,能夠使模型損失函數明顯上升,說明這些樣本是當前模型的“盲點”,模型無法成功覆蓋這些區域,導致模型產生了不可預知的錯誤。
5.實驗
數據庫和系統描述
Aurora-4數據庫
Aurora-4數據庫是一個基于華爾街日報(WallStreetJournal,WSJ)的噪聲魯棒的中詞匯量的連續語音識別數據庫,即以WSJ0數據庫為基礎通過加噪產生的。Aurora-4中,兩種麥克風被用來進行錄音:主要麥克風和次要麥克風。次要麥克風中包含多種不同的型號,兩種麥克風同時用來進行7138句訓練數據的錄制。Aurora-4的訓練數據集合可分為兩個:干凈訓練數據和多場景帶噪聲訓練數據。干凈訓練數據全部使用主麥克風錄制,不含有任何噪聲。多場景訓練數據也包括7138句話,包含主麥克風和次麥克風錄制的數據,同時也包含干凈的和帶噪聲的數據,因此,多場景訓練數據覆蓋了更多的噪聲和信道(麥克風)失真。Aurora-4的測試集合也包含4種:干凈測試集(A)、帶噪測試集(B)、信道失真測試集(C)以及噪聲和信道失真測試集(D)。A集合只包含330句主麥克風錄制的干凈語音;B集合包含6個A集合的帶噪數據的副本,總計330*6=1980句;C集合只包含330句次麥克風錄制的干凈語音;D集合包含6個C集合的帶噪數據的副本。
喚醒數據庫
我們使用出門問問(Mobvoi)智能音箱TicKasaFox2收集的喚醒數據驗證我們的方法。喚醒詞由三個普通話音節組成(“嗨小問”)。這一數據集涵蓋了523個不同的說話者,包括303名兒童和220名成年人。此外,每個說話人的集合包括正樣例(帶喚醒詞)和負樣例,每個說話人的集合包括在不同的麥克風的距離和不同的信噪比下錄制的數據,其中噪音來自典型的家庭環境。總共有20K正樣例(約10小時)和54K負樣例(約57小時)用作為訓練數據。校驗集包括2.3K正樣例(約1.1h)和5.5K負樣例(約6.2h),而測試集包括2K正樣例(約1h)和5.9K的負樣例(約6h)。
系統描述
語音識別工作中,我們采用了CNN作為聲學模型,CNN模型在多個工作中表現出來了對噪聲較強的魯棒性,在本文中,我們采用了和[15]中一樣的模型結構。對于Aurora-4的實驗,40維的FBANK特征,已經11幀的上下文信息被用來訓練神經網絡。對于CHiME-4的實驗,我們使用Kaldi的fMLLR特征作為網絡訓練的特征,所有的特征提取以及高斯混合模型聲學模型的訓練,都是基于Kaldi[13]完成的,神經網絡的訓練已經對抗樣本的實現,則是基于Tensorflow[14]。在兩個實驗中,開發集合用來確定最優模型的參數,包括對抗樣本的對抗擾動權重 ,之后最優的模型直接應用于測試集合。
在關鍵詞檢出工作中,我們遵循了[5]中使用的基于注意力機制的端到端模型結構。編碼器采用1層GRU。由于與正樣例相比,負樣例的持續時間較長,因此我們在訓練中對正樣例進行了分割,分割的長度為200幀(約2s)。在測試過程中,使用一個幀長200的窗口,幀移為每次1幀。如果一個樣例中至少有一幀移動后的得分大于預先設置的閾值,則觸發KWS系統。我們的實驗是基于TensorFlow進行的,采用ADAM作為優化器。
實驗結果
Aurora-4語音識別實驗
圖1Aurora-4數據庫開發集上的WER(%)和對抗權重 ∈的關系
圖1展示了Aurora-4數據庫開發集合上詞錯誤率(WordErrorRate,WER)和對抗權重的關系。基于圖1的結果,當時,在開發集合上得到了最優的效果。因此,我們將詞模型使用測試集合進行測試。表1給出了在Aurora-4的4個測試集合上的結果,其中,基線模型是使用多場景訓練數據進行訓練的模型,對抗樣本模型是使用算法1的流程進行訓練的,從表1中我們可以看出,使用對抗樣本之后,我們取得了平均14.1%的WER的相對下降,在3個具有失真的測試集上,對抗樣本模型都取得了提升,特別是在集合D上,我們提出的方法獲得了18.6%的WER的相對提升。在干凈測試集合A上雖然識別效果變差,主要原因是訓練數據中引入了過多的帶噪數據,這個問題可以通過添加更多的干凈數據來彌補。
表1Aurora-4測試集合上基線模型和使用對抗樣本模型的WER(%)的對比
此外,本文提出的數據擴充的方法,可以與其它的學習和訓練策略進行結合,為了驗證這一點,我們將其與T/S學習進行結合,實驗結果證明,兩中策略所帶來的收益是可以疊加的。Aurora-4數據庫里包含成對的干凈和帶噪語音,因此,我們可以利用干凈的模型訓練T模型,帶噪數據用來訓練S模型,當S模型進行訓練的時候,使用下面的損失函數進行訓練:
(5)
其中, ,CE為交叉熵損失函數,
為S模型的參數,
為帶噪數據的特征,
為原始的監督信息,
為教師模型的輸出的概率分布,它是通過將干凈語音
輸入到T模型得到的概率分布:
其中, 為T模型訓練好的參數。表2給出了我們使用T/S學習和對抗樣本結合的實驗結果。從表2中可以看出,使用T/S學習可以明顯降低WER,將T/S學習和對抗樣本結合之后,我們可以獲得8.50%的最好的識別結果,同時,為了證明增益是來自對抗樣本而不是因為數據量的增加,我們將對抗擾動換成了隨機擾動,我們發現隨機擾動只帶來了很小的增益,從而證明了對抗樣本的有效性。更多細節可以參考文章[16]。
表2Aurora-4測試集合上對抗樣本和T/S結合的實驗結果
喚醒實驗
為了驗證FGSM方法對模型產生的影響,我們在測試集上使用FGSM生成了相反的樣例,正樣例擾動(即Pos-FGSM)表示擾動只添加到關鍵字部分。負樣例擾動(即Neg-FGSM)則將擾動直接被添加到整個樣例。當我們測試得到的結果是KWS模型面對對抗樣本時,FRR急劇增加。如圖3,我們分析了的注意力層的權重在添加對抗擾動之前和之后的變化。可以看出,模型的權重發生了較大的偏移,即注意力機制被破壞,模型所“注意”的關鍵詞位置錯誤,從而導致很容易輸出錯誤的結果。
圖3(1)正樣例注意力權重層圖3(2)負樣例注意力權重層
這一觀察結果表明,目前的模型是對對抗性擾動的樣例非常敏感的問題確實存在。為了提高模型的魯棒性,我們使用對抗性樣本進一步擴展了訓練數據。具體來說,我們使用對抗樣例對模型進行了重新訓練。在訓練階段,為每一步中的訓練數據生成對抗性樣例(包括正樣例和負樣例)。然后這些樣例被用來再次訓練一個已經訓練良好的KWS模型。在具體實驗中,我們也一樣嘗試了不同的訓練策略,包括只使用正樣例對抗樣本、只使用負樣例對抗樣本和使用正負樣例對抗樣本,作為對照我們還設置了隨機擾動樣本。
表4一小時誤喚醒一次時的誤拒絕率
圖4不同訓練策略的ROC曲線
圖4為各種方法的ROC曲線結果,這里超參數 。Pos-FGSM和Neg-FGSM分別表示使用正負對抗樣例擴充,而ALL-FGSM表示正負樣例都擴充。Random表示對所有訓練數據加上隨機符號擾動,而非使用對抗擾動。表4表示測試集中FAR為1.0時的FRR的大小。從中我們看到基于Pos-FGSM和Neg-FGSM的對抗樣例數據擴充能顯著降低FRR,降低比例分別為45.6%和24.8%。作為比較,隨機的擾動擴充樣例也能稍微提高模型性能。綜上所述,使用對抗樣例擴充訓練數據是提高模型魯棒性的有效方法。更多細節可參考文章[17]。
6.結論
本文提出了一種基于對抗樣本的數據擴充方法,并將其應用在魯棒ASR和KWS任務中。在模型訓練過程種,FGSM方法被用來進行對抗樣本的動態產生。在Aurora-4魯棒語音識別任務上,我們的提出的方法可以獲得14.1%的WER的相對降低。同時,實驗結果表明,將本文和其它學習方式結合,例如T/S學習,可以獲得更進一步的提高,在Aurora-4任務上,通過和T/S結合,我們獲得了23%的WER相對下降。在KWS任務中,我們針對KWS任務,進行了不同方式數據擴充,所提出的數據擴充方法同樣可以有效降低基于注意力機制的KWS模型的FAR和FRR。
7.參考文獻
中傳動網版權與免責聲明:
凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
如涉及作品內容、版權等問題,請在作品發表之日起一周內與本網聯系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網公眾號獲取更多資訊
- 運動控制
- 伺服系統
- 機器視覺
- 機械傳動
- 編碼器
- 直驅系統
- 工業電源
- 電力電子
- 工業互聯
- 高壓變頻器
- 中低壓變頻器
- 傳感器
- 人機界面
- PLC
- 電氣聯接
- 工業機器人
- 低壓電器
- 機柜