DNN声学模型说话人自适应的经验性评估

年3月27日

发表于:Sound (cs.SD); Computation and Language (cs.CL); Audio and Speech Processing (eess.AS)

 
 

说话人自适应时从说话人无关模型中估计一个说话人相关的声学模型,以减小训练集与测试集由于说话人差异导致的不匹配。

 
 

已经出现了许多DNN自适应方法,但是缺乏实验比较。

 
 

声学模型采用TDNN-LSTM声学模型。

 
 

自适应源时标准中文普通话声学模型

自适应目标是带口音的中文普通话声学模型

 
 

 
 

本文对三种典型的说话人自适应方法:

  • LIN
  • LHUC
  • KLD

进行经验性评估。对上述三种模型及其组合进行了性能比较。

 
 

关于说话人口音程度对说话人自适应性能的影响,本文也进行了测试。

 
 

 
 

训练-测试不匹配:训练集不能匹配新声学环境或者不能泛化至新的说话人。

为了解决未见过说话人识别问题以及声学环境不匹配问题,提出了多种声学模型补偿和自适应方法。

 
 

DNN自适应方法可以粗略地分为三类:

  • 说话人适应层插入方法

    LIN、LHN、LON是最常见的说话人适应层插入方法,其中LIN最常用。

     
     

    LHUC(Learning Hidden Unit Contribution)是说话人适应层插入方法地新类型,通过插入特殊的层以控制隐层的幅值(amplitude),使得SI网络参数变得说话人相关。

    LIN的训练通常使用一个较小的学习率,如0.00001。

  • 子空间方法

    目标是找到一个用于自适应的低维说话人子空间。最直觉的应用是使用基于子空间的特征,如:i-Vectors,作为神经网络声学模型训练中的增补特征,或用于说话人自适应训练(SAT)。

    除子空间的特征之外的另一种子空间方法,被称为:说话人编码,也是把特征用作增补[25]。

    对于每个说话人,特定神经网络单元集合被链接到原始SI网络中,并进行优化。

     
     

    基于i-Vector的SAT已经称为训练DNN声学模型时的小技巧,以提供较小但稳定的性能提升。

  • 模型直接适应方法

    一种直觉的想法是使用新的说话人数据来直接调整DNN参数。使用新数据来对SI模型进行重训练/调优是最简单的方式,又被称为重训练说话人无关(Retrained Speaker Independent,RSI)自适应。为避免过拟合,通常进行保守训练(Conservative Training),如KL散度(Kullback-Leibler Divergence)正则化[26]。通过把KL散度项添加到用于更新神经网络参数的原交叉熵代价函数中,该方法试图将适应后模型的后验分布接近于用于适应的源模型。虽然该方法十分有效,但是需要为每个说话人构建一个神经网络。

     
     

KLD正则化

 
 

L2正则化项使得自适应后模型参数与SI模型参数相接近。

 
 

对于声学模型训练,需要最小化交叉熵:

 
 

 
 

 
 

 
 

LHUC(学习性隐层单元贡献)

以限制r的元素取值为[0, 2]。

 
 

 
 

Previous studies on LHUC [22] have demonstrated that adapting more layers in the network can get continuously better accuracy. Hence we inserted LHUC parameters after each hidden layers.

 
 

实验

实验基于i-Vector与cMLLR(fMLLR)特征训练的SAT-DNN(TDNN-LSTM)声学模型。

 
 

 
 

 
 

[25] O. Abdel-Hamid and H. Jiang, "Fast speaker adaptation of hybrid nn/hmm model for speech recognition based on discriminative learning of speaker code," in Acoustics, Speech and Signal Processing (ICASSP), 2013 IEEE International Conference on. IEEE, 2013, pp. 7942–7946.

 
 

三种方法的组合:

组合并不能带来性能提升。

时,RSI就会出现偏差。

或10个话语)反而不如基线,本文实验表明即使使用少量数据也能带来不错的性能提升。我们认为,这是因为测试说话人口音很重,即SI数据与目标说话人数据之间的差异十分明显。
使用不同ρ值[0.0625,0.5]进行比较也表明,即使对于不同大小的适应数据,即使ρ较小,也可以获得合理的CER减少。对于大数据集和小数据据,中等权重(例如,0.25)最优;对于中等大小数据集,较小正则化权重(例如,0.0625)最优。我们还比较了不同口音说话人的性能。图3c的结果显示KLD适用于每个测试说话人,并且在SI模型中具有最高CER的说话人(即,S5,具有最重的口音)实现了最大的CER减少。但随着适应数据的增加,每个说话人的增益越来越小。

 
 

Empirical Evaluation of Speaker Adaptation on DNN based Acoustic Model的更多相关文章

  1. Utterance-Wise Recurrent Dropout And Iterative Speaker Adaptation For Robust Monaural Speech Recognition

    单声道语音识别的逐句循环Dropout迭代说话人自适应     WRBN(wide residual BLSTM network,宽残差双向长短时记忆网络) [2] J. Heymann, L. Dr ...

  2. An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling

    An Empirical Evaluation of Generic Convolutional and Recurrent Networks for Sequence Modeling 2018-0 ...

  3. Predicting effects of noncoding variants with deep learning–based sequence model | 基于深度学习的序列模型预测非编码区变异的影响

    Predicting effects of noncoding variants with deep learning–based sequence model PDF Interpreting no ...

  4. 论文翻译:2020_Generative Adversarial Network based Acoustic Echo Cancellation

    论文地址:http://www.interspeech2020.org/uploadfile/pdf/Thu-1-10-5.pdf 基于GAN的回声消除 摘要 生成对抗网络(GANs)已成为语音增强( ...

  5. 论文阅读笔记六十四: Architectures for deep neural network based acoustic models defined over windowed speech waveforms(INTERSPEECH 2015)

    论文原址:https://pdfs.semanticscholar.org/eeb7/c037e6685923c76cafc0a14c5e4b00bcf475.pdf 摘要 本文研究了利用深度神经网络 ...

  6. What are the differences between an LES-SGS model and a RANS based turbulence model?

    The biggest difference between LES and RANS is that, contrary to LES, RANS assumes that \(\overline{ ...

  7. pytorch --Rnn语言模型(LSTM,BiLSTM) -- 《Recurrent neural network based language model》

    论文通过实现RNN来完成了文本分类. 论文地址:88888888 模型结构图: 原理自行参考论文,code and comment: # -*- coding: utf-8 -*- # @time : ...

  8. 论文翻译:2020_Acoustic Echo Cancellation Based on Recurrent Neural Network

    论文地址:https://ieeexplore.ieee.org/abstract/document/9306224 基于RNN的回声消除 摘要 本文提出了一种基于深度学习的语音分离技术的回声消除方法 ...

  9. 机器学习进阶-目标追踪-SSD多进程执行 1.cv2.dnn.readnetFromCaffe(用于读取已经训练好的caffe模型) 2.delib.correlation_tracker(生成追踪器) 5.cv2.writer(将图片写入视频中) 6.cv2.dnn.blobFromImage(图片归一化) 10.multiprocessing.process(生成进程)

    1. cv2.dnn.readNetFromCaffe(prototxt, model)  用于进行SSD网络的caffe框架的加载 参数说明:prototxt表示caffe网络的结构文本,model ...

随机推荐

  1. OpenLayers学习笔记(一)—在线加载谷歌影像地图&离线加载本地瓦片地图

    实现根据在线离线判断加载地图, 在线加载谷歌影响地图, 离线加载本地瓦片地图 作者: 狐狸家的鱼 Github: 八至 html代码 <div id="map" tabind ...

  2. Vue+Django2.0 restframework打造前后端分离的生鲜电商项目(2)

    1.restful api介绍 1.前后端分离的优缺点 1.为什么要用前后端分离 1.pc.app.pad多端适应 2.SPA(单页面应用)开发模式开始流行 3.前后端分离职责不清 4.开发效率问题, ...

  3. Python--多线程、多进程常用概念

    一.常用概念 进程 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成. 线程 线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干 ...

  4. VMware加载vmdk文件

    VMware软件文件菜单选择---映射虚拟磁盘选项,如图1所示

  5. SpringCloud之Hystrix断路器以及dashboard 属性详解

    1.自定义hystrixCommand: https://blog.csdn.net/u012702547/article/details/78032191?utm_source=tuicool&am ...

  6. Shiro简介(一)

    1.shiro是一个安全验证框架,可以完成认证.授权.加密.会话管理.与Web集成.缓存等.   Authentication:身份认证/登入 Authorization:权限验证.粗粒度权限指对某一 ...

  7. stock1114

    # encoding: utf-8 import requests import logging import logging.config import random import os impor ...

  8. Maven Tomcat7+ 实现自动化部署

    首先在Tomcat里配置deploy的用户(tomcat根目录/conf/tomcat-users.xml): <role rolename="tomcat"/> &l ...

  9. eclipse_maven换源

    1. 手动新增一个xml文件: <?xml version="1.0" encoding="UTF-8"?> <settings xmlns= ...

  10. 打包JAR,MANIFEST.MF格式

    MANIFEST.MF文件格式详解 1. 基本格式 属性名称+:+空格+属性值 2. 没行最多72个字符,换行继续必须以空格开头 3. 文件最后必须要有一个回车换行 4. Class-Path 当前路 ...