跨信道文本无关说话人识别的信道对抗训练

跨信道文本无关说话人识别的信道对抗训练

文献: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 θG
  • 说话人分类判别器子网络 D1:五层卷积层 + 平均池化层 + 全链接层,参数 θ D 1 \theta_{D1} θD1
  • (跨/双)信道判别器子网络 D2:梯度反向层(gradient reversal layer) + 六层全链接层 + 平均池化层,参数 θ D 2 \theta_{D2} θD2

CAT 以最小化说话人标签预测损失和最大化信道分类损失为目标,分别优化说话人分类判别器和信道判别器,其损失函数分别为:

  • D1 损失函数:

    L D 1 ( θ G , θ D 1 ) = L S + α L T = − ∑ i = 1 M log ⁡ exp ⁡ ( W y i T x i + b y i ) ∑ j = 1 N exp ⁡ ( W j T x i + b j ) ⏟ softmax + α ∑ i = 1 M max ⁡ ( 0 , cos ⁡ ( x i , x n ) + δ − cos ⁡ ( x i , x p ) ) ⏟ 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} LD1(θG,θD1)=LS+αLT=softmax i=1Mlogj=1Nexp(WjTxi+bj)exp(WyiTxi+byi)+αtriplet i=1Mmax(0,cos(xi,xn)+δcos(xi,xp))

    包含 softmax 损失和 triplet 损失两部分, α \alpha α 用去权衡两个损失的权重,论文中 α = 1 \alpha=1 α=1 M M M 表示小批量的规模, N N N 表示说话人的数量,论文中的 N N N 超过 10,000。

    在 softmax 损失部分, x i x^i xi 表示第 i i i 个说话人嵌入,其标签为 y i y_i yi W j W_j Wj 表示权重矩阵 W W W 的第 j j j 列, b j b_j bj 是相对位置的偏差项。

    在 triplet 损失部分, x i , x n , x p x^i, x^n, x^p xi,xn,xp 分别是 triplet 的锚嵌入、负嵌入和正嵌入, ( x i , x p ) (x^i,x^p) (xi,xp) 表示相同的说话人标签, ( x i , x n ) (x^i,x^n) (xi,xn) 表示不同的说话人, δ \delta δ 表示相同说话人的间距小于不同说话人的间距的允许量。

  • D2 损失函数:

    L D 2 ( θ G , θ D 1 ) = L S = − ∑ i = 1 M log ⁡ exp ⁡ ( W d i T x i + b d i ) ∑ j = 1 K exp ⁡ ( W j T x i + b j ) ⏞ 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} LD2(θG,θD1)=LS=i=1Mlogj=1Kexp(WjTxi+bj)exp(WdiTxi+bdi) softmax

    M M M K K K 分别是小批量数量和通道数量,论文中 K = 2 K=2 K=2,因此 d i = [ 0 , 1 ]  or  [ 1 , 0 ] d_i=[0,1] \text{ or } [1,0] di=[0,1] or [1,0]

CAT 参数优化采用随机梯度下降(SGD),分为两个阶段,分别是生成器与判别器D1、判别器D2:

  • θ ^ G , θ ^ D 1 = arg ⁡ max ⁡ θ G , θ D 1 E ( θ G , θ D 1 , θ ^ D 2 ) \hat{\theta}_G,\hat{\theta}_{D1}=\underset{\theta_G,\theta_{D1}}{\arg\max}E(\theta_G,\theta_{D1},\hat{\theta}_{D2}) θ^G,θ^D1=θG,θD1argmaxE(θG,θD1,θ^D2)

    θ G = θ G − l ⋅ ( ∂ L D 1 ∂ θ G − β ∂ L D 2 ∂ θ G ) θ D 1 = θ D 1 − l ⋅ ∂ L D 1 ∂ θ D 1 \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} θGθD1=θGl(θGLD1βθGLD2)=θD1lθD1LD1

    β \beta β 用于权衡两个判别器(说话人与信道),用于生成器(共享网络)的参数优化, l l l 是学习速率,论文中 l = 0.2 l=0.2 l=0.2

  • θ ^ D 2 = arg ⁡ max ⁡ θ D 2 E ( θ ^ G , θ ^ D 1 , θ D 2 ) \hat{\theta}_{D2}=\underset{\theta_{D2}}{\arg\max}E(\hat{\theta}_G,\hat{\theta}_{D1},\theta_{D2}) θ^D2=θD2argmaxE(θ^G,θ^D1,θD2)

    θ D 2 = θ D 2 − l ⋅ ∂ L D 2 ∂ θ D 2 \theta_{D2} = \theta_{D2}-l\cdot\frac{\partial L_{D2}}{\partial \theta_{D2}} θD2=θD2lθD2LD2

上述的内容描述了模型构建与训练过程。此外,论文还有一些与识别想过相关的细节:

  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 召回率, N N N 一般取 1 , 5 , 10 1, 5, 10 1,5,10
KaTeX parse error: Expected '}', got '#' at position 34: …l}=\frac{\text{#̲ successful rec…

实验结果

  • 参数 β \beta β 敏感性分析:验证集上的 EER 结果和测试集 Top 1 结果表明, [ − 10 , 10 ] [-10,10] [10,10] 范围内 β = 1 \beta=1 β=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

作者:王瑞 同济大学 计算机系博士研究生

邮箱:rwang@tongji.edu.cn

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

Github:https://github.com/mechanicalsea

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值