RNN学习笔记

来源:互联网 发布:mplayerx mac 下载 编辑:程序博客网 时间:2024/06/01 07:17

RNN学习笔记

参考cs224d Lecture 7:Recurrent Neural Networks

RNN

RNN层数

RNN不是单隐层的神经网络,对于xt1来说,其到输出yt+1经过了3个隐层。仅对于xt1yt+1来说,当去掉其它的xy,可以看作是原始的有3个隐层的神经网络。需要注意的是MLP中每个结点代表一个标量数据,而RNN中的xt1代表向量。

对RNN记忆前面层信息的理解

以序列标注为例,与原始MLP不同,RNN对每个序列中的每个x向量区分处理,与当前时刻向量xt越远的向量,乘以的参数矩阵W越多,对当前的输出影响越小。另外由于反向传播过程中运用链式法则求导,这种关系导致梯度成指数变化,可能极大或极小,会影响梯度下降。

输入输出意义

在该实例中,每个输入的x是对应词的词向量,而输出的y是维度为词典长的向量,每一维表示当前位置取词典中对应词的概率。

损失函数

损失函数定义为Jt(θ)=|V|j=1yt,jlogy^t,j。其中y^t,j表示模型输出的预测向量y中第j维,即在当前位置出现词表中第j个词的概率。yt,j可以理解为one hot 的表示形式,其中的1对应训练样本中出现在该位置的正确的词,其它维都是0。

最大似然估计

最大似然估计是频率学派中用于优化参数的方法。频率学派认为对于一个给定问题,参数是确定的,而我们观测到的样本是随机变量。(贝叶斯学派相反,认为样本确定,参数是随机变量。)最大似然估计是通过调整参数,使得给定对应参数情况下观测到的样本出现的概率最大,从而求得最优化参数的方法。其中的似然(likelihood)指在给定参数和特征的情况下,观测到样本出现的概率。
严格来说是使得在经验分布的时候观测到样本出现概率最大,使得我们假设的模型逼近经验分布,而当样本所取数目足够多的时候,经验分布就会逼近实际分布。这里经验分布指的是样本集合中的分布。
最大似然的公式为:

argmaxθ(p(y|x;θ))
对其取对数不影响argmax
argmaxθ(logp(y|x;θ))
在实际应用中,可能有些x在训练集中会出现很多次,为了加速计算,可以使用期望的形式:
argmaxθ(p^(y|x)logp(y|x;θ)
注意这里两个求和符号意义不同,第一个是对每一个样本求和,第二个是对每一个样本类求和。其中p^表示经验分布,即样本集合中出现该样本的概率,也可以说是给定x输出为y这类样本占样本总数的比例。

以上内容均为个人理解,如有疏漏,敬请指正!

0 0