码迷,mamicode.com
首页 > 其他好文 > 详细

RNN学习(一)

时间:2019-01-07 00:22:05      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:ati   ext   关系   理解   center   记忆   隐藏   权重   参数形式   

在DNN中,当前输出层的值只和当前输入值有关系。如果当前输出值不仅依赖当前输入值,也依赖于前面时刻的输入值,那么DNN就不适用了。因此也就有了RNN。

 

 

一、RNN结构

技术分享图片

 

其中Xt是t时刻的输入,S是隐藏层。Ot是t时刻的输出。隐藏层St是由前t-1个时刻的隐藏层叠加而成的。把St也可以理解为前t时刻x的记忆叠加而成的隐藏层。

 

二、RNN的前向传播

1、记

技术分享图片

其中σs为激活函数。W是隐藏层S上的权重,如上式所示,作用跟输入一起来迭代S。

 

2、

技术分享图片

其中σt为激活函数

ot为t时刻的输出也是叠加了了t-1之前时刻输入的输出

U为输入层的权重

V为隐藏层到输出层的权重

 

三、 RNN的反向传播(BPTT,back-propagation through time)

为了学习,假设σs为tanh函数,σt为softmax函数。

求参的过程还是和大多数学过的模型求参一样,列出损失函数,例如MSE,交叉熵等,然后用最大似然估计求参数形式,再用SGD随机梯度下降求解。

这里面需要求U、W、V。

1、

技术分享图片

2、

技术分享图片

3、损失函数,在图中,在unfold里面,由于每一点都有一个o,因此每一点都有一个损失。因此总的损失就是每一点损失之和。

技术分享图片

4、记

技术分享图片

oh为模型输出值,没有上标h的o为真实值。

5、对V求导

技术分享图片

6、对W求导。

(1)

技术分享图片

(2)

技术分享图片

(3)由于

技术分享图片

(4)为了解下计算过程,简单起见,设i=2

技术分享图片

以次类推。

7、对U求导

(1)

技术分享图片

(2)

 

技术分享图片

8、有了每个参数的梯度,然后利用SGD可以更新参数了。

 

 

 

RNN学习(一)

标签:ati   ext   关系   理解   center   记忆   隐藏   权重   参数形式   

原文地址:https://www.cnblogs.com/ylxn/p/10229491.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!