书籍详情

深入浅出Embedding:原理解析与应用实践

深入浅出Embedding:原理解析与应用实践

作者:吴茂贵,王红星 著

出版社:机械工业出版社

出版时间:2021-06-01

ISBN:9787111680642

定价:¥99.00

购买这本书可以去
内容简介
  【免费获取】配套代码 数据 共读实战营 作者答疑群告别拖延症,14天掌握Embedding(社区领读10天 5个作业 4天实战)获取方式:1、微信关注“华章计算机”2、在后台回复关键词:Embedding 这是一本系统、全面、理论与实践相结合的Embedding技术指南,由资深的AI技术专家和高级数据科学家撰写,得到了黄铁军、韦青、张峥、周明等中国人工智能领域的领军人物的一致好评和推荐。在内容方面,本书理论与实操兼顾,一方面系统讲解了Embedding的基础、技术、原理、方法和性能优化,一方面详细列举和分析了Embedding在机器学习性能提升、中英文翻译、推荐系统等6个重要场景的应用实践;在写作方式上,秉承复杂问题简单化的原则,尽量避免复杂的数学公式,尽量采用可视化的表达方式,旨在降低本书的学习门槛,让读者能看得完、学得会。 全书一共16章,分为两个部分:第1部分(第1~9章)Embedding理论知识主要讲解Embedding的基础知识、原理以及如何让Embedding落地的相关技术,如TensorFlow和PyTorch中的Embedding层、CNN算法、RNN算法、迁移学习方法等,重点介绍了Transformer和基于它的GPT、BERT预训练模型及BERT的多种改进版本等。第二部分(第10 ~16章)Embedding应用实例通过6个实例介绍了Embedding及相关技术的实际应用,包括如何使用Embedding提升传统机器学习性,如何把Embedding技术应用到推荐系统中,如何使用Embedding技术提升NLP模型的性能等。
作者简介
  吴茂贵资深大数据和人工智能技术专家,在BI、数据挖掘与分析、数据仓库、机器学习等领域工作超过20年。在基于Spark、TensorFlow、PyTorch、Keras等的机器学习和深度学习方面有大量的工程实践实践,对Embedding有深入研究。著有《深度实践Spark机器学习》《Python深度学习:基于TensorFlow》《Python深度学习:基于Pytorch》等多部著作,广受读者好评。 王红星高级数据科学家,任职于博世(中国)投资有限公司苏州分公司,负责BOSCH数据湖,数据分析与人工智能相关的产品与服务的设计和开发。在大数据、机器学习、人工智能方面有丰富的实践经验。
目录
前言
部分 Embedding基础知识
第1章 万物皆可嵌入2
1.1 处理序列问题的一般步骤3
1.2 Word Embedding4
1.2.1 word2vec之前4
1.2.2 CBOW模型5
1.2.3 Skip-Gram模型6
1.2.4 可视化Skip-Gram模型实现过程8
1.2.5 Hierarchical Softmax优化14
1.2.6 Negative Sampling优化15
1.3 Item Embedding16
1.3.1 微软推荐系统使用Item Embedding16
1.3.2 Airbnb推荐系统使用Item Embedding17
1.4 用Embedding处理分类特征17
1.5 Graph Embedding20
1.5.1 DeepWalk方法21
1.5.2 LINE方法21
1.5.3 node2vec方法23
1.5.4 Graph Embedding在阿里的应用23
1.5.5 知识图谱助力推荐系统实例26
1.6 Contextual Word Embedding26
1.6.1 多种预训练模型概述27
1.6.2 多种预训练模型的发展脉络29
1.6.3 各种预训练模型的优缺点29
1.6.4 常用预训练模型30
1.6.5 Transformer的应用32
1.7 使用Word Embedding实现中文自动摘要35
1.7.1 背景说明35
1.7.2 预处理中文语料库35
1.7.3 生成词向量36
1.7.4 把文档的词转换为词向量36
1.7.5 生成各主题的关键词38
1.7.6 查看运行结果39
1.8 小结40
第2章 获取Embedding的方法41
2.1 使用PyTorch的Embedding Layer41
2.1.1 语法格式41
2.1.2 简单实例43
2.1.3 初始化44
2.2 使用TensorFlow 2.0的Embedding Layer45
2.2.1 语法格式45
2.2.2 简单实例45
2.3 从预训练模型获取Embedding47
2.3.1 背景说明47
2.3.2 下载IMDB数据集47
2.3.3 进行分词47
2.3.4 下载并预处理GloVe词嵌入48
2.3.5 构建模型49
2.3.6 训练模型50
2.3.7 可视化训练结果50
2.3.8 不使用预训练词嵌入的情况51
2.4 小结53
第3章 计算机视觉处理54
3.1 卷积神经网络54
3.1.1 卷积网络的一般架构55
3.1.2 增加通道的魅力56
3.1.3 加深网络的动机57
3.1.4 残差连接58
3.2 使用预训练模型59
3.2.1 迁移学习简介59
3.2.2 使用预训练模型的方法60
3.3 获取预训练模型63
3.4 使用PyTorch实现数据迁移实例64
3.4.1 特征提取实例64
3.4.2 微调实例67
3.5 小结69
第4章 文本及序列处理70
4.1 循环网络的基本结构70
4.1.1 标准循环神经网络71
4.1.2 深度循环神经网络72
4.1.3 LSTM网络结构72
4.1.4 GRU网络结构73
4.1.5 双向循环神经网络74
4.2 构建一些特殊模型75
4.2.1 Encoder-Decoder模型75
4.2.2 Seq2Seq模型77
4.3 小结77
第5章 注意力机制78
5.1 注意力机制概述78
5.1.1 两种常见的注意力机制79
5.1.2 注意力机制的本质79
5.2 带注意力机制的Encoder-Decoder模型81
5.2.1 引入注意力机制81
5.2.2 计算注意力分配值83
5.2.3 使用PyTorch实现带注意力机制的Encoder-Decoder模型85
5.3 可视化Transformer88
5.3.1 Transformer的顶层设计89
5.3.2 Encoder与Decoder的输入91
5.3.3 高并发长记忆的实现91
5.3.4 为加深Transformer网络层保驾护航的几种方法98
5.3.5 如何自监督学习98
5.4 使用PyTorch实现Transformer101
5.4.1 Transformer背景介绍101
5.4.2 构建Encoder-Decoder模型101
5.4.3 构建Encoder102
5.4.4 构建Decoder105
5.4.5 构建MultiHeadedAttention107
5.4.6 构建前馈网络层109
5.4.7 预处理输入数据109
5.4.8 构建完整网络112
5.4.9 训练模型113
5.4.10 实现一个简单实例117
5.5 Transformer-XL119
5.5.1 引入循环机制119
5.5.2 使用相对位置编码121
5.5.3 Transformer-XL计算过程122
5.6 使用PyTorch构建Transformer-XL123
5.6.1 构建单个Head Attention123
5.6.2 构建MultiHeadAttention126
5.6.3 构建Decoder129
5.7 Reformer130
5.7.1 使用局部敏感哈希130
5.7.2 使用可逆残差网络131
5.8 小结132
第6章 从Word Embedding到ELMo133
6.1 从word2vec到ELMo133
6.2 可视化ELMo原理134
6.2.1 字符编码层135
6.2.2 双向语言模型137
6.2.3 生成ELMo词嵌入138
6.3 小结139
第7章 从ELMo到BERT和GPT140
7.1 ELMo的优缺点140
7.2 可视化BERT原理141
7.2.1 BERT的整体架构141
7.2.2 BERT的输入143
7.2.3 掩码语言模型144
7.2.4 预测下一个句子145
7.2.5 微调146
7.2.6 使用特征提取方法147
7.3 使用PyTorch实现BERT148
7.3.1 BERTEmbedding类的代码149
7.3.2 TransformerBlock类的代码149
7.3.3 构建BERT的代码150
7.4 可视化GPT原理151
7.4.1 GPT简介151
7.4.2 GPT的整体架构151
7.4.3 GPT的模型结构152
7.4.4 GPT-2的Multi-Head与BERT的Multi-Head之间的区别153
7.4.5 GPT-2的输入153
7.4.6 GPT-2计算遮掩自注意力的详细过程154
7.4.7 输出156
7.4.8 GPT与GPT-2的异同156
7.5 GPT-3简介157
7.6 小结160
第8章 BERT的优化方法161
8.1 可视化XLNet原理162
8.1.1 排列语言模型简介162
8.1.2 使用双流自注意力机制163
8.1.3 融入Transformer-XL的理念164
8.1.4 改进后的效果164
8.2 ALBERT方法164
8.2.1 分解Vocabulary Embedding矩阵165
8.2.2 跨层共享参数167
8.2.3 用SOP代替NSP方法168
8.2.4 其他优化方法169
8.3 ELECTRA方法170
8.3.1 ELECTRA概述170
8.3.2 RTD结构171
8.3.3 损失函数171
8.3.4 ELECTRA与GAN的异同172
8.3.5 评估172
8.4 小结173
第9章 推荐系统174
9.1 推荐系统概述174
9.1.1 推荐系统的一般流程174
9.1.2 常用推荐算法175
9.2 协同过滤176
9.2.1 基于用户的协同过滤176
9.2.2 基于物品的协同过滤177
9.3 深度学习在推荐系统中的应用178
9.3.1 协同过滤中与神经网络结合178
9.3.2 融入多层感知机的推荐系统179
9.3.3 融入卷积网络的推荐系统180
9.3.4 融入Transformer的推荐系统181
9.4 小结183
第二部分 Embedding应用实例
第10章 用Embedding表现分类特征186
10.1 项目背景186
10.1.1 项目概述186
10.1.2 数据集说明187
10.2 TensorFlow 2详细实现188
10.2.1 导入TensorFlow和其他库188
10.2.2 导入数据集并创建dataframe188
10.2.3 将dataframe拆分为训练、验证和测试集189
10.2.4 用tf.data创建输入流水线189
10.2.5 TensorFlow提供的几种处理特征列的方法190
10.2.6 选择特征193
10.2.7 创建网络的输入层194
10.2.8 创建、编译和训练模型194
10.2.9 可视化训练过程195
10.2.10 测试模型196
10.3 小结197
第11章 用Embedding提升机器学习性能198
11.1 项目概述198
11.1.1 数据集简介199
11.1.2 导入数据200
11.1.3 预处理数据201
11.1.4 定义公共函数203
11.2 使用Embedding提升神经网络性能205
11.2.1 基于独热编码的模型205
11.2.2 基于Embedding的模型207
11.3 构建XGBoost模型211
11.4 使用Embedding数据的XGBoost模型212
11.5 可视化Embedding数据213
11.6 小结215
第12章 用Transformer实现英译中216
12.1 TensorFlow 2 实例概述216
12.2 预处理数据217
12.2.1 下载数据217
12.2.2 分割数据219
12.2.3 创建英文语料字典220
12.2.4 创建中文语料字典222
12.2.5 定义编码函数222
12.2.6 过滤数据223
12.2.7 创建训练集和验证集223
12.3 构建Transformer模型225
12.3.1 Transformer模型架构图225
12.3.2 架构说明226
12.3.3 构建scaled_dot_product_attention模块226
12.3.4 构建MultiHeadAttention模块227
12.3.5 构建point_wise_feed_forward_network模块228
12.3.6 构建EncoderLayer模块228
12.3.7 构建Encoder模块229
12.3.8 构建DecoderLayer模块230
12.3.9 构建Decoder模块231
12.3.10 构建Transformer模型232
12.3.11 定义掩码函数233
12.4 定义损失函数236
12.5 定义优化器237
12.6 训练模型239
12.6.1 实例化Transformer239
12.6.2 设置checkpoint239
12.6.3 生成多种掩码240
12.6.4 定义训练模型函数240
12.6.5 训练模型241
12.7 评估预测模型242
12.7.1 定义评估函数242
12.7.2 测试翻译几个简单语句243
12.8 可视化注意力权重243
12.9 小结245
第13章 Embedding技术在推荐系统中的应用246
13.1 Embedding在Airbnb推荐系统中的应用246
13.2 Transformer在阿里推荐系统中的应用249
13.3 BERT在美团推荐系统中的应用250
13.4 小结253
第14章 用BERT实现中文语句分类254
14.1 背景说明254
14.1.1 查看中文BERT字典里的一些信息255
14.1.2 使用tokenizer分割中文语句256
14.2 可视化BERT注意力权重256
14.2.1 BERT对MASK字的预测256
14.2.2 导入可视化需要的库257
14.2.3 可视化258
14.3 用BERT预训练模型微调下游任务259
14.3.1 准备原始文本数据259
14.3.2 将原始文本转换成BERT的输入格式260
14.3.3 定义读取数据的函数261
14.3.4 读取数据并进行数据转换263
14.3.5 增加一个批量维度264
14.3.6 查看一个批次数据样例265
14.3.7 微调BERT完成下游任务265
14.3.8 查看微调后模型的结构266
14.4 训练模型267
14.4.1 定义预测函数267
14.4.2 训练模型268
14.5 测试模型269
14.5.1 用新数据测试模型269
14.5.2 比较微调前后的数据异同270
14.5.3 可视化注意力权重271
14.6 小结272
第15章 用GPT-2生成文本273
15.1 GPT-2概述273
15.2 用GPT-2生成新闻275
15.2.1 定义随机选择函数275
15.2.2 使用预训练模型生成新闻275
15.3 微调GPT-2生成戏剧文本277
15.3.1 读取文件277
15.3.2 对文件进行分词277
15.3.3 把数据集转换为可迭代对象278
15.3.4 训练模型278
15.3.5 使用模型生成文本279
15.4 小结280
第16章 Embedding技术总结281
16.1 Embedding技术回顾281
16.1.1 Embedding表示281
16.1.2 多种学习Embedding表示的算法282
16.1.3 几种Embedding衍生技术283
16.1.4 Embedding技术的不足285
16.2 Embedding技术展望285
16.2.1 从Embedding的表示方面进行优化285
16.2.2 从Embedding的结构上进行优化286
16.3 小结286
附录A 基于GPU的TensorFlow 2 、PyTorch 1 升级安装287
附录B 语言模型307
猜您喜欢

读书导航