A Bayesian Approach to Deep Neural Network Adaptation with Applications to Robust Automatic Speech Recognition
基于贝叶斯的深度神经网络自适应及其在鲁棒自动语音识别中的应用
直接贝叶斯DNN自适应
使用高斯先验对DNN进行MAP自适应
为何贝叶斯在模型自适应中很有用?
- 因为自适应问题可以视为后验估计问题:

- 能够克服灾难性遗忘问题
在实现通用智能时,神经网络需要学习并记住多个任务,任务顺序无标注,任务会不可预期地切换,同种任务可能在很长一段时间内不会复现。当对当前任务B进行学习时,对先前任务A的知识会突然地丢失,这种现象被称为灾难性遗忘(catastrophic forgetting)。
DNN的MAP自适应:理论背景
基于GMM系统的MAP自适应
GMM作为生成性pdf:符合直觉

共轭先验(Conjugate Prior)
在贝叶斯统计中,如果后验分布与先验分布属于同类,则先验分布与后验分布被称为共轭分布,而先验分布被称为似然函数的共轭先验。
具体地说,就是给定贝叶斯公式


基于DNN的MAP自适应
但是DNN是鉴别性模型,它没有生成性后验概率的概率密度函数。
使得DNN近似为概率密度函数
- 将DNN看作是一个概率密度函数
将DNN的目标函数以概率(似然)形式表示:

- 估计后验概率

其中似然L可以是交叉熵、最小互信息、最小音素错误、最小分类错误等。
先验估计:经验贝叶斯
对训练说话人进行自适应,并分析说话人直接的参数分布。

Prior Estimation Cont'd(先验估计,接上页)
con'd, Abbreviation of continued, 接上页
假设先验分布为多元高斯

等式右边,只用矢量w完成了对矩阵W的表示(向量化)。
假设先验分布为矩阵高斯

多元高斯与矩阵高斯的结果类似,不过多元高斯先验使用了向量化,更易于处理、更易于简化至到L2正则项。
高斯先验:易于简化至到L2正则项
- 多元高斯先验的展开式:



- L2正则化训练

DNN自适应中的灾难性遗忘
自适应后,DNN对自适应数据中见过的类有偏差;
丧失对未观察到样本的识别能力
贝叶斯用于解决灾难性遗忘问题


控制参数数量(LHN)
只对插入到线性隐层的仿射变换权重进行适应:冻结其他参数
通常使用一个瓶颈层以控制LHN的大小,进一步较少参数数量。
MAP:只更新激活函数参数
适应隐层中Sigmoid激活函数(AF)参数

此方法更新的参数比LHN更少。
实验(SWBD)
- 保持权重不变,只更新AF参数,WER降低4.6%(15.1->14.4)
在此基础之上,以最大后验概率准则更新AF参数,WER进一步降低2.8%(14.4->14.0)
- 进行特征空间最大似然线性回归(fMLLR),WER降低7.9%(15.1->13.9)
在此基础之上,以最大后验概率准则更新AF参数,WER进一步降低5.0%(13.9->13.2)
间接贝叶斯DNN自适应
对从DNN获得瓶颈特征进行MAP/SMAP
- 对DNN的直接自适应是可行的,但是还是比不上对GMM的贝叶斯自适应。
- 如何更好地利用成熟的贝叶斯自适应方法
- 将DNN转换为GMM
基于DNN瓶颈特征处理后的特征进行MAP/SMAP

瓶颈特征是鉴别性数据驱动方式训练的;
通过拼接以使用DNN的优点;
要获得瓶颈特征:
- 训练一个带有瓶颈层的DNN;
- 训练一个不带有瓶颈层的DNN,然后进行奇异值分解(SVD)以得到瓶颈;
- 不使用瓶颈层,只进行PCA/LDA降维;
MAP/SMAP自适应
MAP
是有效的模型自适应方法,对小数据集鲁棒;
数据量很大时,将蜕化至(相当于)最大似然估计(MLE);
会由于缺少数据,不能更新未见的三音素;
SMAP(Structured MAP)
针对少数据量的结构化MAP自适应
MAP/SMAP实验
瓶颈特征的GMM-HMM略微差与原DNN-HMM(基线)结果(WER提高0.2%,8.84->8.86)
对瓶颈特征进行MAP的GMM-HMM WER降低5.2%(8.84->8.38)
对瓶颈特征进行SMAP的GMM-HMM WER降低11.1%(8.84->7.85)
与MAP-LHN、LHN相比,SMAP最优。
总结
直接DNN自适应:
- 使用高斯先验进行有监督/无监督的自适应
- 多任务学习(MTL)自适应以解决数据稀疏问题
自适应时,需要对DNN构建一个框架。使用已提出的框架,可以将DNN应用到不同种类型的模型与不同的任务中。
通过瓶颈特征,将DNN"转换"为生成性模型
- 使用瓶颈特征将DNN-HMM转换为GMM-HMM
为DNN提供了使用传统统计学机器学习方法(包括贝叶斯方法)
A Bayesian Approach to Deep Neural Network Adaptation with Applications to Robust Automatic Speech Recognition的更多相关文章
- 论文阅读笔记六十四: Architectures for deep neural network based acoustic models defined over windowed speech waveforms(INTERSPEECH 2015)
论文原址:https://pdfs.semanticscholar.org/eeb7/c037e6685923c76cafc0a14c5e4b00bcf475.pdf 摘要 本文研究了利用深度神经网络 ...
- Deep Learning: Assuming a deep neural network is properly regulated, can adding more layers actually make the performance degrade?
Deep Learning: Assuming a deep neural network is properly regulated, can adding more layers actually ...
- 论文翻译:2022_PACDNN: A phase-aware composite deep neural network for speech enhancement
论文地址:PACDNN:一种用于语音增强的相位感知复合深度神经网络 引用格式:Hasannezhad M,Yu H,Zhu W P,et al. PACDNN: A phase-aware compo ...
- XiangBai——【AAAI2017】TextBoxes_A Fast Text Detector with a Single Deep Neural Network
XiangBai--[AAAI2017]TextBoxes:A Fast Text Detector with a Single Deep Neural Network 目录 作者和相关链接 方法概括 ...
- What are the advantages of ReLU over sigmoid function in deep neural network?
The state of the art of non-linearity is to use ReLU instead of sigmoid function in deep neural netw ...
- 论文笔记之:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation
Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation xx
- 用matlab训练数字分类的深度神经网络Training a Deep Neural Network for Digit Classification
This example shows how to use Neural Network Toolbox™ to train a deep neural network to classify ima ...
- 深度神经网络如何看待你,论自拍What a Deep Neural Network thinks about your #selfie
Convolutional Neural Networks are great: they recognize things, places and people in your personal p ...
- 【论文笔记】Malware Detection with Deep Neural Network Using Process Behavior
[论文笔记]Malware Detection with Deep Neural Network Using Process Behavior 论文基本信息 会议: IEEE(2016 IEEE 40 ...
随机推荐
- QML-WebEngineView加载html(Echarts绘图)
实现QML中运用webEngineView加载Echarts GitHub:八至 作者:狐狸家的鱼 本文链接:QML-WebEngineView加载Echarts 一.前言 Qt允许使用混合GUI创建 ...
- python简单购物车改进版
# -*- coding: utf-8 -*- """ ┏┓ ┏┓ ┏┛┻━━━┛┻┓ ┃ ☃ ┃ ┃ ┳┛ ┗┳ ┃ ┃ ┻ ┃ ┗━┓ ┏━┛ ┃ ┗━━━┓ ┃ 神 ...
- appium desktop 1.7 byName不能用,重写
@Override public WebElement findElementByName(String name){ String string="new UiSelector().tex ...
- shiro:hasPermission 标签 :验证当前用户是否拥有指定权限
1.这些值是存在数据库里的,在哪里找呢?sys_menu 中的permission列. <shiro:hasPermission name="cms:article:edit" ...
- secureCRT恶意终止下次无法启动
secureCRT使用中恶意中断后会在C:\Documents and Settings\wuyipeng\Application Data目录下产生一个secureCRT.dmp文件 下次正常运行s ...
- 关键字(5):cursor游标:(循环操作批量数据)
declare cursor stus_cur is select * from students; --定义游标并且赋值(is 不能和cursor分开使用) cur_stu studen ...
- go etcd
etcd介绍 GitHub:https://github.com/coreos/etcd 官网:https://coreos.com/etcd/ 下载:https://github.com/coreo ...
- ansible 基础一
安装 解决依赖关系: yum -y install python-jinja2 PyYAML python-paramiko python-babel python-crypto tar包安装 htt ...
- java类的编译、加载和执行
一.java类的编译流程 这里主要讲的是从java文件到class文件 下图是java类编译的详细步骤: 1.词法分析:将java源代码的字符流转变为标记(Token)的集合,Token是编译过程中的 ...
- ruby select 方法,可用于先查询结果后,再次用条件限制
1. 用于条件过滤 @works=DworkPro.all.order(:work_type) @work_pro=@works.select{ |x| x.job_type == 7} 2. sel ...