deep learning.ai 第五课笔记 -序列模型

第一周:循环序列模型

1.循环神经网络的反向传播如下

2.几种序列模型的结构

3.nlp可以用字符或者词汇的模型,字符的模型不会出现位置字符,但是字符的模型训练量巨大,因为一句话可以只有10~20个单词,但可能会有很多字符,所以现有的自然语言处理的趋势是使用词汇的模型

4.如果遇到梯度爆炸,比如参数为Nan或者未知字符或者特别大出现数值溢出时,可以用梯度修剪方法,即观察参数,如果他大于某个阈值则缩放参数。但是梯度消失比较难解决。

传统的RNN所面临的就是梯度消失和梯度爆炸的问题

 

5.GRU单元(门控循环单元):因为存在c作为记忆细胞,因此c的值有可能经过多层神经网络仍然不变,因此梯度消失的问题就解决了,因此允许神经网络运行在非常庞大的依赖词上。

6.LSTM(长短时记忆网络)

GRU的优点在于他是一个更简单的单元,只有两个门,因此可以构建更深的网络,运行也更快。

LSTM更强大和灵活,因为它有三个门。

7.标准的双向RNN模型(双向LSTM)适合能够一直获取完整句子的情况,因为这个模型可以同时考虑过去现在和未来的单词的情况来进行预测

8.深层RNN神经网络的例子如下,不像卷积神经网络,RNN有3层就已经有很大的训练量了,因此也有可能在后面的层中没有水平信息的输入只有垂直信息的输入这样的结构。

 

第二周:自然语言处理和词嵌入

1.词嵌入的作用:当只有A有海量无标记数据时,用A构建的词嵌入模型可以迁移学习到只有少量数据的B任务中(比如B中训练数据有“杰克是橘子农夫”,但测试遇到了“马克是榴莲产出者”,这个测试句子不在训练语料中,但A训练的词嵌入中“橘子”和“榴莲”相似,“农夫”和“产出者”相似,则可以学习到“马克”是人名)

2.word2vec的skip-grams

3.负采样:通过把softmax学习词向量的方法转化为一系列二分类,能够快速的学习词向量,即选取上下文以及对应的目标词作为正样本,再随机选取没目标词作为负样本进行训练

4.glove算法也是一种计算词向量的算法

5.减少偏见问题(词嵌入除偏)

第三周:序列模型和注意力机制

1.集束搜索通过集束宽n来设置选择的最可能的预测结果的数量,即每次考虑n个结果,比如:词汇表有1000个词,集束宽为3,预测的第一个词概率最大的前三个分别为词a,b,c(3个可能性)则再在者三个词中预测在第一个词的条件下第一个词和第二个词概率最大的前三个组合(3*1000个可能性),选出者三个可能性的词组分别为ae,at,bh,则接下来又把e,t,h设为预测的第一个词

2.优化集束搜索是求一堆概率的乘积的最大值,但概率相乘容易造成数值下溢,可以通过加一层log 的方法优化。

而概率相称会导致结果偏向短句,因为相乘的概率越多一般值越小,可以用归一化的方法优化。

3.当预测结果不好时,检查是rnn模型还是集束搜索的结果不好的过程

4.Bleu分数是用来计算预测结果的好坏,符合人工预测的程度。

5.注意力模型的计算方法

6.语音识别系统流程

猜你喜欢

转载自blog.csdn.net/lrt366/article/details/82154297