【论文学习】《Generalized End-to-End Loss for Speaker Verification》

广义端到端损失函数提升说话人验证效率
本文提出广义端到端(GE2E)损失函数,改进说话人验证模型的训练效率,减少训练时间并提高性能。与基于元组的端到端(TE2E)损失不同,GE2E在每个训练步骤中更有效地处理难以验证的样本。实验表明,GE2E在文本依赖和文本无关的说话人验证任务中均优于TE2E,且通过MultiReader技术,模型能适应多种关键字和方言。

《Generalized End-to-End Loss for Speaker Verification》论文学习

  摘要

       本文提出了一种新的广义端到端(GE2E)损失函数,该函数使说话人验证模型的训练效率比之前基于元组的端到端(TE2E)损失函数更高。与TE2E不同,GE2E损失函数以一种方式更新网络,在训练过程的每一步强调难以验证的例子。此外,GE2E损失不需要初始阶段的示例选择。基于这些特性,我们的模型在增加损失函数的同时,使说话人验证EER降低了10%以上,同时减少了60%的训练时间。我们还介绍了MultiReader技术,它允许我们进行领域适应训练,一个更精确的模型,支持多个关键字(例如,“OK Google”和“Hey Google”)以及多种方言。
       
       关键字 :说话人验证,端到端损失,MultiReader,关键字检测
       

  1 介绍

    1.1 背景

       说话人验证(Speaker verification, SV)是基于说话人已知的语音(即注册语音),利用Voice Match(《Tomato, tomahto. Google Home now supports multiple users》,《Voice match will allow Google Home to recognize your voice》)等应用,验证某条语音是否属于该说话人的过程。
       
       根据用于登记和验证的语音的限制,说话人验证模型通常分为两类:文本依赖的说话人验证(TD-SV)和文本独立的说话人验证(TI-SV)。在TD-SV中,加入语和验证语的转录本都有语音上的约束,而在TI-SV中,加入语和验证语的转录本没有词汇上的约束,暴露出更大的音素和话语时长的变异性(《An overview of textindependent speaker recognition: From features to supervectors》,《A tutorial on text-independent speaker verification》)。在这项工作中,我们专注于TI-SVTD-SV的一个特殊子任务,即全局密码TD-SV,其中验证是基于检测到的关键字,例如 “OK Google”(《Small-footprint keyword spotting using deep neural networks》,《Automatic gain control and multi-style training for robust small-footprint keyword spotting with deep neural networks》)。
       
       在以前的研究中,基于i-vector的系统一直是TD-SVTI-SV应用《Front-end factor analysis for speaker verification》的主要方法。近年来,越来越多的工作集中在使用神经网络进行说话人验证,而最成功的系统使用端到端训练(《Deep neural networks for small footprint text-dependent speaker verification》,《Locally-connected and convolutional neural networks for small footprint speaker recognition》,《Deep speaker: an end-to-end neural speaker embedding system》,《End-to-end attention based text-dependent speaker verification》,《The IBM 2016 speaker recognition system》)。在这样的系统中,神经网络的输出向量通常称为嵌入向量(也称为d-vector)。与i-vector类似,这种嵌入可以用来表示固定维度空间中的语音,在这个空间中,可以使用其他通常更简单的方法来消除说话人之间的歧义。
       

    1.2 基于元组的端到端损失

       在我们之前的工作(《End-to-end text-dependent speaker verification》)中,我们提出了基于元组的端到端(TE2E)模型,该模型模拟了训练期间运行时注册和验证的两阶段过程。在我们的实验中,TE2E模型结合LSTM(《Long short-term memory》)获得了当时最好的性能。对于每个训练步骤,一个元组包含一个评价语音 X j ∽ X_{j\backsim} Xj M M M个注册语音 X k m X_{km} Xkm(当 m = 1 , . . . , M m = 1,...,M m=1,...,M)被送入我们的LSTM网络: { X j ∽ , ( X k 1 , . . . , X k M ) } \{X_{j\backsim},(X_{k1},...,X_{kM})\} { Xj,(Xk1,...,XkM)},其中 X X X代表一个定长段的特征(log-mel-filterbank 能量), j j j k k k代表语音的说话人,而 j j j可能等于也可能不等于 k k k。该元组包含来自说话人 j j j的单个语音,而 M M M来自说话人 k k k的不同语音。如果 X j X_j Xj M M M加入的语音来自同一个说话人,即 j = k j = k j=k,则称该元组为正的,否则称其为负的。我们交替生成正元组和负元组。
       
       对于每个输入元组,我们计算LSTML2归一化响应: { e j ∽ , ( e k 1 , . . . , e k M ) } \{e_{j\backsim},(e_{k1},...,e_{kM})\} { ej(ek1,...,ekM)}。这里每个 e e e是一个固定维数的嵌入向量,它是由LSTM定义的序列-向量映射产生的。元组的质心 ( e k 1 , . . . , e k M ) (e_{k1},...,e_{kM}) (ek1,...,ekM)表示由 M M M个语音构建的声纹,其定义如下
c k = E m [ e k m ] = 1 M ∑ m = 1 M e k m (1) c_k=\mathbb{E}_m[e_{km}] = \frac {1}{M} \sum_{m=1}^M e_{km} \tag{1} ck=Em[ekm]=M1m=1Mekm(1)       相似度是用余弦相似度函数定义的:
s = w ⋅ c o s ( e j ∽ , c k ) + b (2) s = w \cdot cos(e_{j\backsim}, c_k) + b \tag{2} s=wcos(ej,ck)+b(2)        w w w b b b为可学习值时,TE2E损失最终定义为:
L T ( e j ∽ , c k ) = δ ( j , k ) ( 1 − σ ( s ) ) + ( 1 − δ ( j , k ) ) σ ( s ) (3) L_T(e_{j\backsim}, c_k) = \delta(j,k)\big( 1 - \sigma(s) \big) + \big( 1 - \delta(j,k) \big) \sigma(s) \tag{3} LT(ej,ck)=δ(j,k)(1σ(s))+(1δ(j,k))σ(s)(3)       这里 σ ( x ) = 1 / ( 1 + e − x ) σ(x) = 1/(1 + e^{-x}) σ(x)=1/(1+ex)是标准的sigmoid函数,如果 j = k j = k j=k δ ( j , k ) δ(j, k) δ(j,k)等于 1 1 1,否则等于 0 0 0。当 k = j k = j k=j时,TE2E损失函数鼓励更大的 s s s值,当 k ≠ j k \ne j k

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值