前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >直觉理解LSTM和GRU

直觉理解LSTM和GRU

作者头像
大数据技术与机器学习
发布2020-03-26 01:49:12
4360
发布2020-03-26 01:49:12
举报

Q

网上有很多对于LSTM以及GRU的介绍,主要从构造方面进行了进行了介绍。但是由于构造相对较复杂,而且涉及到的变量较多,往往不那么容易记住。下面我们从直觉的角度来对这两者进行介绍,方便理解和记忆。其中的更深刻的理论原理,可以参看相关的文章和论文。

LSTM

对于LSTM的经常被提到的一篇文章就是 理解LSTM 。我们也基于此进行介绍。

首先, LSTM最常见到的结构如下图:

每个矩形称之为一个Unit。每个Unit有两个输入和两个输出:C 和 h。其中, C是Unit或者Cell的信息。这个信息不仅仅包含本unit的信息,还包含了之前所有Unit的信息。这种包含不是全部的包含,而是有所取舍的。这种取舍体现在了该Unit以及其余Unit的构造当中。而h里面包含的,主要是重点用于当前unit的信息,当前这部分的信息会进行输出。也就是说,会影响输出的,主要就是这部分的信息。

C之间信息传递如图。在最上面的一层中,

主要有两步:丢弃一部分信息(对应乘号),加上一部分信息(对应加号)。这样就完成了上面一个Unit信息到本Unit信息的传递了。

那么要丢弃多少,就要由forget门来决定了:

这也是forget门的来历。通过学习,让forget门来学习究竟应该忘掉多少。

那么添加的信息来自哪一部分呢?来自

它分为了两部分:

一部分是生成新信息,也就是

但是这部分新生成的信息要把多少给

, 这个要由

输入门这部分来决定。

这样经过

之后,跟之前保留的信息相加,

的信息就完成了。

但是

还没有完成:还需要搞清楚, 在所有的信息

里面,哪些是我本Unit需要关注,并用于输出的。

这一部分就是:

这个也是分为了两部分:

一部分是根据

生成了信息,但是至于要多少, 让输出门

来决定吧。

GRU

在GRU里面,不再有C和h两部分,而是只用了h。

h同样有一个忘记一部分旧信息、添加一部分新信息的过程,如上面红线圈出的部分。这个忘记、添加跟LSTM有点不同:在LSTM中,忘记和添加的比例是学习来的,两者没什么相关;而在GRU中,这个比例是固定的:忘记了多少比例,那么新的信息就添加多少比例。这个由 (1-)来进行控制。

而新的信息的生成,是由下图中红色部分来标识的。

可以看出

作为update们,控制了忘记和输入。

而新的信息时怎么生成的呢?

由上图中可以看到,这部分是由

共同生成的。但是

并不是用了全部,而是用了一部分。至于这个“一部分”究竟是多少,这个由 reset门

来控制。

隐藏信息和输入信息决定了所有的“门”,通常一个sigmoid称之为一个门,它来控制信息的传递。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习入门与实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档