論文:
GENERALIZED END-TO-END LOSS FOR SPEAKER VERIFICATION
思想:
本文是在Google上一篇論文attention-based model(TE2E[1])的基礎上,針對損失函數做的改進,提出了GE2E loss;GE2E loss包含softmax和contrast兩種具體形式,每種形式的目標不僅僅是增大樣本與所屬說話人中心的cosine得分,同時減小樣本與非所屬說話人中心cosine得分;此外,在GE2E計算consine得分時,采用相似矩陣計算形式,一次性計算所有consine得分,相比TE2T,可顯著加速計算;再者,論文還提出了多數據源同時訓練的正則話策略,也在一定程度上對效果有所提升。
值得一提的時,該網絡結構即可以用於文本相關說話人確認任務,也可以用於文本無關說話人辨別任務;不同任務時,輸入序列位置、輸入序列長度以及test時的輸入樣本特征表達的計算形式有所區別。
模型:
網絡采用多層LSTMP形式,提取輸入樣本的說話人表達;然后計算驗證樣本和所有說話人中心的cosine得分;最后通過softmax或contrast進行基於相似度得分的損失統計,反向傳播更新參數。
- LSTMP:每層LSTM后接一層線性映射層,以達到減少參數的目的;LSTM結構具有較好的時序建模特性。
- 相似度得分:帶權重的cosine得分;與TE2E不同的是,這里計算的不是兩個樣本間的得分;而是驗證樣本與說話人中心之間的consine得分;這里,說話人中心的計算為先對特征表達進行L2歸一化,然后再計算屬於該說話人的所有特征表達的均值
需要說明的是,訓練過程中計算驗證樣本與所屬說話人的相似度得分時,計算去掉該樣本的說話人中心使得訓練更穩定
其中,M表示說話人樣本個數
- 損失函數:GE2E的目標函數,使得在訓練過程中,驗證樣本與所屬說話人中心的得分逐漸趨緊於1,同時使得與其它說話人中心的得分趨近於0
- softmax
- contrast
其中,j、k 代表說話人,1=<j、k<=N,1=<i<=M, σ(x) = 1/(1 + e
-x),即sigmoid函數,最終整體的損失為
訓練:
- 數據集
- 文本相關
“OK Google” ~630k speakers ~150M utts
“OK/Hey Google” ~1.2M utts ~ 18k speakers
- 文本無關:30M utts 18K speakers
- MutilReader:本文中提出了一種multiReader訓練策略,該策略將多個不同數據源數據進行融合訓練,不同數據源之間相互起到正則化作用,使得模型更加魯棒;此外,multiReader策略通過調節對應的目標函數權重因子,還能較好的處理數據源之間的不平衡
其中,K為第K個數據源,
α
k為第K個數據源的權重因子
- 輸入特征:40維log-fbanks
- 輸入序列:
- 文本相關:通過關鍵詞檢測得到的800ms的分割片段
- 文本無關:隨機獲取的[140,180]幀范圍內的分割片段
- 模型結構:
- 文本相關:3*LSTMP(128,64)
- 文本無關:3*LSTMP(768,256)
- 訓練細節參數:
- batch: N=64speakers 每個speakers包含M=10utts
- 優化算法:SGD
- 學習率:0.01,每隔30M steps學習率降為之前的1/2
- clip_grad:3
- cosine權重:(w,b)=(10,-5)
- 測試:
- 文本相關:輸入序列仍然是通過關鍵詞檢測獲取的800ms分割片段,然后輸入到網絡中提取特征表達
- 文本無關:對輸入樣本采用滑窗的形式,窗口大小為160幀,每個窗口分割片段輸入到網絡中提取特征表達並進行L2歸一化;最后將各個窗口的表達取均值作為該樣本的特征表達
實驗:
- 本文提出的MultiReader策略相對於直接進行數據混合,能夠較好的處理數據源之間的不平衡問題,使得模型更加魯棒,相應的效果也更好
- 在文本相關說話人確認任務中,GE2E損失訓練的模型相比於TE2E,EER更低,效果更好;此外,MultiReader策略能夠進一步提升效果
- 在文本無關說話人辨別任務中,GE2E損失訓練的模型相比於TE2E、CE交叉熵,EER也更低;表明在文本相關和文本無關說話人識別中,GE2E要比TE2E更好
- 無論是文本相關,還是在文本無關說話人識別任務,GE2E相比於TE2E,識別效果都更好,同時訓練速度也更快;文本相關任務中,GE2E訓練時間不到TE2E的60%,文本無關任務中,GE2E訓練速度約為TE2E的3倍;原因在於,GE2E采用相似度矩陣的形式,將驗證樣本與說話人中心的consine得分進行一次矩陣運算,相比於TE2E的逐個cosine得分計算,速度具有明顯優勢;
公式中,GE2E的一次更新,相當於TE2E的至少2(N-1)次迭代,M為說話人句子個數,P為抽取的句子個數,P=M意味着抽取說話人所有樣本
結論:
論文從損失函數層面進行優化和改進,提出了softmax和contrast兩種損失;這兩種損失的目的都是使得驗證樣本與所屬說話人中心之間的得分趨近於1,同時與其它說話人中心的得分趨近於0;從實驗效果看,GE2E相比於attentioned-based 的TE2E確實效果更好;論文還提出了一種MultiReader的多數據源融合訓練策略,相比於直接將不同的數據源進行混合訓練,將不同數據源按照權重因子進行加和,實驗結果證明該策略能夠較好的處理數據不平衡的問題;此外,論文在計算相似度得分的時候,采用矩陣相乘的形式運算,可以極大的提升訓練速度。
Reference:
[2]
https://arxiv.org/abs/1710.10467(本文)
