跨信道文本無關說話人識別的信道對抗訓練

跨信道文本無關說話人識別的信道對抗訓練

文獻: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) 方法

信道判別子網絡 D2
說話人分類子網絡 D1
梯度反向層
6 x 全鏈接層
平均池化
Softmax
5 x 卷積層
平均池化
全連接層
Softmax loss + Triplet loss
譜特徵輸入 batch_size x 500 x 64
2 x LSTM層 G

CAT 採用上圖的網絡結構,主要包含 1 個生成器子網絡 G、1 個說話人分類判別器子網絡 D1 和 1 個信道判別子網絡 D2:

  • 生成器子網絡 G:雙層 LSTM 串聯結構,參數 θG\theta_G
  • 說話人分類判別器子網絡 D1:五層卷積層 + 平均池化層 + 全鏈接層,參數 θD1\theta_{D1}
  • (跨/雙)信道判別器子網絡 D2:梯度反向層(gradient reversal layer) + 六層全鏈接層 + 平均池化層,參數 θD2\theta_{D2}

CAT 以最小化說話人標籤預測損失和最大化信道分類損失爲目標,分別優化說話人分類判別器和信道判別器,其損失函數分別爲:

  • D1 損失函數:

    LD1(θG,θD1)=LS+αLT=i=1Mlogexp(WyiTxi+byi)j=1Nexp(WjTxi+bj)softmax+αi=1Mmax(0,cos(xi,xn)+δcos(xi,xp))triplet \begin{aligned} L_{D1}(\theta_G,\theta_{D1}) &= L_S+\alpha L_T \\ &= \underbrace{-\sum\limits_{i=1}^M\log{\frac{\exp(W_{y_i}^Tx^i+b_{y_i})}{\sum_{j=1}^N\exp(W_j^Tx^i+b_j)}}}_\text{softmax} + \alpha\underbrace{\sum\limits_{i=1}^M\max\left(0,\cos\left(x^i,x^n\right)+\delta-\cos\left(x^i,x^p\right)\right)}_\text{triplet} \end{aligned}

    包含 softmax 損失和 triplet 損失兩部分,α\alpha 用去權衡兩個損失的權重,論文中 α=1\alpha=1MM 表示小批量的規模,NN 表示說話人的數量,論文中的 NN 超過 10,000。

    在 softmax 損失部分,xix^i 表示第 ii 個說話人嵌入,其標籤爲 yiy_iWjW_j 表示權重矩陣 WW 的第 jj 列,bjb_j 是相對位置的偏差項。

    在 triplet 損失部分,xi,xn,xpx^i, x^n, x^p 分別是 triplet 的錨嵌入、負嵌入和正嵌入,(xi,xp)(x^i,x^p) 表示相同的說話人標籤,(xi,xn)(x^i,x^n) 表示不同的說話人,δ\delta 表示相同說話人的間距小於不同說話人的間距的允許量。

  • D2 損失函數:

    LD2(θG,θD1)=LS=i=1Mlogexp(WdiTxi+bdi)j=1Kexp(WjTxi+bj)softmax \begin{aligned} L_{D2}(\theta_G,\theta_{D1}) &= L_S\\ &= \overset{\text{softmax}}{\overbrace{-\sum\limits_{i=1}^M\log{\frac{\exp(W_{d_i}^Tx^i+b_{d_i})}{\sum_{j=1}^K\exp(W_j^Tx^i+b_j)}}}} \end{aligned}

    MMKK 分別是小批量數量和通道數量,論文中 K=2K=2,因此 di=[0,1] or [1,0]d_i=[0,1] \text{ or } [1,0]

CAT 參數優化採用隨機梯度下降(SGD),分爲兩個階段,分別是生成器與判別器D1、判別器D2:

  • θ^G,θ^D1=argmaxθG,θD1E(θG,θD1,θ^D2)\hat{\theta}_G,\hat{\theta}_{D1}=\underset{\theta_G,\theta_{D1}}{\arg\max}E(\theta_G,\theta_{D1},\hat{\theta}_{D2})

    θG=θGl(LD1θGβLD2θG)θD1=θD1lLD1θD1 \begin{aligned} \theta_G &= \theta_G-l\cdot\left(\frac{\partial L_{D1}}{\partial \theta_G}-\beta\frac{\partial L_{D2}}{\partial \theta_G}\right)\\ \theta_{D1} &= \theta_{D1}-l\cdot\frac{\partial L_{D1}}{\partial \theta_{D1}} \end{aligned}

    β\beta 用於權衡兩個判別器(說話人與信道),用於生成器(共享網絡)的參數優化,ll 是學習速率,論文中 l=0.2l=0.2

  • θ^D2=argmaxθD2E(θ^G,θ^D1,θD2)\hat{\theta}_{D2}=\underset{\theta_{D2}}{\arg\max}E(\hat{\theta}_G,\hat{\theta}_{D1},\theta_{D2})

    θD2=θD2lLD2θD2 \theta_{D2} = \theta_{D2}-l\cdot\frac{\partial L_{D2}}{\partial \theta_{D2}}

上述的內容描述了模型構建與訓練過程。此外,論文還有一些與識別想過相關的細節:

  1. 語音時長,如果比訓練的語音分段的時長短,則進行 pad 一些幀;否則,將較長的語音以滑窗的方式無覆蓋地分割爲多個短語音分段。

  2. 平均池化後的特徵進行 L2 歸一化,之後的特徵作爲說話人嵌入。

  3. CNN 提取說話人嵌入,cosine 計算得分。

3. 信道不匹配的實驗

3.1 語料

語料包含 4 個部分,分別是 2 個信道的訓練集,1 個 22 人的驗證集和 1 個 54133 的測試集。具體如下:

  1. 訓練集1,Speex軟件,37557人,60段語音/人,每段時長平均 8 s;

  2. 訓練集2,SILK軟件,38046人,30段語音/人,每段時長平均 12 s;

  3. 驗證集:用於調整參數,其它的22人,註冊數據使用SILK軟件,1 段語音/人;測試數據使用 Speex軟件,25段語音/人;target trials 550 (22人 * 25段),impostor trials 11550 (22人 * (21人 * 25段));

  4. 測試集:其它段 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) \mapsto i-vector (300) \mapsto WCCN + LN \mapsto LDA + WCCN (200) \mapsto PLDA (150)
  • 基於 CNN 的方法
表1 模型及其訓練數據
模型/語料訓練集1訓練集2
i-vector 提取器YesYes
CNNYesYes
CATYesYes

評價指標:驗證集上使用等誤差率 EER,測試集上使用 Top N 召回率,NN 一般取 1,5,101, 5, 10
KaTeX parse error: Expected '}', got '#' at position 34: …l}=\frac{\text{#̲ successful rec…

實驗結果

  • 參數 β\beta 敏感性分析:驗證集上的 EER 結果和測試集 Top 1 結果表明,[10,10][-10,10] 範圍內 β=1\beta=1 取最優值。
  • 對比算法:表 2 驗證集結果和表 3 測試集結果表明 CAT 的信道判別器對系統性能改進效果顯著。
表2 驗證集 EER(%) 對比實驗結果
系統i-vectorCNNCAT without D2CAT
EER(%)8.86.26.45.8
表3 測試集 Top N 召回率(%)對比實驗結果
系統Top1Top5Top10
i-vector57.366.370.3
CNN69.577.680.1
CAT without D269.178.080.1
CAT76.483.385.0

作者:王瑞 同濟大學 計算機系博士研究生

郵箱:[email protected]

CSDN:https://blog.csdn.net/i_love_home

Github:https://github.com/mechanicalsea

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章