吴恩达深度学习-神经网络基础(第10课:循环序列模型 )

第一周 循环序列模型(Recurrent Neural Networks)
1.1 为什么选择序列模型?(Why Sequence Models?)
即表示可以用序列模型可以做什么。


吴恩达深度学习-神经网络基础(第10课:循环序列模型 )_第1张图片
序列模型的应用.jpg

1.2 数学符号(Notation)
定义一些数学符号用来表示表示序列模型。

1.3 循环神经网络模型(Recurrent Neural Network Model)
循环神经网络用的激活函数经常是tanh,不过有时候也会用ReLU,但是tanh是更通常的选择,我们有其他方法来避免梯度消失问题,我们将在之后进行讲述。选用哪个激活函数是取决于你的输出,如果它是一个二分问题,那么我猜你会用sigmoid函数作为激活函数,如果是类别分类问题的话,那么可以选用softmax作为激活函数。不过这里激活函数的类型取决于你有什么样类型的输出,对于命名实体识别来说只可能是0或者1,那我猜这里第二个激活函数可以是sigmoid激活函数。

1.4 通过时间的反向传播(Backpropagation through time)

1.5 不同类型的循环神经网络(Different types of RNNs)
1.6 语言模型和序列生成(Language model and sequence generation)
1.7 对新序列采样(Sampling novel sequences)
在你训练一个序列模型之后,要想了解到这个模型学到了什么,一种非正式的方法就是进行一次新序列采样,来看看到底应该怎么做。

记住一个序列模型模拟了任意特定单词序列的概率,我们要做的就是对这些概率分布进行采样来生成一个新的单词序列。

1.8 循环神经网络的梯度消失(Vanishing gradients with RNNs)

尽管我们一直在讨论梯度消失问题,但是,你应该记得我们在讲很深的神经网络时,我们也提到了梯度爆炸,我们在反向传播的时候,随着层数的增多,梯度不仅可能指数型的下降,也可能指数型的上升。事实上梯度消失在训练RNN时是首要的问题,尽管梯度爆炸也是会出现,但是梯度爆炸很明显,因为指数级大的梯度会让你的参数变得极其大,以至于你的网络参数崩溃。所以梯度爆炸很容易发现,因为参数会大到崩溃,你会看到很多NaN,或者不是数字的情况,这意味着你的网络计算出现了数值溢出。如果你发现了梯度爆炸的问题,一个解决方法就是用梯度修剪。梯度修剪的意思就是观察你的梯度向量,如果它大于某个阈值,缩放梯度向量,保证它不会太大,这就是通过一些最大值来修剪的方法。

1.9 GRU单元(Gated Recurrent Unit(GRU))

1.10 长短期记忆(LSTM(long short term memory)unit)

1.11 双向循环神经网络(Bidirectional RNN)
1.12 深层循环神经网络(Deep RNNs)

一、学习安排(11月28日-11月30日)
1.主要学习视频:

第九课:循环序列模型
C5M1 slides

二、作业上传事项
1.作业内容:
主要是总结所学习的视频和讲义内容
(提交形式,是以“汇报”形式汇报给助教(李凯旋),对于作业敷衍的直接视为下车)
2.作业提交日期
作业规定在11月30日24点之前,大家把握好时间,且12月1日晚上,助教会公布没有交作业者并令其下车;
@所有人

你可能感兴趣的:(吴恩达深度学习-神经网络基础(第10课:循环序列模型 ))