聲紋識別算法閱讀之self-attentive x-vector


論文:
  Self-Attentive Speaker Embeddings for Text-Independent Speaker Verification
思想:
  本文主要是對x-vector的統計池化結構進行改進,引入self-attention機制,得到帶權重的均值和標准方差,這樣一方面可以學習時序特征的重要性,另一方面可以有效降低噪聲和靜音等干擾,因而取得了比之x-vector更好的效果
模型:本文模型大體采用x-vector結構,只是對統計池化層部分,引入了self-attention機制,將之前等權重的均值計算,優化為帶self-attention權重的均值,得到句子級別的編碼
  • 幀級別的TDNN:模型的前幾層采用TDNN結構來提取輸入序列幀級別的特征表達,TDNN結構實質上就是DNN結構,只不過輸入為歷史幀、當前幀和未來幀之間的拼接,並且采用BN進行歸一化,激活為ReLU
  • self-attention:self-attention是一種非循環的注意力機制,常用於基於transformer的e2e語音識別任務;一般,self-attention由multi-head attention和feed-forward network串接而成,並且引入skip-connection保證訓練穩定;
其中,H={h 1,h 2,...,h T},H尺寸為d h*T,W1尺寸為d h*d a,g()代表激活函數,W 2尺寸為d a*d r,這樣A尺寸為T*d r
A的每一列代表一個權重向量,不同的列代表self-attention中不同head學習不同的說話人區分性特征,E為權重均值
  • 句子級別的DNN:self-attention后接兩層DNN,學習具有區分性的說話人編碼
  • PLDA:將不同的說話人編碼中心化,LDA降維並長度歸一化后進行PLDA計算,即計算兩個說話人編碼屬於同一說話人和不同說話人似然的比值,得到相似度得分
訓練:
  • 數據集
  1. 訓練集

      Switchboard 2 Phase 1, 2, 3 and Switchboard Cellular:2.6k speakers 28k utts

      NIST SREs data from 2004 to 2010 along with Mixer 6: 4.4k speakers 63k utts

      數據增強:MUSAN噪聲(babble, music, noise), and 模擬混響reverb

  1. 驗證集:SRE16,enroll segments 60s;test segments 10~60s
  • 模型參數
  1. 輸入特征:包含上下文的115維特征
  2. 幀級別DNN:4*TDNN layer(512節點)+1*TDNN layer(1500節點)
  3. self-attention:da=500
  4. 句子級別DNN:2*DNN(512)
  5. LDA: 512->150
實驗:
  • 基於self-attention的x-vector能夠提升說話人驗證效果;增加self-attention的head個數有助於學到更多更具區分性的說話人特征;從實驗效果來看,帶權重均值+標准差能夠更好的結果
  • 從DCF曲線來看,self-attention相比x-vector能夠降低錯誤接受率和錯誤拒絕率;增加head個數或采用mean+stddev有助於進一步降低錯誤接受率和錯誤拒絕率

 

  • test segments越長時,包含說話人信息越多,相應的說話人確認效果越好
結論:
  本文提出了基於self-attention的x-vector結構,將之前的等權重的均值轉化為帶權重的均值向量,並且通過增加head個數可以使模型學到更多具有說話人區分性的特征;在文本無關說話人驗證任務實驗中,該方法取得了比x-vector更好的效果。
Reference:



免責聲明!

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



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