图解RNN

参考视频

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更为复杂的结果。

Paste_Image.png

训练 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 适合时间序列的数据,它的输出可以是一个序列值或者一序列的值。 所以说,如果要做分类或者回归的话,可以用前馈是神经网络,如果要预测的话,可以用循环神经网络。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习、深度学习

人脸检测--Faceness-Net: Face Detection through Deep Facial Part Responses

Faceness-Net: Face Detection through Deep Facial Part Responses PAMI2017 From...

3366
来自专栏数据小魔方

机器学习笔记——特征标准化

数据标准化是为了消除不同指标量纲的影响,方便指标之间的可比性,量纲差异会影响某些模型中距离计算的结果。

1073
来自专栏烂笔头

机器学习笔记—KNN算法

目录[-] 前言 分类(Classification)是数据挖掘领域中的一种重要技术,它从一组已分类的训练样本中发现分类模型,将这个分类模型应用到待分类的样...

52610
来自专栏AI研习社

如何用 Caffe 生成对抗样本?这篇文章告诉你一个更高效的算法

Fast Gradient Sign方法 先回顾一下《杂谈CNN:如何通过优化求解输入图像》中通过加噪音生成对抗样本的方法,出自Christian Szeg...

3103
来自专栏LhWorld哥陪你聊算法

【机器学习】--线性回归中soft-max从初始到应用

Soft-Max是做多分类的,本身是哪个类别的概率大,结果就为对应的类别。为什么称之为Soft判别,原因是归一化之后的概率选择最大的作为结果,而不是只根据分子。

1443
来自专栏算法channel

机器学习逻辑回归:算法兑现为python代码

0 回顾 昨天推送了逻辑回归的基本原理:从逻辑回归的目标任务,到二分类模型的构建,再到如何用梯度下降求出二分类模型的权重参数。今天,我们将对这个算法兑现为代码...

3505
来自专栏智能算法

SVM 的“核”武器

一、上一次我们讲到关于SVM通过拉格朗日乘子法去求解的部分,引入乘子 得到下面的式子: ? 我们令 ? 当所有的约束条件满足时,我们得到的 ? ,而之前的优...

3346
来自专栏技术小站

吴恩达深度学习笔记 course2 week3 超参数调试,Batch Norm,和程序框架

一般而言,在调试超参数的过程中,我们通常将学习率learning_rate看作是最重要的一个超参数,其次是动量梯度下降因子β(一般为0.9),隐藏层单元个数,m...

1392
来自专栏机器学习算法原理与实践

K近邻法(KNN)原理小结

    K近邻法(k-nearest neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用。比如,我们判断一个人的人品,...

1205
来自专栏深度学习

图像分类 | 深度学习PK传统机器学习

图像分类,顾名思义,是一个输入图像,输出对该图像内容分类的描述的问题。它是计算机视觉的核心,实际应用广泛。 图像分类的传统方法是特征描述及检测,这类传统方法可能...

4569

扫码关注云+社区