AlphaGo与李世石的围棋大战激发了人们对人工智能是非的诸多争论。人工智能背后的工作原理深度学习跳入大众的视野。AlphaGo的大获全胜一定程度展示了深度学习在应用领域的成功,而语音识别正是深度学习取得显著成功的应用领域之一。
本书是首次以深度学习为主线介绍语音识别应用的书籍,对读者了解语音识别技术及其发展历程有重要的参考价值。
本书作者俞栋、邓力均是该领域的著名专家,他们是深度学习在应用领域取得突破性进展的推动者与实践者,他们在书中分享的研究成果一定程度上代表了本领域最新的研究进展;译者俞凯、钱彦�F也是本领域的资深专家,并有众多实践成果。对于从事此领域研究的读者来说,本书无疑有重要的参考价值。
《解析深度学习:语音识别实践》是首部介绍语音识别中深度学习技术细节的专著。全书首先概要介绍了传统语音识别理论和经典的深度神经网络核心算法。接着全面而深入地介绍了深度学习在语音识别中的应用,包括"深度神经网络-隐马尔可夫混合模型"的训练和优化,特征表示学习、模型融合、自适应,以及以循环神经网络为代表的若干先进深度学习技术。
《解析深度学习:语音识别实践》适合有一定机器学习或语音识别基础的学生、研究者或从业者阅读,所有的算法及技术细节都提供了详尽的参考文献,给出了深度学习在语音识别中应用的全景。
目录
译者序 iv
序 vii
前言 ix
术语缩写 xxii
符号 xxvii
第 1 章 简介 1
1.1 自动语音识别:更好的沟通之桥 . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 人类之间的交流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 人机交流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 语音识别系统的基本结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 全书结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.1 第一部分:传统声学模型 . . . . . . . . . . . . . . . . . . . . . . 6
1.3.2 第二部分:深度神经网络 . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 第三部分:语音识别中的 DNN-HMM 混合系统 . . . . . . . . . . 7
1.3.4 第四部分:深度神经网络中的表征学习 . . . . . . . . . . . . . . 7
1.3.5 第五部分:高级的深度模型 . . . . . . . . . . . . . . . . . . . . . 7
第一部分 传统声学模型 9
第 2 章 混合高斯模型 11
2.1 随机变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 高斯分布和混合高斯随机变量 . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 参数估计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.4 采用混合高斯分布对语音特征建模 . . . . . . . . . . . . . . . . . . . . . 16
第 3 章 隐马尔可夫模型及其变体 19
3.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2 马尔可夫链 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 序列与模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3.1 隐马尔可夫模型的性质 . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3.2 隐马尔可夫模型的仿真 . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3.3 隐马尔可夫模型似然度的计算 . . . . . . . . . . . . . . . . . . . . 24
3.3.4 计算似然度的高效算法 . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.5 前向与后向递归式的证明 . . . . . . . . . . . . . . . . . . . . . . 27
3.4 期望最大化算法及其在学习 HMM 参数中的应用 . . . . . . . . . . . . . 28
3.4.1 期望最大化算法介绍 . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.2 使用 EM 算法来学习 HMM 参数——Baum-Welch 算法 . . . . . . 30
3.5 用于解码 HMM 状态序列的维特比算法 . . . . . . . . . . . . . . . . . . . 34
3.5.1 动态规划和维特比算法 . . . . . . . . . . . . . . . . . . . . . . . . 34
3.5.2 用于解码 HMM 状态的动态规划算法 . . . . . . . . . . . . . . . . 35
3.6 隐马尔可夫模型和生成语音识别模型的变体 . . . . . . . . . . . . . . . . 37
3.6.1 用于语音识别的 GMM-HMM 模型 . . . . . . . . . . . . . . . . . 38
3.6.2 基于轨迹和隐藏动态模型的语音建模和识别 . . . . . . . . . . . . 39
3.6.3 使用生成模型 HMM 及其变体解决语音识别问题 . . . . . . . . . 40
第二部分 深度神经网络 43
第 4 章 深度神经网络 45
4.1 深度神经网络框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.2 使用误差反向传播来进行参数训练 . . . . . . . . . . . . . . . . . . . . . 48
4.2.1 训练准则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.2.2 训练算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3 实际应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.3.1 数据预处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3.2 模型初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3.3 权重衰减 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3.4 丢弃法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.3.5 批量块大小的选择 . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.6 取样随机化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3.7 惯性系数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.3.8 学习率和停止准则 . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.3.9 网络结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.3.10 可复现性与可重启性 . . . . . . . . . . . . . . . . . . . . . . . . . 62
第 5 章 高级模型初始化技术 65
5.1 受限玻尔兹曼机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1.1 受限玻尔兹曼机的属性 . . . . . . . . . . . . . . . . . . . . . . . . 67
5.1.2 受限玻尔兹曼机参数学习 . . . . . . . . . . . . . . . . . . . . . . 70
5.2 深度置信网络预训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.3 降噪自动编码器预训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.4 鉴别性预训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.5 混合预训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.6 采用丢弃法的预训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
第三部分 语音识别中的深度神经网络–隐马尔可夫混合模型 81
第 6 章 深度神经网络–隐马尔可夫模型混合系统 83
6.1 DNN-HMM 混合系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.1.1 结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
6.1.2 用 CD-DNN-HMM 解码 . . . . . . . . . . . . . . . . . . . . . . . . 85
6.1.3 CD-DNN-HMM 训练过程 . . . . . . . . . . . . . . . . . . . . . . . 86
6.1.4 上下文窗口的影响 . . . . . . . . . . . . . . . . . . . . . . . . . . 88
6.2 CD-DNN-HMM 的关键模块及分析 . . . . . . . . . . . . . . . . . . . . . 90
6.2.1 进行比较和分析的数据集和实验 . . . . . . . . . . . . . . . . . . 90
6.2.2 对单音素或者三音素的状态进行建模 . . . . . . . . . . . . . . . . 92
6.2.3 越深越好 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
6.2.4 利用相邻的语音帧 . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.2.5 预训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
6.2.6 训练数据的标注质量的影响 . . . . . . . . . . . . . . . . . . . . . 95
6.2.7 调整转移概率 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.3 基于 KL 距离的隐马尔可夫模型 . . . . . . . . . . . . . . . . . . . . . . . 96
第 7 章 训练和解码的加速 99
7.1 训练加速 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
7.1.1 使用多 GPU 流水线反向传播 . . . . . . . . . . . . . . . . . . . . 100
7.1.2 异步随机梯度下降 . . . . . . . . . . . . . . . . . . . . . . . . . . 103
7.1.3 增广拉格朗日算法及乘子方向交替算法 . . . . . . . . . . . . . . 106
7.1.4 减小模型规模 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
7.1.5 其他方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
7.2 加速解码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.2.1 并行计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
7.2.2 稀疏网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.2.3 低秩近似 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2.4 用大尺寸 DNN 训练小尺寸 DNN . . . . . . . . . . . . . . . . . . 114
7.2.5 多帧 DNN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
第 8 章 深度神经网络序列鉴别性训练 117
8.1 序列鉴别性训练准则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
8.1.1 最大相互信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.1.2 增强型 MMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.1.3 最小音素错误/状态级最小贝叶斯风险 . . . . . . . . . . . . . . . 120
8.1.4 统一的公式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
8.2 具体实现中的考量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.2.1 词图产生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.2.2 词图补偿 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
8.2.3 帧平滑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.2.4 学习率调整 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.2.5 训练准则选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.2.6 其他考量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
8.3 噪声对比估计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
8.3.1 将概率密度估计问题转换为二分类设计问题 . . . . . . . . . . . . 127
8.3.2 拓展到未归一化的模型 . . . . . . . . . . . . . . . . . . . . . . . . 129
8.3.3 在深度学习网络训练中应用噪声对比估计算法 . . . . . . . . . . 130
第四部分 深度神经网络中的特征表示学习 133
第 9 章 深度神经网络中的特征表示学习 135
9.1 特征和分类器的联合学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
9.2 特征层级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
9.3 使用随意输入特征的灵活性 . . . . . . . . . . . . . . . . . . . . . . . . . 140
9.4 特征的鲁棒性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.4.1 对说话人变化的鲁棒性 . . . . . . . . . . . . . . . . . . . . . . . . 141
9.4.2 对环境变化的鲁棒性 . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.5 对环境的鲁棒性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9.5.1 对噪声的鲁棒性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
9.5.2 对语速变化的鲁棒性 . . . . . . . . . . . . . . . . . . . . . . . . . 147
9.6 缺乏严重信号失真情况下的推广能力 . . . . . . . . . . . . . . . . . . . . 148
第 10 章 深度神经网络和混合高斯模型的融合 151
10.1 在 GMM-HMM 系统中使用由 DNN 衍生的特征 . . . . . . . . . . . . . . 151
10.1.1 使用 Tandem 和瓶颈特征的 GMM-HMM 模型 . . . . . . . . . . . 151
10.1.2 DNN-HMM 混合系统与采用深度特征的 GMM-HMM 系统的比较 154
10.2 识别结果融合技术 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
10.2.1 识别错误票选降低技术( ROVER) . . . . . . . . . . . . . . . . . 157
10.2.2 分段条件随机场( SCARF) . . . . . . . . . . . . . . . . . . . . . 159
10.2.3 最小贝叶斯风险词图融合 . . . . . . . . . . . . . . . . . . . . . . 160
10.3 帧级别的声学分数融合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
10.4 多流语音识别 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
第 11 章 深度神经网络的自适应技术 165
11.1 深度神经网络中的自适应问题 . . . . . . . . . . . . . . . . . . . . . . . . 165
11.2 线性变换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.2.1 线性输入网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.2.2 线性输出网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
11.3 线性隐层网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
11.4 保守训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
11.4.1 L 2 正则项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
11.4.2 KL 距离正则项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
11.4.3 减少每个说话人的模型开销 . . . . . . . . . . . . . . . . . . . . . 173
11.5 子空间方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
11.5.1 通过主成分分析构建子空间 . . . . . . . . . . . . . . . . . . . . . 175
11.5.2 噪声感知、说话人感知及设备感知训练 . . . . . . . . . . . . . . 176
11.5.3 张量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
11.6 DNN 说话人自适应的效果 . . . . . . . . . . . . . . . . . . . . . . . . . . 181
11.6.1 基于 KL 距离的正则化方法 . . . . . . . . . . . . . . . . . . . . . 181
11.6.2 说话人感知训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
第五部分 先进的深度学习模型 185
第 12 章 深度神经网络中的表征共享和迁移 187
12.1 多任务和迁移学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
12.1.1 多任务学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
12.1.2 迁移学习 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
12.2 多语言和跨语言语音识别 . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
12.2.1 基于 Tandem 或瓶颈特征的跨语言语音识别 . . . . . . . . . . . . 190
12.2.2 共享隐层的多语言深度神经网络 . . . . . . . . . . . . . . . . . . 191
12.2.3 跨语言模型迁移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
12.3 语音识别中深度神经网络的多目标学习 . . . . . . . . . . . . . . . . . . . 197
12.3.1 使用多任务学习的鲁棒语音识别 . . . . . . . . . . . . . . . . . . 197
12.3.2 使用多任务学习改善音素识别 . . . . . . . . . . . . . . . . . . . . 198
12.3.3 同时识别音素和字素( graphemes) . . . . . . . . . . . . . . . . . 199
12.4 使用视听信息的鲁棒语音识别 . . . . . . . . . . . . . . . . . . . . . . . . 199
第 13 章 循环神经网络及相关模型 201
13.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
13.2 基本循环神经网络中的状态-空间公式 . . . . . . . . . . . . . . . . . . . . 203
13.3 沿时反向传播学习算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
13.3.1 最小化目标函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
13.3.2 误差项的递归计算 . . . . . . . . . . . . . . . . . . . . . . . . . . 205
13.3.3 循环神经网络权重的更新 . . . . . . . . . . . . . . . . . . . . . . 206
13.4 一种用于学习循环神经网络的原始对偶技术 . . . . . . . . . . . . . . . . 208
13.4.1 循环神经网络学习的难点 . . . . . . . . . . . . . . . . . . . . . . 208
13.4.2 回声状态( Echo-State)性质及其充分条件 . . . . . . . . . . . . . 208
13.4.3 将循环神经网络的学习转化为带约束的优化问题 . . . . . . . . . 209
13.4.4 一种用于学习 RNN 的原始对偶方法 . . . . . . . . . . . . . . . . 210
13.5 结合长短时记忆单元( LSTM)的循环神经网络 . . . . . . . . . . . . . . 212
13.5.1 动机与应用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
13.5.2 长短时记忆单元的神经元架构 . . . . . . . . . . . . . . . . . . . . 213
13.5.3 LSTM-RNN 的训练 . . . . . . . . . . . . . . . . . . . . . . . . . . 214
13.6 循环神经网络的对比分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
13.6.1 信息流方向的对比:自上而下还是自下而上 . . . . . . . . . . . . 215
13.6.2 信息表征的对比:集中式还是分布式 . . . . . . . . . . . . . . . . 217
13.6.3 解释能力的对比:隐含层推断还是端到端学习 . . . . . . . . . . 218
13.6.4 参数化方式的对比:吝啬参数集合还是大规模参数矩阵 . . . . . 218
13.6.5 模型学习方法的对比:变分推理还是梯度下降 . . . . . . . . . . 219
13.6.6 识别正确率的比较 . . . . . . . . . . . . . . . . . . . . . . . . . . 220
13.7 讨论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
第 14 章 计算型网络 223
14.1 计算型网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
14.2 前向计算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
14.3 模型训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
14.4 典型的计算节点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
14.4.1 无操作数的计算节点 . . . . . . . . . . . . . . . . . . . . . . . . . 232
14.4.2 含一个操作数的计算节点 . . . . . . . . . . . . . . . . . . . . . . 232
14.4.3 含两个操作数的计算节点 . . . . . . . . . . . . . . . . . . . . . . 237
14.4.4 用来计算统计量的计算节点类型 . . . . . . . . . . . . . . . . . . 244
14.5 卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
14.6 循环连接 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
14.6.1 只在循环中一个接一个地处理样本 . . . . . . . . . . . . . . . . . 249
14.6.2 同时处理多个句子 . . . . . . . . . . . . . . . . . . . . . . . . . . 251
14.6.3 创建任意的循环神经网络 . . . . . . . . . . . . . . . . . . . . . . 252
第 15 章 总结及未来研究方向 255
15.1 路线图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
15.1.1 语音识别中的深度神经网络启蒙 . . . . . . . . . . . . . . . . . . 255
15.1.2 深度神经网络训练和解码加速 . . . . . . . . . . . . . . . . . . . . 258
15.1.3 序列鉴别性训练 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
15.1.4 特征处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
15.1.5 自适应 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
15.1.6 多任务和迁移学习 . . . . . . . . . . . . . . . . . . . . . . . . . . 261
15.1.7 卷积神经网络 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
15.1.8 循环神经网络和长短时记忆神经网络 . . . . . . . . . . . . . . . . 261
15.1.9 其他深度模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
15.2 技术前沿和未来方向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
15.2.1 技术前沿简析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
15.2.2 未来方向 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
参考文献 267