⻓短期记忆LSTM

目录

  • 1. 什么是LSTM
  • 2. 输⼊⻔、遗忘⻔和输出⻔
  • 3. 候选记忆细胞
  • 4. 记忆细胞
  • 5. 隐藏状态
  • 6. LSTM与GRU的区别
  • 7. LSTM可以使用别的激活函数吗?
  • 8. 代码实现
  • 9. 参考文献

1. 什么是LSTM

在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的真实含义。我们不会将所有的东西都全部丢弃,然后用空白的大脑进行思考。我们的思想拥有持久性。LSTM就是具备了这一特性。

这篇将介绍另⼀种常⽤的⻔控循环神经⽹络:**⻓短期记忆(long short-term memory,LSTM)[1]。**它⽐⻔控循环单元的结构稍微复杂⼀点,也是为了解决在RNN网络中梯度衰减的问题,是GRU的一种扩展。

可以先理解GRU的过程,在来理解LSTM会容易许多,链接地址:

门控循环单元(GRU)

LSTM 中引⼊了3个⻔,即输⼊⻔(input gate)、遗忘⻔(forget gate)和输出⻔(output gate),以及与隐藏状态形状相同的记忆细胞(某些⽂献把记忆细胞当成⼀种特殊的隐藏状态),从而记录额外的信息。

2. 输⼊⻔、遗忘⻔和输出⻔

与⻔控循环单元中的重置⻔和更新⻔⼀样,⻓短期记忆的⻔的输⼊均为当前时间步输⼊Xt与上⼀时间步隐藏状态Ht−1,输出由激活函数为sigmoid函数的全连接层计算得到。如此⼀来,这3个⻔元素的值域均为[0, 1]。如下图所示:

6. LSTM与GRU的区别

LSTM与GRU二者结构十分相似,不同在于:

  1. 新的记忆都是根据之前状态及输入进行计算,但是GRU中有一个重置门控制之前状态的进入量,而在LSTM里没有类似门;
  2. 产生新的状态方式不同,LSTM有两个不同的门,分别是遗忘门(forget gate)和输入门(input gate),而GRU只有一种更新门(update gate);
  3. LSTM对新产生的状态可以通过输出门(output gate)进行调节,而GRU对输出无任何调节。
  4. GRU的优点是这是个更加简单的模型,所以更容易创建一个更大的网络,而且它只有两个门,在计算性上也运行得更快,然后它可以扩大模型的规模。
  5. LSTM更加强大和灵活,因为它有三个门而不是两个。

7. LSTM可以使用别的激活函数吗?

关于激活函数的选取,在LSTM中,遗忘门、输入门和输出门使用Sigmoid函数作为激活函数;在生成候选记忆时,使用双曲正切函数Tanh作为激活函数。

值得注意的是,这两个激活函数都是饱和的,也就是说在输入达到一定值的情况下,输出就不会发生明显变化了。如果是用非饱和的激活函数,例如ReLU,那么将难以实现门控的效果。

Sigmoid函数的输出在0~1之间,符合门控的物理定义。且当输入较大或较小时,其输出会非常接近1或0,从而保证该门开或关。在生成候选记忆时,使用Tanh函数,是因为其输出在−1~1之间,这与大多数场景下特征分布是0中心的吻合。此外,Tanh函数在输入为0附近相比Sigmoid函数有更大的梯度,通常使模型收敛更快。

激活函数的选择也不是一成不变的,但要选择合理的激活函数。

8. 代码实现

本文分享自微信公众号 - 机器学习入门与实战(datanlp)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-16

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 迁移学习

    迁移学习(Transfer Learning)是一种机器学习方法,就是把为任务 A 开发的模型作为初始点,重新使用在为任务 B 开发模型的过程中。迁移学习是通过...

    大数据技术与机器学习
  • 基于依存句法分析的关键短语抽取算法实战

    由于最近在做一些无监督的关键词短语(实体)抽取工作,其实最大的背景还是没有标注好的实体识别训练数据;所以想到采用无监督的关键短语抽取算法折中去抽取一些实体,于是...

    大数据技术与机器学习
  • 神经网络,激活函数,反向传播

    我们以房价预测的案例来说明一下,把房屋的面积作为神经网络的输入(我们称之为?),通过一个节点(一个小圆圈),最终输出了价格(我们用?表示)。其实这个小圆圈就是一...

    大数据技术与机器学习
  • 学界 | Nested LSTM:一种能处理更长期信息的新型LSTM扩展

    机器之心
  • 学界 | 神奇!只有遗忘门的LSTM性能优于标准LSTM

    选自arXiv 作者:Jos van der Westhuizen、Joan Lasenby 机器之心编译 参与:Pedro、路 本论文研究 LSTM 只有遗忘...

    机器之心
  • 理解LSTM网络

    人类不会每时每刻都从头开始重新思考,就像你阅读这篇文章时,你会根据对上文的理解来推断每个词语的意思,而不是抛弃一切从零开始思考。换而言之,你的思想具有持久性。

    人工智能资讯小编
  • [译] 理解 LSTM 网络

    用户1107453
  • 如果你还没搞懂LSTM 网络,那本文绝对值得一看

    本文作者Christopher Olah是Google Brain的研究科学家,她在文中图文并茂地解释了什么是LSTM网络,为什么要用LSTM网络,以及LSTM...

    AI科技大本营
  • 理解 LSTM 网络

    用户1737318
  • Scala语法笔记

    JAVA中,举例你S是一个字符串,那么s(i)就是该字符串的第i个字符(s.charAt(i)).Scala中使用apply的方法

    用户3003813

扫码关注云+社区

领取腾讯云代金券