清微智能SRE19大赛两项全球前十 算法团队技术分享
清微智能和清华大学、日本NEC公司、新加坡国立大学等组成的代表队,在近日公布成绩的SRE19大赛上获得声纹全球第5、多媒体第6的好成绩。对于一家以创新架构起家,具有更多硬件基因的芯片设计公司来说,两个项目亚洲第一的成绩,充分展示了企业在软件算法上的不俗实力。
以下内容转载于AI技术媒体《AI科技大本营》
作者 | xjdier
来源 | CSDN博文精选
近日,NIST说话人识别技术评测 (Speaker Recognition Evaluation,SRE)正式公布榜单,芯片初创公司清微智能和清华大学等机构组成的联队,在Conversational Telephone Speech (CTS)和Multimedia两个任务上均取得全球前十,亚洲地区第一的好成绩。
NIST SRE是由美国国家标准与技术研究院主办的国际上最权威、规模最大的声纹识别技术评测和多媒体评测,为全球的研究机构提供了一个统一的测试平台。竞赛包含两个任务,分别考验电话信道语料(CTS)和音视频语料(Audio-visual)上声纹识别的性能,目的在于通过比这样的形式探索说话人识别的新技术、新方法,提升说话人识别系统的性能。从1996年举办至今,参加NIST SRE评测的研究机构逐年增加,今年有包括MIT,JHU,NEC等各国顶尖学术科研机构和公司参加。
从1995年开始,混合高斯模型的统计模式识别技术被引入说话人识别,2000年Reynolds提出的GMM-UBM模型成为声纹识别领域最重要的基石。2008年kenny提出联合因子分析(JFA)将GMM均值超矢量空间划分为本征空间,信道空间,残差空间,分别对说话人和信道空间建模。由于JFA进行信道补偿时不可避免的包含说话人信息,并且存在空间掩盖和空间重叠的问题,因此不能对说话人和信道进行准确建模和区分,于是在2010年Najim Dehak等人提出使用全局差异空间代替本征空间和信道空间,即I-vector对说话人进行建模。随着数据和计算资源的丰富,基于深度学习的声纹识别带来了性能的进一步提升。2018年X-vector在D-vector的基础进行改进,通过在帧级特征上池化映射获得可以表示说话人特性的段级向量,成为state-of -the -art的框架。基于X-vector说话人建模的声纹识别系统主要包括语音特征提取,说话人建模和后端分类器进行信道补偿及似然度打分三个部分。
团队对现有说话人建模和后端分类器技术进行改进,基于目前State-of-the-art的框架X-vector,在主流的TDNN上做了两个改进,分别是FTDNN和EFTDNN,核心是在后端解决领域失配的问题。除了传统的LDA,PLDA进行信道补偿并给出似然比分数,团队在中心化、白化、自适应策略上也进行启发式搜索。本文将团队在此次声纹识别竞赛中的关键技术点整理如下。
关键技术一:FTDNN & EFTDNN
在这次评测中,团队基于目前State-of-the-art的框架X-vector, 在主流的TDNN上做了两个改进,分别是FTDNN和EFTDNN。FTDNN的灵感来源于SVD。SVD本身是降低模型参数的常用做法,将训练好的参数进行SVD分解成两个小参数,再进行fine-tune.但如果没有训练好的参数,直接使用SVD的结构随机初始化训练,网络训练就很不稳定。
为了解决训练不稳定的问题,FTDNN将每一层TDNN拆成两个低秩矩阵的乘积,通过半正交化第一个低秩矩阵,保证信息从高维到低维没有流失。半正交之后特征值的分布会比较均匀,这样的参数矩阵相当于一个映射矩阵,总能够从上一层学到更重要的信息。使得网络熟练的更稳定。对于矩阵M,半正交化就意味着M乘M的转置是恒等矩阵,也就是M乘M的转置减恒等矩阵趋近于0,可以通过梯度下降的方式迭代实现M的半正交化。
FTDNN则是把TDNN 10241024的层拆成两层:1024256,2561024,网络从随机初始化开始训练,在参数更新的过程中,后一层每4个step半正交化一次。例如,传统的节点数为1024的TDNN层,被分解为两个卷积核为21,节点数为256的卷积层,其中第二个卷积层在训练的过程中是限制半正交的。这样的FTDNN结构虽然层数加深,但是参数量反而变小,这样使得在同等参数量的情况下,FTDNN的性能更好。
此外, 鉴于ETDNN在声纹识别任务上的突出性能,团队对FTDNN也进行扩展。在FTDNN每层之间按照ETDNN的方式插入DNN,并且加宽加深卷积层,这样的网络结构可以看到局部更多语音帧的信息。EFTDNN采用3-stage splicing的策略,传统的节点数为1024的TDNN层,被拆成三个卷积层,其中前两个卷积层在训练的过程中限制半正交。除此之外,团队引入AM-Softmax (Additional margin softmax)让深度模型获得更稳定的和更快的收敛,进一步提升了声纹识别的性能。对于这样大规模的网络,AM softmax 比Angular softmax收敛的更快更稳定,因为后者开始的时候类间距比较大,再乘以一个参数m不利于模型训练。同时,通过使用海量的数据集建立更深、更大的深度声纹模型EFTDNN(extended factorized TDNN),在单系统上获得了不错的性能。这样的FTDNN结构虽然层数加深,但是参数量相差不大。
关键技术二:多任务学习机制融合语音文本上下文信息
团队使用多任务学习机制,将语音信息导给给基于X矢量架构进行声纹嵌入提取。将声纹识别和语音识别任务联合学习,借助音素信息和语音文本上下文信息对声纹更有效的建模。其中,语音帧级别的语音识别模型和语音段级别的声纹识别模型共享了7层TDNN的参数,在训练的过程中,输入数据对应的声纹标签用于更新声纹模型,对应的文本标签用于更新语音识别模型。由于同时含有声纹标签和文本标签的数据集很有限,为了产生其他声纹语料的文本标签,引入了一个额外的GMM-HMM模型用来对齐语音帧和文本标签。将语音向量与X-vector网络共同优化,并提供辅助信息以适应声纹特征,可以同时在帧和片段级别上得到有效结果。共享层提取信息特征,使网络更稳健,避免出现过拟合的情况。
关键技术三:融合语音适应与多任务学习机制
在语音适应方法中,语音内容被认为会对声纹验证任务产生负面影响。相反,混合多任务学习利用有用的语音信息来改善模型的概括性。于是,在多任务学习框架的基础上又做了改进,生成了C-vector,从预训练好的声学模型中提取音素向量,拼接在Multi-task声纹识别模型的池化层前。它融合了Multi-task和phonetic adaptation,进一步挖掘语音文本信息对声纹识别任务的有用信息。在C-vector架构中,使用了两个独立的语音分支。为什么要采用这种形式?因为这两个子网是通过不同的目标功能进行优化的,但是还需要限制模型大小。团队注意到,在多任务学习中,区分语音的网络也提供逐帧的语音信息。因此简化的模型可以删除预训练的声学模型,然后将BN层合并到语音区分网络中,并从该层中提取语音矢量。
关键技术四:启发式后端对X-vector进行信道补偿和分类
在X-vector特征中,即包括了声纹信息又包括了信道信息,因为团队将重点放在了声纹信息上,所以在X-Vector中存在信道信息的干扰,这会降低系统的性能表现。于是,团队还需要通过信道补偿算法来减少这种影响。除了数据级和模型级的改进,针对域不匹配的问题,后端团队采用启发式算法,遍历不同的后端策略,线性鉴别分析(Linear Discriminant Analysis,LDA)和概率线性判别分析(Probabilistic Linear Discriminant Analysis,PLDA),LP-LDA,以及MotPLDA,尽量减少训练、测试数据不匹配带来的影响。
2019年声纹识别领域在数据,模型,后端方面均涌现出新的技术。包括在说话人和带宽上做数据扩展,采用Gating CNN block,Dense block等网络结构,通过特征域自适应方法解决领域失配问题。除此之外,在图像和语音识别任务上有效的SE-Net、LSTMP也在声纹识别任务上验证有效。
据悉,今年获得全球第一的是来自美国的一家公司,制胜原因在于其采集了更多集内数据。大家也猜测,为了体现该比赛是一个技术导向性赛制,未来也许将会改为闭集训练数据赛制。随着赛制的完善和更多经验的积累,相信中国的团队会开发出更好的声纹识别系统。
◆
精彩推荐
◆
点击阅读原文,或扫描文首贴片二维码
所有CSDN 用户都可参与投票和抽奖活动
加入福利群,每周还有精选学习资料、技术图书等福利发送
标签:
相关文章
-
无相关信息