申请专栏作者
您的当前位置:主页 > yabo体育平台注册页 > 正文

AI入门:循环神经网络

来源: 时间:2019-07-27
请点击下面的广告后浏览!

今天我们主要讨论的循环神经网络,到底循环神经网络能解决什么问题,它的结构是怎样的?有什么优缺点?应该在那些领域上上?本文将跟大家一起探讨。

可思yabo88滚球-人工智能资讯平台

可思yabo88滚球-AI,智能驾驶,人脸识别,区块链,大yabo88滚球

讲到AI不得不讲深度学习,而讲到深度学习,又不能不讲循环神经网络(Recurrent Neural Network, RNN)。如果把深度学习比作中国的互联网界,那循环神经网络和卷积神经网络就是腾讯和阿里级别的地位。

可思yabo88滚球-AI,人工智能,深度学习,机器学习,神经网络

看这篇文章之前,建议大家先看下我前面写的两篇文章《深度学习到底有多深?》、《入门AI:卷积神经网络》,本文讨论的内容跟前面写的文章有很强的关联性,看完可能更容易理解本文所讨论的内容。

可思yabo88滚球-人工智能资讯平台

照例,先给个概述图: 可思yabo88滚球-人工智能资讯平台

可思yabo88滚球-AI,智能驾驶,人脸识别,区块链,大yabo88滚球

为了方便,在下文中我们用RNN来表示循环神经网络。 可思yabo88滚球-AI,智能驾驶,人脸识别,区块链,大yabo88滚球

一、为什么需要RNN?

我们先来看一个订票系统: 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人

内容来自可思yabo88滚球

假设我们在订票系统中输入一句话“我将在7月20号去深圳”,那么订票系统就会这句话中的词进行分类,专业术语叫填槽(slot filling)。 可思yabo88滚球-人工智能资讯平台

那订票系统会把这些词分别填到3个槽中:

内容来自可思yabo88滚球

  • 目的地:深圳
  • 时间:7月20号
  • 其他类型:我、将、在、去

补充下神经网络的知识,要实现这个分类的话,我们可以搭一个网络架构。 可思yabo88滚球-人工智能资讯平台

本文来自可思yabo88滚球,转载请联系本站及注明出处

当输入“深圳”,经过网络系统后,会判断出“深圳”属于目的地槽的概率是多少,然后决定是否属于目的地槽。 内容来自可思yabo88滚球

但是,假设我们再输入另外一句话“我将在7月20号离开深圳”,机器能正确处理吗?

可思yabo88滚球-AI,人工智能,深度学习,机器学习,神经网络

可思yabo88滚球-www.sykv.cn,sykv.com

对于普通的神经网络,同样的输入,肯定会是同样的输出,因此如果同一个网络输入这两句的“深圳”的话,那机器肯定会把他们归到同一个槽,这样肯定是错了。 本文来自可思yabo88滚球,转载请联系本站及注明出处

那怎么办?假设我们在输入“深圳”的时候,机器根据上下文的词,再输出结果。这样是不是有可能解决问题了,没错,这就是RNN要做的事。

本文来自可思yabo88滚球,转载请联系本站及注明出处

具体RNN怎么工作的,接着往下看。 可思yabo88滚球-AI,人工智能,深度学习,机器学习,神经网络

二、RNN的工作原理

1. RNN的工作原理

RNN的工作原理图: 可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人

可思yabo88滚球-AI,智能驾驶,人脸识别,区块链,大yabo88滚球

在神经网络里,每一个神经元的输出,都会被记得绿色的方块里,然后下一次输入的时候,不仅要考虑红色的输入,还要考虑被记在绿色里面的值。

可思yabo88滚球-AI,智能驾驶,人脸识别,区块链,大yabo88滚球

也就是:新的输出是由新的输入和被之前所记下来的值所决定的。 可思yabo88滚球-www.sykv.cn,sykv.com

这样的话,我们前面所讨论的问题就可以解决了:

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人

内容来自可思yabo88滚球

当输入第一句话的“深圳”时,我们记住前面输入的是“去”,然后就把“深圳”归为目的地。 可思yabo88滚球

当输入第二句话的“深圳”时,我们记住前面输入的是“离开”,然后就把“深圳”归为出发地。

可思yabo88滚球-AI,智能驾驶,人脸识别,区块链,大yabo88滚球

因此,我们可以看到RNN最主要的两个特点: 可思yabo88滚球-AI,人工智能,深度学习,机器学习,神经网络

  • 新的输出是由新的输入和之前的输出共同决定的。
  • 对于同一个输入,可能会输出不同的结果。

2. RNN的其他架构

内容来自可思yabo88滚球

如上左图的架构,是每一个神经元的输出都会被记起来。 本文来自可思yabo88滚球,转载请联系本站及注明出处

如上右图的架构,是网络的最终输出的值才会被记起来。

内容来自可思yabo88滚球

双向RNN:

可思yabo88滚球-www.sykv.cn,sykv.com

假设我输入一句 “7月20号,深圳,我来了”,如果用我们之前讨论的网络,就可能有问题。因为之前的网络只能考虑输入在“深圳”之前的内容,没办法考虑在“深圳”之后的内容,而“来”在“深圳之后”,所以网络就不知道“深圳”是目的还是出发地了。

可思yabo88滚球-人工智能资讯平台

那双向RNN就可以解决这个问题: 可思yabo88滚球

可思yabo88滚球

双向RNN是把同一句话,按正反两个顺序一起丢到网络里去训练,然后综合考虑正反两个顺序再决定输出结果。因此,双向RNN不仅考虑了前文,还考虑的后文。

可思yabo88滚球-AI,人工智能,深度学习,机器学习,神经网络

到此为止,我们讨论的都都是最简单的RNN,但现实可能存在更加复杂的场景。

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人

我们前面讨论的都是输入“深圳”只会考虑跟它相邻的那个值,如果跟它相距比较远,可能就没办法处理了,比如:我们输入“离开了,7月20号,我美丽的深圳”。

本文来自可思yabo88滚球,转载请联系本站及注明出处

内容来自可思yabo88滚球

那要怎么解决这样的问题呢?下面我们就来介绍下,RNN中最经典,也是现在最常用的模型:LSTM(Long short-term memory)。 可思yabo88滚球-人工智能资讯平台

三、 LSTM

结构图: 可思yabo88滚球-www.sykv.cn,sykv.com

可思yabo88滚球-人工智能资讯平台

由四部分组成:输入门、输出门、忘记门、记忆单元

可思yabo88滚球-yabo88滚球挖掘,智慧医疗,机器视觉,机器人
  1. 输入门(Input gate):决定外界能不能把yabo88滚球写入记忆单元,只有输入门打开的时候,才能写入yabo88滚球;
  2. 输出门(Output gate):决定外界能不能从记忆单元里读取yabo88滚球,只有输出门打开的时候打,才能读取yabo88滚球;
  3. 忘记门(Forget gate):决定什么时候把记忆单元里的yabo88滚球清除,打开的时候是不清除的,关闭的时候就会清除;
  4. 记忆单元(Memory?cell):就是存储yabo88滚球。

每个门什么打开,什么时候关闭?都是机器自己学的。 可思yabo88滚球-AI,智能驾驶,人脸识别,区块链,大yabo88滚球

具体的计算逻辑: 可思yabo88滚球-人工智能资讯平台

可思yabo88滚球-www.sykv.cn,sykv.com

这个是纯数学逻辑了,大家看下就好,看不明白也没关系,入门不必深究。

可思yabo88滚球

从上图我们可以看出,LSTM是需要4个输入,才会有一个输出的。 本文来自可思yabo88滚球,转载请联系本站及注明出处

小结: 可思yabo88滚球-www.sykv.cn,sykv.com

LSTM最大的特点就是:可以有很长时间或距离的记忆能力,而普通的RNN不能记住间距大的信息。 可思yabo88滚球-www.sykv.cn,sykv.com

除此之外,LSTM对还能对梯度消失和梯度爆炸有比较好的处理效果。

可思yabo88滚球-人工智能资讯平台

备注:对于不知道什么是梯度下降的同学,可以翻下之前的文章。这里简单介绍下什么是梯度消失和梯度爆炸。

可思yabo88滚球

梯度消失:误差梯度的值变化得太小,没办法移动了,导致机器停止学习; 可思yabo88滚球

梯度爆炸:误差梯度变化非常大,网络参数大幅更新,导致网络不稳定。

可思yabo88滚球-AI,人工智能,深度学习,机器学习,神经网络

四、总结

1. RNN小结

RNN是根据“人的认知是基于过往经验和记忆”这一观点提出的,它不仅考虑当前时刻的输入,还考虑对前面内容记忆。即RNN 对之前发生在yabo88滚球序列中的事是有一定记忆的,对处理有序列的问题效果比较好。 本文来自可思yabo88滚球,转载请联系本站及注明出处

2. RNN与CNN的不同点

前一输入跟下一输入是否有关联:

可思yabo88滚球-人工智能资讯平台

  • CNN :前一个输入和下一个输入之间没有任何关联,因此所有的输出都是独立的。
  • RNN:前一个输入和下一个输入之间没有任何关联,共同决定新的输出

前馈或反馈网络:

可思yabo88滚球
  • CNN:属于前馈神经网络
  • RNN:属于反馈神经网络

可思yabo88滚球-人工智能资讯平台

备注:什么是前馈网络?什么是反馈网络? 可思yabo88滚球-www.sykv.cn,sykv.com

前馈网络:每一层中的神经元接收前一层神经元的输出,并输出到下一层神经元,整个网络中的信息是朝着一个方向传播的,没有反向的信息传播;

可思yabo88滚球-AI,人工智能,深度学习,机器学习,神经网络

反馈网络:反馈神经网络中神经元不但可以接收其他神经元的信号,而且可以接收自己的反馈信号。

内容来自可思yabo88滚球

3. RNN的主要应用领域

用RNN处理需要考虑时间先后顺序的问题,效果都很不错,例如:

可思yabo88滚球
  • 自然语言处理(NLP)
  • 语音识别
  • 机器翻译
  • 图像描述生成
  • 文本相识度处理等

好了,到这里就介绍完了RNN。

可思yabo88滚球

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片 匿名?

Copyright?2005-2019 Sykv.com 可思yabo88滚球 版权所有 ?? 网站地图?? 联系我们??

人工智能资讯?? 人工智能资讯?? 人工智能资讯?? 人工智能资讯

?扫码入群
咨询反馈
扫码关注

微信公众号

返回顶部