新書推薦:
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:NT$
352.0
《
算法图解(第2版)
》
售價:NT$
356.0
《
科学的奇幻之旅
》
售價:NT$
352.0
《
画艺循谱:晚明的画谱与消闲
》
售價:NT$
653.0
《
新民说·现实政治史:从马基雅维利到基辛格
》
售價:NT$
454.0
《
宽容是件奢侈品(人生360度·一分钟经典故事)
》
售價:NT$
203.0
《
甲骨拼合六集
》
售價:NT$
1520.0
《
视觉美食家:商业摄影实战与创意解析
》
售價:NT$
602.0
|
編輯推薦: |
使用深度学习进行语音识别是近年来AI研究的热点之一。本书可以帮助读者掌握深度学习的核心内容、TensorFlow实现语音识别的技术要点以及从模型构建到应用程序编写的整套技巧。
|
內容簡介: |
本书使用新的TensorFlow 2作为语音识别的基本框架,引导读者入门并掌握基于深度学习的语音识别基本理论、概念以及实现实际项目。全书内容循序渐进,从搭建环境开始,逐步深入理论、代码及应用实践,是语音识别技术图书的**。 本书分为10章,内容包括语音识别概况与开发环境搭建、TensorFlow和Keras、深度学习的理论基础、卷积层与MNIST实战、TensorFlow Datasets和TensorBoard详解、ResNet模型、使用循环神经网络的语音识别实战、有趣的词嵌入实战、语音识别中的转换器实战、语音汉字转换实战。 本书内容详尽、示例丰富,适合作为语音识别和深度学习初学者的参考书,同时非常适合作为高等院校和培训机构人工智能及相关专业师生的参考教材。
|
關於作者: |
王晓华,计算机专业讲师,长期讲授面向对象程序设计、数据结构、Hadoop程序设计等研究生和本科生相关课程;主要研究方向为云计算、数据挖掘。曾主持和参与多项国家和省级科研课题,独立科研项目获省级成果认定,发表过多篇论文,拥有一项国家专利。著有《Spark MLlib机器学习实践》《TensorFlow深度学习应用实践》《OpenCV TensorFlow深度学习与计算机视觉实战》《TensorFlow 2.0卷积神经网络实战》《TensorFlow Keras自然语言处理实战》等图书。
|
目錄:
|
第1章 语音识别之路 1
1.1 何谓语音识别 1
1.2 语音识别为什么难——语音识别的发展历程 2
1.2.1 高斯混合-隐马尔科夫时代 3
1.2.2 循环神经网络-隐马尔科夫时代 4
1.2.3 基于深度学习的端到端语音识别时代 5
1.3 语音识别商业化之路的三个关键节点 5
1.4 语音识别的核心技术与行业发展趋势 7
1.5 搭建环境1:安装Python 8
1.5.1 Anaconda的下载与安装 8
1.5.2 Python编译器PyCharm的安装 11
1.5.3 使用Python计算softmax函数 14
1.6 搭建环境2:安装TensorFlow 2.1 15
1.6.1 安装TensorFlow 2.1的CPU版本 15
1.6.2 安装TensorFlow 2.1的GPU版本 15
1.6.3 练习——Hello TensorFlow 18
1.7 实战——基于特征词的语音唤醒 19
1.7.1 步:数据的准备 19
1.7.2 第二步:数据的处理 20
1.7.3 第三步:模型的设计 21
1.7.4 第四步:模型的数据输入方法 22
1.7.5 第五步:模型的训练 24
1.7.6 第六步:模型的结果和展示 25
1.8 本章小结 25
第2章 TensorFlow和Keras 26
2.1 TensorFlow和Keras 26
2.1.1 模型 27
2.1.2 使用Keras API实现鸢尾花分类(顺序模式) 27
2.1.3 使用Keras函数式编程实现鸢尾花分类(重点) 30
2.1.4 使用保存的Keras模式对模型进行复用 33
2.1.5 使用TensorFlow标准化编译对iris模型进行拟合 34
2.1.6 多输入单一输出TensorFlow 编译方法(选学) 38
2.1.7 多输入多输出TensorFlow 编译方法(选学) 41
2.2 全连接层详解 43
2.2.1 全连接层的定义与实现 43
2.2.2 使用TensorFlow自带的API实现全连接层 44
2.2.3 打印显示已设计的Model结构和参数 48
2.3 懒人的福音——Keras模型库 49
2.3.1 ResNet50模型和参数的载入 50
2.3.2 使用ResNet50作为特征提取层建立模型 52
2.4 本章小结 54
第3章 深度学习的理论基础 55
3.1 BP神经网络简介 55
3.2 BP神经网络两个基础算法详解 59
3.2.1 小二乘法详解 59
3.2.2 道士下山的故事:梯度下降算法 61
3.3 反馈神经网络反向传播算法 63
3.3.1 深度学习基础 64
3.3.2 链式求导法则 65
3.3.3 反馈神经网络原理与公式推导 66
3.3.4 反馈神经网络的激活函数 71
3.3.5 反馈神经网络的Python实现 72
3.4 本章小结 76
第4章 卷积层与MNIST实战 77
4.1 卷积运算的基本概念 77
4.1.1 卷积运算 78
4.1.2 TensorFlow中卷积函数实现详解 79
4.1.3 池化运算 82
4.1.4 softmax激活函数 83
4.1.5 卷积神经网络原理 84
4.2 编程实战:MNIST手写体识别 86
4.2.1 MNIST数据集 86
4.2.2 MNIST数据集特征和标签介绍 88
4.2.3 TensorFlow 2.X编程实战:MNIST数据集 90
4.2.4 使用自定义的卷积层实现MNIST识别 95
4.3 本章小结 98
第5章 TensorFlow Datasets和TensorBoard详解 99
5.1 TensorFlow Datasets简介 99
5.1.1 Datasets数据集的安装 101
5.1.2 Datasets数据集的使用 101
5.2 Datasets数据集的使用——FashionMNIST 103
5.2.1 FashionMNIST数据集下载与展示 104
5.2.2 模型的建立与训练 106
5.3 使用Keras对FashionMNIST数据集进行处理 108
5.3.1 获取数据集 108
5.3.2 数据集的调整 109
5.3.3 使用Python类函数建立模型 109
5.3.4 Model的查看和参数打印 111
5.3.5 模型的训练和评估 112
5.4 使用TensorBoard可视化训练过程 114
5.4.1 TensorBoard文件夹的设置 115
5.4.2 TensorBoard的显式调用 115
5.4.3 TensorBoard的使用 118
5.5 本章小结 121
第6章 从冠军开始:ResNet 122
6.1 ResNet基础原理与程序设计基础 123
6.1.1 ResNet诞生的背景 123
6.1.2 模块工具的TensorFlow实现——不要重复造轮子 126
6.1.3 TensorFlow高级模块layers用法简介 126
6.2 ResNet实战:CIFAR-100数据集分类 134
6.2.1 CIFAR-100数据集简介 134
6.2.2 ResNet残差模块的实现 136
6.2.3 ResNet网络的实现 139
6.2.4 使用ResNet对CIFAR-100数据集进行分类 142
6.3 ResNet的兄弟——ResNeXt 143
6.3.1 ResNeXt诞生的背景 143
6.3.2 ResNeXt残差模块的实现 145
6.3.3 ResNeXt网络的实现 146
6.3.4 ResNeXt和ResNet的比较 148
6.4 本章小结 149
第7章 使用循环神经网络的语音识别实战 150
7.1 使用循环神经网络的语音识别 150
7.2 长短期记忆网络 151
7.2.1 Hochreiter、Schmidhuber和LSTM 152
7.2.2 循环神经网络与长短时间序列 153
7.2.3 LSTM的处理单元详解 154
7.2.4 LSTM的研究发展 157
7.2.5 LSTM的应用前景 158
7.3 GRU层详解 159
7.3.1 TensorFlow中的GRU层详解 160
7.3.2 单向不行,那就双向 160
7.4 站在巨人肩膀上的语音识别 161
7.4.1 使用TensorFlow自带的模型进行文本分类 162
7.4.2 用VGGNET替换ResNet是否可行 164
7.5 本章小结 165
第8章 梅西-阿根廷 意大利=?:有趣的词嵌入实战 166
8.1 文本数据处理 167
8.1.1 数据集介绍和数据清洗 167
8.1.2 停用词的使用 169
8.1.3 词向量训练模型Word2Vec使用介绍 172
8.1.4 文本主题的提取:基于TF-IDF(选学) 175
8.1.5 文本主题的提取:基于TextRank(选学) 179
8.2 更多的Word Embedding方法——fastText和预训练词向量 181
8.2.1 fastText的原理与基础算法 182
8.2.2 fastText训练以及与TensorFlow 2.X的协同使用 183
8.2.3 使用其他预训练参数做TensorFlow词嵌入矩阵(中文) 189
8.3 针对文本的卷积神经网络模型:字符卷积 191
8.3.1 字符(非单词)文本的处理 191
8.3.2 卷积神经网络文本分类模型的实现:conv1d(一维卷积) 199
8.4 针对文本的卷积神经网络模型:词卷积 200
8.4.1 单词的文本处理 201
8.4.2 卷积神经网络文本分类模型的实现:conv2d(二维卷积) 203
8.5 使用卷积对文本分类的补充内容 206
8.5.1 汉字的文本处理 207
8.5.2 其他的一些细节 209
8.6 本章小结 210
第9章 从拼音到汉字——语音识别中的转换器 211
9.1 编码器的核心:注意力模型 212
9.1.1 输入层——初始词向量层和位置编码器层 212
9.1.2 自注意力层(重点) 214
9.1.3 ticks和LayerNormalization 218
9.1.4 多头自注意力 219
9.2 构建编码器架构 222
9.2.1 前馈层的实现 223
9.2.2 编码器的实现 224
9.3 实战编码器——汉字拼音转化模型 228
9.3.1 汉字拼音数据集处理 228
9.3.2 汉字拼音转化模型的确定 230
9.3.3 模型训练部分的编写 234
9.3.4 推断函数的编写 235
9.4 本章小结 237
第10章 实战——基于MFCC和CTC的语音汉字转换 238
10.1 语音识别的理论基础1——MFCC 238
10.2 语音识别的理论基础2——CTC 245
10.3 实战——语音汉字转换 247
10.3.1 数据集THCHS-30简介 247
10.3.2 数据集的提取与转化 248
10.4 本章小结 256
|
內容試閱:
|
自动语音识别(Automatic Speech Recognition,ASR)简称为语音识别,是目前科学界、互联网界和工业界研究的一大技术热点及重点方向,也是很有前途和广阔发展空间的一大新兴技术领域。语音识别可以看成一种广义的自然语言处理技术,目的是辅助人与人之间、人与机器之间更有效的交流。语音识别目前已经应用在人们生活中的各个方面,常用的有文字转语音、语音转文字等。
随着深度学习在图像处理中获得成功,科研人员尝试使用深度学习解决语音识别的问题,因为这两个领域的相关特征信息都是相对低层次的,可以借助深度学习的强大学习能力学习其中的复杂信息,目前来看这个尝试是成功的,深度学习同样能够帮助语音识别取得长足进步。
本书选用TensorFlow 2.1作为深度学习的框架,从TensorFlow 2的基础语法开始,到使用TensorFlow 2进行深度学习语音识别程序的设计和实战编写,全面介绍使用TensorFlow 2进行语音识别实战的核心技术及其相关知识,内容全面而翔实。
本书并不是一本简单的实战“例题”性图书,本书在讲解和演示实例代码的过程中,对TensorFlow 2的核心内容进行深入分析,重要内容均结合代码进行实战讲解,围绕深度学习基本原理介绍了大量实战案例,读者通过这些案例可以深入地了解和掌握深度学习和TensorFlow 2的相关技术,并对使用深度学习进行语音识别进一步掌握。
本书是一本面向初级和中级读者的优秀教程。通过本书的学习,读者能够掌握使用深度学习进行语音识别的基本技术和在TensorFlow 2框架下使用神经网络的知识要点,掌握从基于深度学习的语音识别模型的构建到语音识别应用程序的编写这一整套开发技巧。
本书特色
(
1)重实践,讲原理。本书立足于深度学习,以语音识别实战为目的进行讲解,提供了完整可运行的语音识别全套代码,并对其基本原理进行讲解,读者可以直接将其应用到实际生产环境中。
(
2)版本新,易入门。本书详细介绍TensorFlow 2的安装及使用、默认API以及官方所推荐的Keras编程方法与技巧。
(
3)作者经验丰富,代码编写细腻。作者是长期奋战在科研和工业界的一线算法设计和程序编写人员,实战经验丰富,对代码中可能会出现的各种问题和“坑”有丰富的处理经验,使得读者能够少走很多弯路。
(4)理论扎实,深入浅出。在代码设计的基础上,本书还深入浅出地介绍了深度学习需要掌握的一些基本理论知识,作者通过公式与图示结合的方式对理论进行介绍,方便读者快速理解。
(
5)对比多种应用方案,实战案例丰富。本书采用了大量的实例,同时提供了一些实现同类功能的其他解决方案,覆盖了使用TensorFlow 2进行深度学习开发的常用技术。
本书内容及知识体系
本书完整介绍使用TensorFlow 2.1进行语音识别的方法和一些进阶教程,基于TensorFlow 2版本的新架构模式和框架进行讲解,主要内容如下:
第1章详细介绍TensorFlow 2版本的安装方法以及对应的运行环境的安装,通过一个例子验证TensorFlow 2的安装效果,并将其作为贯穿全书学习的主线。同时介绍了TensorFlow 2硬件的采购,记住一块能够运行TensorFlow 2 GPU版本的显卡能让你的学习和工作事半功倍。
第2章是本书的重点,从模型的设计开始,循序渐进地介绍TensorFlow 2的编程方法,包括结合Keras进行TensorFlow 2模型设计的完整步骤,以及自定义层的方法。本章内容看起来很简单,却是本书的基础和核心精华,读者一定要反复阅读,认真掌握所有内容和代码的编写方法。
第3章是TensorFlow 2的理论部分,介绍反馈神经网络的实现和两个核心算法,通过图示结合理论公式的方式详细地介绍理论和原理,并手动实现了一个反馈神经网络。
第4章详细介绍卷积神经网络的原理和各个模型的使用及自定义内容,讲解借助卷积神经网络算法构建一个简单的CNN模型进行MNIST数字识别。
第5章是TensorFlow 2新版本的数据读写部分,详细介绍使用TensorFlow 2自带的Dataset API对数据进行序列化存储,并通过简单的想法对数据重新读取,以及调用程序的方法。
第6章介绍ResNet的基本思想和内容,ResNet是一个具有里程碑性质的框架,标志着粗犷的卷积神经网络设计向着精确化和模块化的方向转化。ResNet本身的程序编写非常简单,但是其中蕴含的设计思想却是跨越性的。
第7章主要介绍自然语言处理的一个基本架构——循环神经网络进行语音识别的方法,这与第6章的内容互补,可以加深读者对深度学习中不同模块和架构的理解。
第8章主要介绍自然语言处理基本的词嵌入的训练和使用,从一个有趣的问题引导读者从文本清洗开始,到词嵌入的计算,以及利用文本的不同维度和角度对文本进行拆分。
第9章介绍更为细化的自然语言处理部分,总结和复习本书前面所学习的内容,并使用深度学习工具实现一个“解码器”,从而解决拼音到文字的转换。这一章的目的是对前期内容的总结,也为下一章语音识别的转换部分打下基础。
第10章是本书的后一章,着重介绍语音识别的应用理论和实现方法,并带领读者完整地实现一个语音文字转换的实战案例。此实战案例既可以作为学习示例使用,又可以作为实际应用的程序进行移植。
适合阅读本书的读者
? 语音识别初学者。
? 深度学习初学者。
? 机器学习初学者。
? 高等院校人工智能专业的师生。
? 专业培训机构的学员。
? 其他对智能化、自动化感兴趣的技术人员。
源码、数据集、开发环境下载和技术支持
本书配套的资源请用微信扫描右边的二维码下载,也可按扫描出来的页面填写自己的邮箱,把链接转发到邮箱中下载。如果学习本书的过程中发现问题,可发送邮件至booksaga@163.com,邮件主题填写“TensorFlow语音识别实战”。
勘误和鸣谢
由于笔者的水平有限,加之编写时间跨度较长,同时TensorFlow版本演进较快,在编写此书的过程中难免会出现不准确的地方,恳请读者批评指正。
感谢所有编辑在本书编写中提供的无私帮助和宝贵建议,正是他们的耐心和支持才让本书得以顺利出版。感谢家人对我的支持和理解,这些都给了我莫大的动力,让我的努力更加有意义。
著 者
2021年5月
|
|