ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

循环神经网络(Recurrent Neural Network)讲解学习

2020-07-01 11:51:33  阅读:392  来源: 互联网

标签:www RNN Neural 梯度 Recurrent BPTT 神经网络 输入 Network


先来看一个例子:

 

 

之前的全连接神经网络的结构:它的隐藏层的值只取决于输入的 x:

 

该结构对于上面问题只能做如下预测:

比如:可以预测:花开时——>跑得快

 

 由此可见:通过简单的神经网络(单层的前馈神经网络)无法解决该三个问题,需要用关联的神经网络来解决。

RNN:Motivation:需要前馈信息。

当前输入+之前输入+后面的信息

 RNN 的隐藏层的值h不仅仅取决于当前这次的输入 x,还取决于上一次隐藏层的值h,其结构图如下:

 

 

 

 

 

 

 

 看一个计算的例子:

 

 

 

 

RNN的图解:对应多个输出

 

 

 举一个预测的例子:

 

 

 

 

 

 

 

 

 # 多个层的RNN结构:

 

 

 

 

 

 

 

 #RNN存在的问题:

序列比较长的关联难以预测,难以抓住太长的关联。

 

 

 

 

 

 

 

 # 梯度消失与梯度爆炸

当序列很长的时候,RNN梯度往回传每一步都要经过Whh,特别是计算h0的梯度,需要经过N个Whh和N个重复的tanh函数,因此在这种情况下,当设置的值大于1,则会产生N个Whh相乘的情况,导致whh的N次方值越来越大,最后梯度爆炸。当设置的值小于1,则会产生梯度消失(改变网络的结构,LSTM解决)。

RNN 的训练算法为:BPTT

BPTT 的基本原理和 BP 算法是一样的,同样是三步:

(1)前向计算每个神经元的输出值;

(2)反向计算每个神经元的误差项值,它是误差函数E对神经元j的加权输入的偏导数;

(3)计算每个权重的梯度。

最后再用随机梯度下降算法更新权重。

BPTT手写推导:http://www.jianshu.com/p/9e217cfd8a49

 

 

参考链接:

详解循环神经网络(Recurrent Neural Network)

https://www.cnblogs.com/codehome/p/9729909.html

(上海交大许志钦)统计计算与机器学习5: 循环神经网络RNN

https://www.bilibili.com/video/BV1HE411c7yn?p=2

 

 

 

 

 

 

 

 

 

 

 

 

 

之前的全连接神经网络的结构:

它的隐藏层的值只取决于输入的 x:

 

 

比如:可以预测:花开时跑得快

标签:www,RNN,Neural,梯度,Recurrent,BPTT,神经网络,输入,Network
来源: https://www.cnblogs.com/gcter/p/13218396.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有