-
内容大纲
本书是《深度学习入门:基于Python的理论与实现》的续作,围绕自然语言处理和时序数据处理,介绍深度学习中的重要技术,包括word2vec、RNN、LSTM、GRU、seq2seq和Attention等。本书语言平实,结合大量示意图和Python代码,按照“提出问题”“思考解决问题的新方法”“加以改善”的流程,基于深度学习解决自然语言处理相关的各种问题,使读者在此过程中更深入地理解深度学习中的重要技术。
本书适合对自然语言处理感兴趣的读者阅读。 -
作者介绍
-
目录
译者序
前言
第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.5 梯度的推导和反向传播的实现
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.2.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的实现
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 Google Neural Machine Translation(GNMT)
8.5.2 Transformer
8.5.3 Neural Turing Machine(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的计算图
后记
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...