語音算法閱讀之SpecAugment


論文:
  SpecAugment: A Simple Data Augmentation Methodfor Automatic Speech Recognition
思想:
  SpecAugment是一種log梅爾聲譜層面上的數據增強方法,可以將模型訓練的過擬合問題轉化為欠擬合問題,以便通過大網絡和長時訓練策略來緩解欠擬合問題,提升語音識別效果
模型:
  • 輸入特征:log梅爾聲譜
  • 聲譜增強:將log梅爾聲譜的時域和頻域看作二維圖像,時間片長度為τ,頻域長度ν
  1. 時間扭曲,穿過圖像中心的水平直線上,(W,τ-W)范圍內的隨機點,向左或向右平移w距離,0=<w<=W
  2. 時間掩蔽,沿時間軸方向的[t0,t0+t)范圍內的連續時間步進行掩蔽,其中0=<t0<τ,t服從[0,T]均勻分布
  3. 頻率掩蔽,沿頻域軸方向的[f0,f0+f)范圍內的連續頻率通道進行掩蔽,其中0=<f0<ν,f服從[0,F]均勻分布
  • 網絡框架采用LAS結構[1],encoder部分采用2conv+max_pooling(stride=2)+d層的Bi-LSTM(cell=w)+attention結構;decoder部分采用2LSTM(cell=w)
  • 語言模型融合[2]:embeddng (1024 for LibriSpeech/256 for Switchboard)+2LSTM(cell=300)
  • 解碼:beam search,beam width=8
訓練策略:
  • 數據集:LibriSpeech 960h/Switchboard 300h
  • 輸入特征:80維fbanks,batch size=512
  • 學習率策略:學習率策略是一種能夠提升識別效果的重要因子,分為快速啟動-穩定-指數衰減(Sr,Si,Sf)
  1. 快速啟動階段(0~r),學習率lr從零開始增長到0.001
  2. 穩定階段(Sr~Si)學習率保持穩定
  3. 指數衰減階段(St~Sf): 學習率指數衰減到學習率最大值的1/100=0.00001
  • 權重噪聲策略:標准差為0.075的高斯噪聲,權重噪聲有助於提升模型魯棒性,開始時間Snoise

   其中1、2、3分別為模型訓練的迭代次數三只模式,由短到長,Sr為學習率快速上升階段的step,Snoise為應用權重噪聲的開始的step,Si為學習率指數衰減開始的step,Sf為指數衰減終止的step

  • 均勻標簽平滑:不確定度為0.1,即正確的類別標簽置信度降低0.9,其他類別標簽置信度相應提升0.1,但是當學習率較小時,標簽平滑容易導致模型訓練不穩定,所以最好在學習率衰減之前應用權重噪聲較好
實驗效果:
  實驗中的增強參數如下
  • log梅爾聲譜增強、學習率/權重噪聲策略、增加LSTM深度和結點數均有助於提升識別效果;其中LAS-d-w,d為LSTM層數,w為結點數
  • 不采用LM情況下,LAS-specaugment即可得到state-of-the-art效果,采用LM時進一步提升了state-of-the-art效果
  • 聲譜增強的三種策略中,時間扭曲策略相比時間和頻率掩蔽策略對結果的提升最小,並且計算代價最大
結論:
  • 時間扭曲有助於提升識別效果,但是相對時間和頻率掩蔽策略重要性最低,且計算代價最高
  • log梅爾聲譜增強能夠將模型訓練的過擬合問題轉化為欠擬合問題,從而可以通過大模型和長時訓練予以緩解
  • 標簽平滑策略容易使模型訓練不穩定,尤其當學習率較小時更為嚴重,所以標簽平滑策略最好應用在學習率快速上升和hold階段
  env:
  • tensorflow/pytorch
  • python3
  • numpy
  • librosa
  • matplotlib
  安裝:pip3 install SpecAugment
  增強效果:
原始聲譜
時域和頻域掩蔽
Reference:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM