股票预测,自动翻译,你想要的它都能做——RNN算法探索之旅(3)

前面两期,我们了解了前馈神经网络、循环神经网络。

《股票预测,自动翻译,你想要的它都能做——RNN算法探索之旅(1)》

《股票预测,自动翻译,你想要的它都能做——RNN算法探索之旅(2)》

这一期,我们来学习循环神经网络的一种变体:长短期记忆,简称LSTM。

在正式学习之前,我们先来回忆下“什么是循环神经网络”?

所谓“循环”,是指数据本身带有时间先后顺序,即“每一条数据,都受到来自前面数据的影响”。

比如,股票价格:

聊天对话:

新闻内容:

故事发展情节:

这些数据,都带有时间先后顺序。

如果我们想处理这类数据,就需要使用到循环神经网络。

上节课我们讲到,循环神经网络的形态,类似于下图的样子:

如果,我们想预测一句话,比如:

我们想预测下面这句话中,每一个文字,其后面最有可能出现的第一个汉字是什么?

这样的问题,可以简单地描述为:

具体细节,请戳上期内容

从上图中我们能够看到,在中间的灰色链条上,被塞入了各式各样的“记忆”。事实上,在这根灰色链条上,存储了大量的信息。

这根“灰色”链条,我们可以视它为一根“记忆链条”。

如果将这根记忆链条,比喻成一条公路;将每一次的记忆,比作一辆车。

那么,在这条公路上,已经塞满了汽车:

如果,这根记忆链条很长、很长……

那么可以想象,在这条长长的公路上,会积压无数等待通行的车辆。

你或许能看清离你最近的,但却无法回望到整个队伍的尽头。

RNN算法也是一样,

在这根记忆链条上,存储了太多、太多“有用的”和“无用的”信息。

或许,它仍保留有最近一段时间的记忆,

但是,太过久远的记忆,已经记不清了。

所以,当你的数据比较有限时,使用RNN是一个不错的选择。

但如果你的数据时间周期很长,

例如:

你有100天的股票收盘数据,

你希望基于这100天的数据,

预测出第101天的收盘价格。

此时,如果你仍选用RNN算法,那么很有可能,

它并不能带来令你满意的结果。

因为,它实在记不住那么久远的信息了。

而此时能解决问题的,是LSTM。

什么是LSTM?

LSTM是RNN的一种变体

既然是变体,说明它的基本原理与RNN大体相同。

唯一的区别在于,

它比RNN多出了一条公路:

在这条多出的“公路”上,LSTM存储了更加简洁的信息。

就像你在图中看到的,左边的道路,忙忙碌碌;

右边的道路,清清净净。

对应LSTM算法,

忙忙碌碌的道路,即“第1根灰色链条”,依然是“隐藏层”,它用于做各种各样的记忆运算。

比如:

哪些记忆“有用”,我要留下;

哪些记忆“没用”,我要丢弃;

哪些输入带有新的信息,我要更新;

等等这些,都是在第1根灰色链条上来处理的,所以你看到它,一直在忙忙碌碌地工作。

而第2根灰色链条,学术上称为“细胞状态”,它用于存储“有用的”记忆。

那些“无用的”记忆,是不会出现在这根链条上的,所以你看到它,是干干净净、十分简洁的。

正因为有了这样一条“干净、简洁”的信息通道,LSTM能够记住更加久远的信息,即“在处理长期记忆的问题上,LSTM相较于RNN更胜一筹”

下面,我们来看一看,LSTM是如何“开通这样一条快速通道”的?

还是这张图,我们将其中一个隐藏层单元,放大来看:

将隐藏层单元放大后的效果为:

和RNN一样,这个单元依然受 Xt 和 ht-1 的影响。

其原因,请查阅上节课的学习内容,这里不再赘述。(传送到上节课)

与RNN不同的是,在这个单元上,多出了3个“阀门”:

刚刚我们已经讲了,整个单元受 [Xt,ht-1] 的影响。因而,这3个阀门同样也受 [Xt,ht-1] 的影响。

因而,在很多教材上,你会看到这样的公式:

其实,它们均在说明,3个阀门被 [Xt,ht-1] 影响着:

回过头来,我们仍然看这张图:

这3个阀门,分别代表:

忘记门: 忘记过去没用的记忆 输入门: 输入新的记忆 输出门: 输出当前时刻用得上的信息

耐心看完下面这张动图,LSTM的运行原理,你或许就清楚了。

我们将动图锁定在最后一时刻:

从上图我们能够看到,

右侧的灰色链条上,仅包含了有价值的信息,因而更加简洁。

也正因为多加了这根链条,使得LSTM比起RNN来,能够记住更加久远的信息。

到目前为止,我们没有涉及复杂的数学公式,但是LSTM的运行原理,你应该已经非常清晰了,就是上面这张动图,希望你能理解并记住它。

温馨提示:

为了方便理解,在本文“输入门”的位置上,只画出了一条线:

更多的时候,你会看到2条,一条决定添加哪些信息,一条决定添加多少。

这2条线的运算目的,就是为了向旧记忆中,添加有用的新记忆

作为初学者,你只要了解输入门的功能,就可以了。

结语

LSTM很难,希望这一期的内容,能够为你打开一扇大门。或许为了说清问题,文中所做的某些简化并不完美,但我仍希望它们能更好地帮助仍在学习LSTM原理的人们。

之前,为了搭建聊天机器人,我们已经将前期工作准备就绪

《keras教程:手把手教你做聊天机器人(上)》

下一期,我们就使用刚刚学到的LSTM,来搭建这台机器人的“语言中枢”,让它成为能和我们聊天的伴侣。

我们下期见~~

原文发布于微信公众号 - AI传送门(aiportal)

原文发表时间:2017-10-24

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

看可口可乐如何玩转TensorFlow

“ 随着人工智能的高速发展,开发者们对于能够应对产品多样化挑战的学习框架TensorFlow,也有着很高的热情。除了各类科技产品,零售行业也同样将TensorF...

226100
来自专栏数说工作室

手机里跑个 AI 模型 | 谷歌 Federated Learning 联盟学习

各位数据大咖,还记得自己的跑模型的心路历程么?我想大家都在经历着下面的一个或多个阶段: 论文答辩前夕,把自己敲进去的三千多条数据放进SAS中,哗的一下模型出来了...

51760
来自专栏IT派

Keras vs PyTorch:谁是「第一」深度学习框架?

值得一提的是,尽管在 4 月底 PyTorch 在 0.4 版本中已经加入了对于 Windows 的支持,但其对比 Keras 与 TensorFlow 在 W...

13520
来自专栏机器之心

从强化学习基本概念到Q学习的实现,打造自己的迷宫智能体

选自Medium 作者:Aneek Das 机器之心编译 参与:蒋思源 近年以来,强化学习在人工智能所充当的角色越来越重要了,很多研究机构和大学都将强化学习与深...

28770
来自专栏用户画像

浅析UGC视频去重算法

在以UGC(User Generated Content 用户原创内容)业务为主的视频网站中,每天都有大量的视频被上传。用户上传的视频有数量大、重复视频多的特点...

32240
来自专栏华章科技

为何你只能做出渣图表?数据可视化的十大误区

通过可视化信息,我们的大脑可以更有效地合成和保留信息内容,增强对信息的理解。但是如果不正确数据可视化,它可能弊大于利。错误的图表可以减少数据的信息,或者更糟的是...

10730
来自专栏AI科技大本营的专栏

知乎如何洞察你的真实喜好?首页信息流技术揭秘

信息爆炸时代,信息过载已经成为互联网核心问题之一,而通过AI、机器学习等技术过滤低质无用信息,推动有价值信息的生产和迭代,被视为一种有效解决方案。以知乎为例,这...

17100
来自专栏ATYUN订阅号

吉娃娃还是松饼?找到最好的计算机视觉API

下面这张在网上流传的图片展示了吉娃娃和松饼之间惊人的相似之处。这些图像通常在人工智能(AI)行业(包括我自己)的演示中共享。 ? 但有一个问题没有人回答过:在...

39090
来自专栏大数据文摘

上班族必备,日本小哥用深度学习开发识别老板的探测器(附源码)

19820
来自专栏CreateAMind

谷歌机器学习白皮书全解析 43条黄金法则

from http://3g.163.com/touch/article.html?docid=CBMPFGTL00098GJ5&qd=pc_adaptatio...

11430

扫码关注云+社区

领取腾讯云代金券