好奇的探索者,理性的思考者,踏实的行动者。
Table of Contents:
本书则侧重于循环神经网络和自然语言处理。本书详细介绍了单词向量、LSTM、seq2seq和Attention等自然语言处理中重要的深度学习技术。
简言之,自然语言处理是让计算机理解我们日常所说的语言的技术。
深度学习极大地改善了传统自然语言处理的性能。比如,谷歌的机器翻译性能就基于深度学习获得了显著提升
向量和矩阵
将向量和矩阵扩展到N维的数据集合,就是张量。
矩阵的对应元素的运算
广播
向量内积和矩阵乘积
矩阵的形状检查
神经网络的推理的全貌图
层的类化及正向传播的实现
损失函数
导数和梯度
链式法则
计算图
梯度的推导和反向传播的实现
权重的更新
螺旋状数据集
神经网络的实现
学习用的代码
Trainer 类
位精度
GPU(CuPy)
我们平常使用的语言,如日语或英语,称为自然语言(natural language)。所谓自然语言处理(Natural Language Processing,NLP),顾名思义,就是处理自然语言的科学
简单地说,它是一种能够让计算机理解人类语言的技术。换言之,自然语言处理的目标就是让计算机理解人说的话,进而完成对我们有帮助的事情。
问答系统是自然语言处理技术的一个应用
像这样,通过对所有单词创建近义词集合,并用图表示各个单词的关系,可以定义单词之间的联系。利用这个“单词网络”,可以教会计算机单词之间的相关性
WordNet
同义词词典的问题
基于Python的语料库的预处理
单词的分布式表示
分布式假设
共现矩阵
向量间的相似度
相似单词的排序
点互信息
降维
基于SVD的降维
PTB 数据集
基于PTB 数据集的评价
基于计数的方法的问题
基于推理的方法的概要
神经网络中单词的处理方法
CBOW模型的推理
CBOW模型的学习
word2vec的权重和分布式表示
上下文和目标词
转化为one-hot表示
CBOW模型和概率
skip-gram模型
基于计数与基于推理
Embedding层
Embedding层的实现
中间层之后的计算问题
从多分类到二分类
sigmoid 函数和交叉熵误差
多分类到二分类的实现
负采样
负采样的采样方法
负采样的实现
CBOW模型的实现
CBOW模型的学习代码
CBOW模型的评价
word2vec的应用例
单词向量的评价方法
概率视角下的word2vec
语言模型
将CBOW模型用作语言模型?
循环的神经网络
展开循环
Backpropagation Through Time
Truncated BPTT
Truncated BPTT的mini-batch学习
RNN 层的实现
Time RNN层的实现
RNNLM的全貌图
Time 层的实现
RNNLM的实现
语言模型的评价
RNNLM的学习代码
RNNLM的Trainer 类
RNN 的复习
梯度消失和梯度爆炸
梯度消失和梯度爆炸的原因
梯度爆炸的对策
LSTM的接口
LSTM层的结构
输出门
遗忘门
新的记忆单元
输入门
LSTM的梯度的流动
LSTM层的多层化
基于Dropout抑制过拟合
权重共享
更好的RNNLM的实现
前沿研究
使用RNN 生成文本的步骤
文本生成的实现
更好的文本生成
seq2seq的原理
时序数据转换的简单尝试
可变长度的时序数据
加法数据集
Encoder类
Decoder类
Seq2seq类
seq2seq的评价
反转输入数据(Reverse)
偷窥(Peeky)
聊天机器人
算法学习
自动图像描述
seq2seq存在的问题
编码器的改进
解码器的改进①
解码器的改进②
解码器的改进③
编码器的实现
解码器的实现
seq2seq的实现
日期格式转换问题
带Attention的seq2seq的学习
Attention的可视化
双向RNN
Attention层的使用方法
seq2seq的深层化和skip connection
GNMT
Transformer
NTM