简述RNN Recurrent Neural Networks
本文结构:
什么是 Recurrent Neural Networks ?
Recurrent Neural Networks 的优点和应用?
训练 Recurrent Neural Networks 的问题?
如何解决?
何时用 RNN 何时用前馈网络呢?
什么是 Recurrent Neural Networks ?
普通的前馈神经网络模型,它的结构是信号以一个方向从输入走到输出,一次走一层。

在 RNN 中,前一时刻的输出会和下一时刻的输入一起传递下去。
可以把这个过程看成是一个随着时间推移的流。
在这里显示的是四个时间点,在t=1的时候,网络取到t=0的时候的输出,并且将它和下一个输入一起发送回给网络。

Recurrent Neural Networks 的优点和应用?
和前馈神经网络不同,RNN 可以接收一系列的数据作为输入,而且也可以返回一系列的值作为输出。这种可以处理序列化数据的功能,使得这个网络得以非常广泛的应用。
当输入是一个的时候,输出是一个序列的时候,这可以用于 image captioning (让计算机用一句话来描述这张图片)。

输入是一个序列,输出是1个数据的时候,这个模型可以被用来分类。

当输入是一个序列,输出也是一个序列的时候,可以用来对视频一帧一帧的分类。

当引入时间延迟的时候,就可以用于供应链计划里的需求预测。

当把几个RNN堆起来时,得到的这个新的网络就可以输出比单独一个RNN更为复杂的结果。

训练 Recurrent Neural Networks 的问题?
RNN 是很难被训练的,训练的时候也使用 Back Propagation,所以这也存在着梯度消失的问题,而且这个梯度消失的问题会是指数级别的。
原因就是,RNN的每个时间点,就相当于一个前馈神经网络的整个层,
所以训练100步的模型就相当于训练一个100层的前馈网络。
这就造成了随着时间的推移,梯度会以指数级的速度减小,进而造成信息的衰变。

如何解决?
有很多方式可以解决这个问题,其中之一就是 Gating。
这个技术的好处就是它可以决定,什么时候需要忘记当前的输入,什么时候需要记住它,以便将来的步骤里会用到它。
今天最流行的 Gating 就是 LSTM 和 GRU。
当然也有一些其他的方法 Gradient clipping, Better optimizer, Steeper Gates。

训练神经网络的时候用 GPU 要比用 CPU 好。
研究表明,用 GPU 训练会比 CPU 训练快250倍。(现在可能更快了)
这就是一天和八个月的区别。
何时用 RNN 何时用前馈网络呢?
前馈神经网络,它会输出一个数据,可以用来做分类或者回归。
RNN 适合时间序列的数据,它的输出可以是一个序列值或者一序列的值。
所以说,如果要做分类或者回归的话,可以用前馈是神经网络,如果要预测的话,可以用循环神经网络。
简述RNN Recurrent Neural Networks的更多相关文章
- 循环神经网络(RNN, Recurrent Neural Networks)介绍(转载)
循环神经网络(RNN, Recurrent Neural Networks)介绍 这篇文章很多内容是参考:http://www.wildml.com/2015/09/recurrent-neur ...
- 转:RNN(Recurrent Neural Networks)
RNN(Recurrent Neural Networks)公式推导和实现 http://x-algo.cn/index.php/2016/04/25/rnn-recurrent-neural-net ...
- RNN(Recurrent Neural Networks)公式推导和实现
RNN(Recurrent Neural Networks)公式推导和实现 http://x-algo.cn/index.php/2016/04/25/rnn-recurrent-neural-net ...
- 循环神经网络(RNN, Recurrent Neural Networks)介绍
原文地址: http://blog.csdn.net/heyongluoyao8/article/details/48636251# 循环神经网络(RNN, Recurrent Neural Netw ...
- 《转》循环神经网络(RNN, Recurrent Neural Networks)学习笔记:基础理论
转自 http://blog.csdn.net/xingzhedai/article/details/53144126 更多参考:http://blog.csdn.net/mafeiyu80/arti ...
- 循环神经网络(RNN, Recurrent Neural Networks)——无非引入了环,解决时间序列问题
摘自:http://blog.csdn.net/heyongluoyao8/article/details/48636251 不同于传统的FNNs(Feed-forward Neural Networ ...
- 循环神经网络(Recurrent Neural Networks, RNN)介绍
目录 1 什么是RNNs 2 RNNs能干什么 2.1 语言模型与文本生成Language Modeling and Generating Text 2.2 机器翻译Machine Translati ...
- The Unreasonable Effectiveness of Recurrent Neural Networks (RNN)
http://karpathy.github.io/2015/05/21/rnn-effectiveness/ There’s something magical about Recurrent Ne ...
- Attention and Augmented Recurrent Neural Networks
Attention and Augmented Recurrent Neural Networks CHRIS OLAHGoogle Brain SHAN CARTERGoogle Brain Sep ...
随机推荐
- spring cloud(一) 副 consul
spring cloud 使用consul作为注册中心 1.安装consul 使用docker安装 查找consul镜像 docker search consul 下载镜像 docker pull c ...
- Javaee 内部引用
1.final修饰类,修饰方法,修饰变量有什么特点? final修饰的类不能被继承太监类,可以被继承使用但不能修改,如果父类没有final修饰的方法子类可以添加上,成员变量需要在建类前被赋值且不能改动 ...
- LSTM比较RNN
LSTM只能避免RNN的梯度消失(gradient vanishing),但是不能对抗梯度爆炸问题(Exploding Gradient). 梯度膨胀(gradient explosion)不是个严重 ...
- 路飞学城Python-Day113
107-HTTP协议的无状态保存 什么是无状态保存? HTTP无状态请求就是客户端每次发送的请求都是单独的新请求,每一次请求都是独立的,这样的特点在网站上就是服务器登录的时候记录浏览器的信息,建立 ...
- CSS - 内联元素span 强制换行失败的可能原因
在CSS中,标签span 强制换行失败:(使用display:block) 可能原因:float:left or float:right
- Codeforces 787B Not Afraid( 水 )
链接:传送门 题意:判断 m 组数,如果某一组中出现负数就判断这一组中是否存在与之相反的数,如果每一组中都满足要求则输出 "NO" 反之输出 "YES" 思路: ...
- mysql数据库增量恢复
mysqldump -uroot -p -B discuzx -F -x --master-data=2 --events|gzip >/root/discuzx.sql.gz 写入数据 删除数 ...
- 【hdu 6444】Neko's loop
[链接] 我是链接,点我呀:) [题意] 给你一个序列. 你可以选择起点i. 然后每次往右跳k次. 得到下一个值a[i+k];. 问你跳m次能得到的最大值ma是多少. 如果>=s输出0 否则输出 ...
- 【hdu 6333】Harvest of Apples
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 假设T[i][j]表示的是杨辉三角第i层前j项的和. 会发现它同样满足杨辉三角的性质. 即 T[i][j] = T[i-1][j-1 ...
- c#远程链接服务器中MySQL
转自原文 c#远程链接服务器中MySQL 1.要连接MySQL数据库必须首先下载mysql官方的连接.net的文件,文件下载地址为http://dev.mysql.com/downloads/conn ...