深度学习进阶:自然语言处理
图书信息
| 作者 | (日)斋藤康毅 |
| 出版社 | 人民邮电出版社有限公司 |
| ISBN | 9787115547644 |
| 出版时间 | 2020-10-01 |
| 字数 | 21.2万 |
| 分类 | 科技,计算机,网络,计算机理论与教程 |
读书简介
《深度学习进阶:自然语言处理》是《深度学习入门:基于Python 的理论与实现》的续作,围绕自然语言处理和时序数据处理,介绍深度学习中的重要技术,包括word2vec、RNN、LSTM、GRU、seq2seq 和Attention 等。本书语言平实,结合大量示意图和Python代码,按照“提出问题”“思考解决问题的新方法”“加以改善”的流程,基于深度学习解决自然语言处理相关的各种问题,使读者在此过程中更深入地理解深度学习中的重要技术。
目录
版权声明
O'Reilly Media, Inc. 介绍
业界评论
译者序
前言
本书的理念
进入自然语言处理的世界
本书面向的读者
本书不面向的读者
运行环境
再次出发
表述规则
读者意见与咨询
电子书
第 1 章 神经网络的复习
1.1 数学和 Python的复习
1.1.1 向量和矩阵
1.1.2 矩阵的对应元素的运算
1.1.3 广播
1.1.4 向量内积和矩阵乘积
1.1.5 矩阵的形状检查
1.2 神经网络的推理
1.2.1 神经网络的推理的全貌图
1.2.2 层的类化及正向传播的实现
1.3 神经网络的学习
1.3.1 损失函数
1.3.2 导数和梯度
1.3.3 链式法则
1.3.4 计算图
1.3.4.1 乘法节点
1.3.4.2 分支节点
1.3.4.3 Repeat 节点
1.3.4.4 Sum 节点
1.3.4.5 MatMul 节点
1.3.5 梯度的推导和反向传播的实现
1.3.5.1 Sigmoid 层
1.3.5.2 Affine 层
1.3.5.3 Softmax with Loss 层
1.3.6 权重的更新
1.4 使用神经网络解决问题
1.4.1 螺旋状数据集
1.4.2 神经网络的实现
1.4.3 学习用的代码
1.4.4 Trainer 类
1.5 计算的高速化
1.5.1 位精度
1.5.2 GPU(CuPy)
1.6 小结
第 2 章 自然语言和单词的分布式表示
2.1 什么是自然语言处理
单词含义
2.2 同义词词典
2.2.1 WordNet
2.2.2 同义词词典的问题
2.3 基于计数的方法
2.3.1 基于 Python的语料库的预处理
2.3.2 单词的分布式表示
2.3.3 分布式假设
2.3.4 共现矩阵
2.3.5 向量间的相似度
2.3.6 相似单词的排序
2.4 基于计数的方法的改进
2.4.1 点互信息
2.4.2 降维
2.4.3 基于 SVD的降维
2.4.4 PTB 数据集
2.4.5 基于 PTB 数据集的评价
2.5 小结
第 3 章 word2vec
3.1 基于推理的方法和神经网络
3.1.1 基于计数的方法的问题
3.1.2 基于推理的方法的概要
3.1.3 神经网络中单词的处理方法
3.2 简单的 word2vec
3.2.1 CBOW模型的推理
3.2.2 CBOW模型的学习
3.2.3 word2vec的权重和分布式表示
3.3 学习数据的准备
3.3.1 上下文和目标词
3.3.2 转化为 one-hot表示
3.4 CBOW 模型的实现
学习的实现
3.5 word2vec的补充说明
3.5.1 CBOW模型和概率
3.5.2 skip-gram 模型
3.5.3 基于计数与基于推理
3.6 小结
第 4 章 word2vec的高速化
4.1 word2vec的改进①
4.1.1 Embedding层
4.1.2 Embedding 层的实现
4.2 word2vec的改进②
4.2.1 中间层之后的计算问题
4.2.2 从多分类到二分类
4.2.3 sigmoid 函数和交叉熵误差
4.2.4 多分类到二分类的实现
4.2.5 负采样
4.2.6 负采样的采样方法
4.2.7 负采样的实现
4.3 改进版 word2vec 的学习
4.3.1 CBOW模型的实现
4.3.2 CBOW模型的学习代码
4.3.3 CBOW模型的评价
4.4 wor2vec相关的其他话题
4.4.1 word2vec的应用例
4.4.2 单词向量的评价方法
4.5 小结
第 5 章 RNN
5.1 概率和语言模型
5.1.1 概率视角下的 word2vec
5.1.2 语言模型
5.1.3 将 CBOW模型用作语言模型?
5.2 RNN
5.2.1 循环的神经网络
5.2.2 展开循环
5.2.3 Backpropagation Through Time
5.2.4 Truncated BPTT
5.2.5 Truncated BPTT 的 mini-batch 学习
5.3 RNN的实现
5.3.1 RNN 层的实现
5.3.2 Time RNN 层的实现
5.4 处理时序数据的层的实现
5.4.1 RNNLM的全貌图
5.4.2 Time 层的实现
5.5 RNNLM的学习和评价
5.5.1 RNNLM 的实现
5.5.2 语言模型的评价
5.5.3 RNNLM的学习代码
5.5.4 RNNLM 的 Trainer 类
5.6 小结
第 6 章 Gated RNN
6.1 RNN的问题
6.1.1 RNN 的复习
6.1.2 梯度消失和梯度爆炸
6.1.3 梯度消失和梯度爆炸的原因
6.1.4 梯度爆炸的对策
6.2 梯度消失和 LSTM
6.2.1 LSTM 的接口
6.2.2 LSTM 层的结构
6.2.3 输出门
6.2.4 遗忘门
6.2.5 新的记忆单元
6.2.6 输入门
6.2.7 LSTM 的梯度的流动
6.3 LSTM 的实现
Time LSTM 层的实现
6.4 使用 LSTM 的语言模型
6.5 进一步改进 RNNLM
6.5.1 LSTM 层的多层化
6.5.2 基于 Dropout抑制过拟合
6.5.3 权重共享
6.5.4 更好的 RNNLM 的实现
6.5.5 前沿研究
6.6 小结
第 7 章 基于 RNN 生成文本
7.1 使用语言模型生成文本
7.1.1 使用 RNN 生成文本的步骤
7.1.2 文本生成的实现
7.1.3 更好的文本生成
7.2 seq2seq 模型
7.2.1 seq2seq 的原理
7.2.2 时序数据转换的简单尝试
7.2.3 可变长度的时序数据
7.2.4 加法数据集
7.3 seq2seq 的实现
7.3.1 Encoder类
7.3.2 Decoder类
7.3.3 Seq2seq类
7.3.4 seq2seq的评价
7.4 seq2seq 的改进
7.4.1 反转输入数据(Reverse)
7.4.2 偷窥(Peeky)
7.5 seq2seq的应用
7.5.1 聊天机器人
7.5.2 算法学习
7.5.3 自动图像描述
7.6 小结
第 8 章 Attention
8.1 Attention 的结构
8.1.1 seq2seq存在的问题
8.1.2 编码器的改进
8.1.3 解码器的改进①
8.1.4 解码器的改进②
8.1.5 解码器的改进③
8.2 带 Attention 的 seq2seq的实现
8.2.1 编码器的实现
8.2.2 解码器的实现
8.2.3 seq2seq的实现
8.3 Attention的评价
8.3.1 日期格式转换问题
8.3.2 带 Attention 的 seq2seq 的学习
8.3.3 Attention的可视化
8.4 关于 Attention 的其他话题
8.4.1 双向 RNN
8.4.2 Attention 层的使用方法
8.4.3 seq2seq 的深层化和 skip connection
8.5 Attention 的应用
8.5.1 GNMT
8.5.2 Transformer
8.5.3 NTM
8.6 小结
附录 A sigmoid 函数和 tanh 函数的导数
A.1 sigmoid函数
A.2 tanh 函数
A.3 小结
附录 B 运行 WordNet
B.1 NLTK 的安装
B.2 使用 WordNet 获得同义词
B.3 WordNet 和单词网络
B.4 基于 WordNet 的语义相似度
附录 C GRU
C.1 GRU 的接口
C.2 GRU 的计算图
后记
致谢
参考文献
Python 相关
深度学习基础
基于深度学习的自然语言处理
深度学习出现之前的自然语言处理
基于计数的方法的单词向量
word2vec 相关
RNN 相关
基于 RNN 的语言模型
seq2seq 相关
Attention 相关
带外部存储的 RNN
作者简介
看完了
- 数据库原理与应用实训教程:SQL Server版(鲁艳霞)
- 转型与变革-大学生就业保障制度体系建设(马廷奇)
- 吕凤子美术全集(全5册)(丁钢,吕存总)
- 马克思政治经济学数量分析研究(丘艳娟)
- 九年级+中考-快捷英语周周练-完形填空(石骥)
- 绘・童年:梦幻柏树街 (精装绘本)(著名儿童文学作家“阳光姐姐”伍美珍绘本处女作)(伍美珍)
- 低碳技术创新与可持续能源转型:理论与实证(杨光磊著著无编无译)
- 岳阳楼(邹律资)
