跨信道文本無關說話人識別的信道對抗訓練
文獻:X. Fang, L. Zou, J. Li, L. Sun, and Z. Ling, “Channel Adversarial Training for Cross-channel Text-independent Speaker Recognition,” in Proceedings of 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019, pp. 6221–6225, doi: 10.1109/ICASSP.2019.8682327.
大學:中科科學院大學
公司:科大訊飛
摘要
目的:研究跨信道的文本無關說話人識別,換句話說,channel-mismatched speaker recognition。
數據與方法:提出了信道對抗訓練的方法,CAT,一種領域對抗訓練。語料包含 2 個訓練集、1 個驗證集和 1 個評估數據,涉及兩種信道,即 Speex 與 SILK 軟件,測試數據的人數超過 5 萬。
結果:相比較 CNN 方法,CAT 提升了 22.6 % Top 1 召回率;CAT 在 Top 10 召回率上高達 85 %。
結論:領域判別子網絡爲 CAT 在超大規模說話人數量的實驗中貢獻顯著的性能提升效果。
1. 引言
在智能手機和移動設備的流行趨勢下,說話人識別(或聲紋識別)因其非接觸與價格低的優勢越來越受關注。由於私人語音存儲設備與傳輸協議存在差異,使得跨信道的說話人識別變得重要。
信道不同,可以理解爲不同語音編解碼器(speech codecs)或者軟件。不同信道造成說話人識別的信道不匹配問題,嚴重損害了識別性能。
以往基於 i-vector 與基於 CNN 的信道補償技術仍然無法解決跨信道的說話人嵌入學習問題。於是,X. Fang 提出了一種基於 CNN 的領域對抗訓練方法,CAT,來學習信道不變的、說話人可區分的語音表示(channel-invariant and speaker-discriminative speech representations)。
從結構上看,CAT 比 CNN 模型增加了基於全鏈接層的信道判別器子網絡和基於 LSTM 的生成器子網絡。
2. Channel Adversarial Training (CAT) 方法
CAT 採用上圖的網絡結構,主要包含 1 個生成器子網絡 G、1 個說話人分類判別器子網絡 D1 和 1 個信道判別子網絡 D2:
- 生成器子網絡 G:雙層 LSTM 串聯結構,參數
- 說話人分類判別器子網絡 D1:五層卷積層 + 平均池化層 + 全鏈接層,參數
- (跨/雙)信道判別器子網絡 D2:梯度反向層(gradient reversal layer) + 六層全鏈接層 + 平均池化層,參數
CAT 以最小化說話人標籤預測損失和最大化信道分類損失爲目標,分別優化說話人分類判別器和信道判別器,其損失函數分別爲:
-
D1 損失函數:
包含 softmax 損失和 triplet 損失兩部分, 用去權衡兩個損失的權重,論文中 , 表示小批量的規模, 表示說話人的數量,論文中的 超過 10,000。
在 softmax 損失部分, 表示第 個說話人嵌入,其標籤爲 , 表示權重矩陣 的第 列, 是相對位置的偏差項。
在 triplet 損失部分, 分別是 triplet 的錨嵌入、負嵌入和正嵌入, 表示相同的說話人標籤, 表示不同的說話人, 表示相同說話人的間距小於不同說話人的間距的允許量。
-
D2 損失函數:
與 分別是小批量數量和通道數量,論文中 ,因此
CAT 參數優化採用隨機梯度下降(SGD),分爲兩個階段,分別是生成器與判別器D1、判別器D2:
-
用於權衡兩個判別器(說話人與信道),用於生成器(共享網絡)的參數優化, 是學習速率,論文中 。
-
上述的內容描述了模型構建與訓練過程。此外,論文還有一些與識別想過相關的細節:
-
語音時長,如果比訓練的語音分段的時長短,則進行 pad 一些幀;否則,將較長的語音以滑窗的方式無覆蓋地分割爲多個短語音分段。
-
平均池化後的特徵進行 L2 歸一化,之後的特徵作爲說話人嵌入。
-
CNN 提取說話人嵌入,cosine 計算得分。
3. 信道不匹配的實驗
3.1 語料
語料包含 4 個部分,分別是 2 個信道的訓練集,1 個 22 人的驗證集和 1 個 54133 的測試集。具體如下:
-
訓練集1,Speex軟件,37557人,60段語音/人,每段時長平均 8 s;
-
訓練集2,SILK軟件,38046人,30段語音/人,每段時長平均 12 s;
-
驗證集:用於調整參數,其它的22人,註冊數據使用SILK軟件,1 段語音/人;測試數據使用 Speex軟件,25段語音/人;target trials 550 (22人 * 25段),impostor trials 11550 (22人 * (21人 * 25段));
-
測試集:其它段 54133 人,註冊數據使用SILK軟件,10段語音/人;測試數據使用 Speex 軟件,使用54133 人中的 100 人,共採樣 246 段;target trials 246 (段),impostor trials 13316472 (246段 * 54132 人)。
3.2 對比算法
與 CAT 對比的算法有 2 個,分別是基於 i-vector 與 CNN 的方法:
- 基於 i-vector 的方法:GMM-UBM (512) i-vector (300) WCCN + LN LDA + WCCN (200) PLDA (150)
- 基於 CNN 的方法
模型/語料 | 訓練集1 | 訓練集2 |
---|---|---|
i-vector 提取器 | Yes | Yes |
CNN | Yes | Yes |
CAT | Yes | Yes |
評價指標:驗證集上使用等誤差率 EER,測試集上使用 Top N 召回率, 一般取 :
KaTeX parse error: Expected '}', got '#' at position 34: …l}=\frac{\text{#̲ successful rec…
實驗結果
- 參數 敏感性分析:驗證集上的 EER 結果和測試集 Top 1 結果表明, 範圍內 取最優值。
- 對比算法:表 2 驗證集結果和表 3 測試集結果表明 CAT 的信道判別器對系統性能改進效果顯著。
系統 | i-vector | CNN | CAT without D2 | CAT |
---|---|---|---|---|
EER(%) | 8.8 | 6.2 | 6.4 | 5.8 |
系統 | Top1 | Top5 | Top10 |
---|---|---|---|
i-vector | 57.3 | 66.3 | 70.3 |
CNN | 69.5 | 77.6 | 80.1 |
CAT without D2 | 69.1 | 78.0 | 80.1 |
CAT | 76.4 | 83.3 | 85.0 |
作者:王瑞 同濟大學 計算機系博士研究生
CSDN:https://blog.csdn.net/i_love_home
Github:https://github.com/mechanicalsea