論文:
End-to-End Text-Dependent Speaker Verification
思想:
google提出的文本相關的說話人確認,通過DNN或LSTM的網絡結構提取說話人特征表達;然后注冊階段輸入說話人的多個文本相關句子(考慮環境噪聲等干擾)得到的特征表達取平均值作為該說話人的embedding;然后驗證時輸入test句子得到特征表達后,與說話人注冊embedding計算cosine相似度,超過閾值(一般0.5)進行確認操作,否則拒絕。

模型:
網絡模型采用多層DNN或多層LSTM的結構;其中DNN結構包含1層local connected層和多層full connected層外加一層線性層,其中非線性層激活函數為ReLU;LSTM結構為多層LSTM結構+1層線性層;損失函數包括softmax和e2e loss;這里,參考[1] local connected的作用主要是降低模型參數,在幾乎不影響精度條件下可有效減少30%的參數量;
- DNN結構:1*local connected[1]+m*full connected+1*linear layer

- LSTM結構:LSTM結構逐幀輸入,然后取最后一個時刻的隱層輸出作為線性層的輸入

- 損失函數:
- softmax:將線性層的輸出輸入到softmax層獲得概率分布

- e2e loss: 將test的特征表達和說話人注冊句子特征均值計算的cosine距離,輸入到邏輯斯特回歸進行二分類(確認or拒絕)

注意:e2e模型輸入維度為N+1,N為說話人注冊句子,1為test;其中,N個說話人注冊句子得到N個特征表達取平均后與test特征表達計算cosine后再輸入到邏輯斯特回歸計算損失
訓練:
- 數據集:google voice search場景中的‘OK Google’文本相關數據;每個句子采用后80幀,幀率100hz,每幀10ms,共80*10=800ms

- 輸入:輸入特征為40log(fbanks)
- 網絡結構:
- DNN:1*local connected(10*10,ReLU)+3*full connected(504,ReLU)+1*linear layer(504)
- LSTM: 1*LSTM(504)+1*linear layer(504)
- batch size=32
- 評價指標:EER,包含錯誤拒絕率和錯誤接受率,二者相等時得到等錯率EER
實驗結構:
- 句子水平的d-vector的效果明顯優於基於i-vector幀水平的方法

- 基於邏輯斯特回歸二分類的e2e loss相比於softmax,效果稍好;個人理解e2e損失從輸出類別數來看降低了任務難度,從m類(對應訓練集m個說話人)降低為2分類(確認or拒絕),並且更靠近任務目的

- 從效果來看,基於LSTM的模型相比於DNN效果要好,比較LSTM在時序依賴建模方面具有一定的優勢
結論:
- 本文從文本相關說話人確認任務角度考慮,提出了一種基於DNN/LSTM的網絡結構,該結構作為說話人文本相關語句的特征表達提取器;模型訓練完成后,先進行說話人注冊,即將代表說話人的N個文本相關語句(最好包含說話人內在的一些變化或外部干擾)輸入網絡分別提取特征表達,然后取平均值作為該說話人的特征表達;同樣輸入test語句也得到對應特征表達;最后二者計算consine相似度,根據相關閾值,判斷該test是否為該說話人;
- 此外,論文還根據任務導向,提出了一種e2e的訓練策略,策略中網絡模型無需改變,但是損失函數這塊引入邏輯斯特回歸將注冊特征表達和test表達的cosine得分轉化為線性二分類任務,在一定程度上對效果有提升作用
Reference