新書推薦:
《
同与不同:50个中国孤独症孩子的故事
》
售價:HK$
66.1
《
开宝九年
》
售價:HK$
54.9
《
论僭政:色诺芬《希耶罗》义疏(含施特劳斯与科耶夫通信集)
》
售價:HK$
109.8
《
传播与流动:移民、手机与集装箱(新闻与传播学译丛·学术前沿系列)
》
售價:HK$
109.8
《
《证券分析》前传:格雷厄姆投资思想与证券分析方法
》
售價:HK$
134.3
《
当我点击时,算法在想什么?
》
售價:HK$
78.2
《
服务的细节136:提高成交率的50个销售技巧
》
售價:HK$
65.0
《
变法与党争:大明帝国的衰亡(1500—1644)
》
售價:HK$
96.3
|
編輯推薦: |
《深度序列模型与自然语言处理:基于TensorFlow2实践》旨在帮助读者掌握深度学习和自然语言处理的基本原理和实际运用,讲述了最新的研究成果,以及人们最感兴趣的深度学习生成自然语言等热门领域。此外,《深度序列模型与自然语言处理:基于TensorFlow2实践》提供了基于深度学习框架TensorFlow的实际编程示例,使理论与实践相辅相成。
|
內容簡介: |
《深度序列模型与自然语言处理:基于TensorFlow2实践》以自然语言和语音信号处理两大应用领域为载体,详细介绍深度学习中的各种常用序列模型。 在讲述理论知识的同时辅以代码实现和讲解,帮助读者深入掌握相关知识技能。 《深度序列模型与自然语言处理:基于TensorFlow2实践》共12章,不仅涵盖了词向量、循环神经网络、卷积神经网络、Transformer 等基础知识,还囊括 了注意力机制、序列到序列问题等高级专题,同时还包含其他书籍中较少涉及的预训练语言模型、生成 对抗网络、强化学习、流模型等前沿内容,以拓宽读者视野。 《深度序列模型与自然语言处理:基于TensorFlow2实践》既适合互联网公司算法工程师等群体阅读,又可以作为本科高年级或研究生级别的自然语言处 理和深度学习课程的参考教材。
|
關於作者: |
北京大学计算语言研究所硕士,在国内外会议和期刊上发表过多篇自然语言处理相关论文。曾负责网易有道离线神经网络机器翻译模块和 Kikatech 印度输入法引擎算法研发工作,并撰写相关专利。在知乎平台上回答深度学习和自然语言处理相关问题,多个回答获得编辑推荐,上万粉丝关注。
|
目錄:
|
目 录
第1章 深度学习与自然语言处理概述1
1.1 自然语言处理简史 2
1.1.1 自然语言处理能做什么 2
1.1.2 自然语言处理的发展史 4
1.2 深度学习的兴起 6
1.2.1 从机器学习到深度学习 6
1.2.2 深度学习框架 16
1.2.3 TensorFlow 2程序样例 19
第2章 词向量的前世今生 21
2.1 文本预处理的流程 22
2.2 前深度学习时代的词向量 23
2.2.1 独热向量 23
2.2.2 分布式表示 24
2.3 深度学习时代的词向量 26
2.3.1 词向量的分类 26
2.3.2 可视化词向量 27
2.3.3 词向量在下游任务中的使用 29
2.4 Word2vec数学原理 30
2.4.1 语言模型及其评价 30
2.4.2 神经网络概率语言模型 32
2.4.3 Word2vec原理 33
2.5 用TensorFlow实现Word2vec 38
2.5.1 数据准备 38
2.5.2 模型构建及训练 40
2.5.3 词向量评估与Gensim实践 41
第3章 循环神经网络之一: 输入和输出 45
3.1 循环神经网络的输入和输出 46
3.1.1 循环神经网络的状态与输出 46
3.1.2 输入和输出一一对应 48
3.1.3 一对多和多对一 49
3.1.4 任意长度的输入和输出 50
3.2 区分RNN和RNNCell 51
3.2.1 基类Layer 52
3.2.2 RNNCell接口 53
3.2.3 RNN接口 54
3.3 简单循环神经网络实例 54
3.4 三种常见的RNN 56
3.4.1 SimpleRNN 57
3.4.2 LSTM 58
3.4.3 GRU 61
3.5 双向和多层RNN 63
3.5.1 双向RNN 63
3.5.2 单向多层RNN 65
3.5.3 双向多层RNN 67
第 4 章 循环神经网络之二:高级 71
4.1 在RNN中使用Dropout 71
4.1.1 全连接层中的Dropout 71
4.1.2 RNN中的Dropout 73
4.2 RNN中的梯度流动 75
4.2.1 时序反向传播算法 75
4.2.2 LSTM的梯度流 79
4.3 RNN中的归一化方法 83
4.3.1 批归一化 84
4.3.2 层归一化 87
第 5 章 循环神经网络之三: 实战技巧 92
5.1 序列分类 92
5.1.1 MNIST数字图像分类 92
5.1.2 变长序列处理与情感分析 94
5.2 超长序列的处理 100
5.2.1 状态传递与数据准备 101
5.2.2 字符级语言模型 104
5.3 序列标注和条件随机场 110
5.3.1 IOB格式 110
5.3.2 CONLL2003命名实体识别 111
5.3.3 条件随机场 115
5.4 中间层输出的提取 119
第 6 章 序列到序列问题 127
6.1 序列到序列问题概述 127
6.1.1 序列到序列问题的两个代表 127
6.1.2 三种序列到序列模型 128
6.2 CTC 130
6.2.1 CTC 模型结构 131
6.2.2 长短序列的转换 132
6.2.3 计算标签序列的概率 133
6.2.4 CTC 的推断算法 136
6.2.5 CTC的缺陷 139
6.2.6 TensorFlow中的CTC 139
6.3 Transducer 141
6.3.1 Transducer模型结构 141
6.3.2 Transducer的对齐网格 142
6.3.3 Transducer的训练算法 144
6.3.4 Transducer模型的推断 145
6.3.5 Transducer的贪心解码算法 145
6.3.6 Transducer的集束搜索解码算法 146
6.4 编码器-解码器架构 148
6.4.1 编码器-解码器架构简介 149
6.4.2 编码器-解码器架构代码示例 151
6.4.3 编码器-解码器架构的其他应用 153
6.5 文本生成问题的数据处理流程 153
第 7 章 注意力机制 157
7.1 编码器-解码器-注意力架构概述 157
7.2 两种注意力机制的具体实现 160
7.2.1 加性注意力 160
7.2.2 乘性注意力 161
7.2.3 对注意力机制的理解 163
7.3 TensorFlow中的注意力机制 164
7.3.1 熟悉 tfa.seq2seq164
7.3.2 注意力模块的引入 171
7.4 注意力机制的其他应用 179
第 8 章 超越序列表示:树和图 181
8.1 自然语言中的树结构 181
8.2 递归神经网络:TreeLSTM 183
8.2.1 递归神经网络简介 183
8.2.2 TreeLSTM 两例 185
8.2.3 N元树形LSTM的TensorFlow实现 187
8.3 树形 LSTM 的其他问题 189
8.3.1 树形递归 189
8.3.2 动态批处理 191
8.3.3 结构反向传播算法 191
8.3.4 树形 LSTM 的必要性 192
8.4 图与自然语言处理 193
8.4.1 LSTM 的其他拓展 193
8.4.2 图神经网络的应用 195
第 9 章 卷积神经网络 199
9.1 离散卷积的定义 200
9.1.1 卷积的维度 200
9.1.2 卷积的参数 202
9.2 卷积神经网络的两个实例 204
9.2.1 文本分类与 TextCNN 205
9.2.2 语音合成与 WaveNet 208
第10章 Transformer 219
10.1 Transformer 模型结构介绍 220
10.1.1 注意力层 222
10.1.2 前馈神经网络层 227
10.1.3 残差连接与层归一化 228
10.1.4 位置信息的引入 229
10.1.5 Transformer 整体结构 232
10.2 Transformer:实现与思考 233
10.2.1 从零实现 Transformer 233
10.2.2 训练和推断 244
10.2.3 关于Transformer模块的反思 249
10.3 Transformer 模型的拓展 253
10.3.1 平方复杂度与显存优化 253
10.3.2 图灵完备性与归纳偏置 258
10.3.3 非自回归模型 259
10.4 Transformer与其他模型的联系 261
第11章 预训练语言模型 263
11.1 预训练语言模型发展简史 264
11.2 GPT 266
11.2.1 语言模型 精调解决一切问题 266
11.2.2 GPT-2 和 GPT-3:大力出奇迹 270
11.2.3 GPT系列全回顾 276
11.3 BERT 277
11.3.1 为什么 GPT 和 ELMo 还不够好 277
11.3.2 无监督语料知识提取方案 278
11.3.3 在下游任务上精调 BERT 282
11.3.4 BERT 改进方案 284
11.4 后预训练时代 287
第12章 其他复杂模型 289
12.1 生成对抗网络 289
12.1.1 生成对抗网络简介 289
12.1.2 生成对抗网络与无监督机器翻译 293
12.2 强化学习 300
12.2.1 强化学习基本概念 300
12.2.2 策略梯度和 REINFORCE 算法 303
12.2.3 强化学习与文本生成 305
12.3 流模型 309
12.3.1 归一化流简介 310
12.3.2 逆自回归流与并行 WaveNet 312
参考文献 316
附录一 插图 334
附录二 算法 337
附录三 术语表 338
|
內容試閱:
|
前 言
2018年3月,出版社编辑在知乎上私信我,邀请我撰写一部技术开发方面的书籍。我本
人确实是一个喜欢分享的人,也曾在网上写过不少博客和文章,但还从来没有想到过有一天我会出书。关于我所研究的领域—自然语言处理和机器学习—市面上已经有了无数经典教材,我实在想不到有什么必要再写一本相同题材的书籍。
然而,自然语言处理技术的发展一日千里,BERT和GPT等模型相继出世,自然语言处理的范式也从设计专一任务的模型逐渐转变为使用单一的大模型解决各种下游任务。再想到自己以前初学自然语言处理时翻遍Stack Overflow和GitHub才最终找到答案的那些困惑,我终于找到了编写本书的理由:
· 这是一本偏重实践细节的书。循环神经网络的输入到底是什么格式?状态和输出的区
别是什么?各条样本长度不一时怎么处理?双向循环神经网络里,前向和后向的信息
是怎么流通和融合的?这些我在初学时花了很久才搞明白、后来也在网络上给无数人
解答过的问题,本书中都会讲到。本书既会讲解使用TensorFlow 2 实现经典模型的技
巧和最佳实践,也会谈论TensorFlow 库代码的设计。在读完本书后,相信读者能够
得心应手地实现绝大部分自然语言处理领域的深度学习模型。
· 这是一本展现领域全貌的书。深度学习这个领域发展得太快,想在一本书里包罗万象
几乎是不可能的。尽管如此,本书仍然试图囊括绝大多数知识点,尽量拓展读者的视
野。循环神经网络和 Transformer 这样的主流模型自然是重中之重,然而生成对抗网
络这样尚不成熟的模型,或是递归神经网络这样已经有些过气的模型本书也有涉猎。
本书内容以自然语言处理领域的模型为主,但也包含少量其他领域或交叉领域(如语
音识别等)的模型。
本书的目录是按照模型结构进行组织的。第1章简要介绍自然语言处理和深度学习的历史;第2章主要介绍Word2vec词向量学习算法;第3~5章详细讲解循环神经网络的方方面面;从第6章开始本书进入一些高级专题,其中第6章介绍序列到序列问题的三种解决方案,第7章引入常用的注意力机制,第8章则介绍递归神经网络乃至图神经网络的相关拓展,第9章介绍卷积神经网络和WaveNet,这一章相对独立,第10章铺垫介绍Transformer模型的基础知识,第11章涉及当下最流行的预训练语言模型BERT和GPT,第12章介绍一些不算特别主流但有益于拓宽读者视野的知识,例如生成对抗网络、强化学习和流模型等。需要提醒的是,本书不是一本让初学者了解机器学习或者自然语言处理的书籍。本书假定读者已经对神经网络和自然语言处理有了一定的了解,只不过想要进一步学习代码实践细节或是拓宽自己的知识面。
本书的目标读者为自然语言处理相关专业的学生或者算法研究人员。读者既可以按顺序从前到后阅读,也可以挑选自己感兴趣的部分重点阅读。每一章都给出了大量参考文献,为读者进一步学习相关知识提供了方向。
本书提供的PPT与源代码可通过扫描下面二维码获取:
PPT 源代码
如果下载有问题,请发送电子邮件至booksaga@126.com,邮件主题为“深度序列模型与自然语言处理:基于TensorFlow 2实践”。
感谢我的妻子和其他家人一直以来对我的包容、理解和支持。感谢所有在本书写作和出版过程中给予帮助的人们。
由于笔者水平有限,书中难免存在疏漏之处,欢迎各位读者和同仁批评指正。笔者愿积极与读者交流、共同探讨,让真理越辩越明。
笔 者
2023年2月
|
|