Cruise007
论坛版主
论坛版主
  • 最后登录2021-03-06
  • 发帖数117
  • 金币5122枚
  • 贡献勋章0枚
  • 原创写手
  • 喜欢达人
  • 社区居民
  • 忠实会员
阅读:234回复:4

LSTM详解

楼主#
更多 发布于:2021-02-20 19:25

一、循环神经网络
       人类针对每个问题的思考,一般不会是完全的从头开始思考。正如当你阅读这篇技术文档的时候,你会根据已经阅读过的内容来对后面的内容进行理解,你不会把之前的东西都丢掉从头进行思考,你对内容的理解是贯穿的。传统的神经网络做不到这一点,而这似乎是一个主要的缺点。 例如,假设您想对电影中的每个事件进行分类。我们无法想象传统神经网络如何能够利用前面的场景去干预后面的预测。幸好循环神经网络解决了这个问题, 它们是具有循环的网络,允许信息持续存在,示意图如下。

图片:1-1.PNG

在上图中,一组神经网络 A接收某些输入xt,并输出一个值ht。 循环允许信息从网络的一个步骤传递到下一个。
这些循环使得循环神经网络看起来很神秘。 然而,如果你再多考虑一下,你就会发现其实它和传统的神经网络并不是完全不同。 一个循环神经网络可以被认为是同一个网络的多个副本,每一个都传递一个消息给后继者。 我们考虑一下如果将循环展开会发生什么:(示意如下)

图片:1-2.PNG


这种链状特征揭示了循环神经网络与序列和列表密切相关。 它们是用于此类数据的自然神经网络结构。他们肯定是有用的! 在过去的几年里,RNN应在语音识别、语言建模、翻译,图像字幕等各种问题上取得了巨大成功。在论文The Unreasonable Effectiveness of Recurrent Neural Networks中讨论了RNN取得的惊人成果,他们真的很神奇。这些成功的案例的共同点就是都是用了LSTM,这是一种非常特殊的循环神经网络,对于许多任务来说,它们比基准版本好的多。 几乎所有令人兴奋的结果都是基于循环神经网络实现的,这篇文章将探讨这些LSTM,带你解开LSTM的神秘面纱。

二、长依赖存在的问题
RNN显著的魅力是将以前的信息连接到当前任务的这种思路,例如使用先前的视频帧可以有助于对当前帧的理解。 如果RNN可以做到这一点,这将非常有用。 但他可以吗?这要看情况。
有时,为了处理当前的任务,我们只需要查看最近的信息。 例如,考虑一种语言模型,该模型根据前面的词语来预测下一个单词。 如果我们试图预测““the clouds are in the sky”的最后一个单词,我们不需要任何其他的语境信息——下一个单词显然是sky。 在相关信息和需要该信息的距离较近的时候,RNN能够学会去利用历史信息。

图片:1-3.PNG

但也有需要更多上下文的情况。 考虑尝试预测文本中的最后一个单词“I grew up in France… I speak fluent French.”。最近的信息表明,下一个单词可能是一种语言的名称,但如果我们想缩范围确定那种语言,我们需要从前面获取法国的背景。 相关信息和需要该信息的地方的距离变得非常大的情况是很可能的。
不幸的是,随着距离的增加,RNN无法有效的利用历史信息。

图片:1-4.PNG


在理论上,RNN绝对有能力处理这样的“长依赖”问题。人们可以仔细挑选参数来解决这种形式的问题。 可悲的是,在实践中,RNN似乎无法学习到这些特征。HochreiterBengio,曾经深入的研究过这个问题,他们发现一些根本性的原因,能够解释RNN为什么不work。谢天谢地,LSTM没有这个问题!

三、LSTM Networks

长短记忆神经网络——通常称作LSTM,是一种特殊的RNN,能够学习长的依赖关系。 他们由Hochreiter引入,并被许多人进行了改进和普及。他们在各种各样的问题上工作的非常好,现在被广泛使用。LSTM是为了避免长依赖问题而精心设计的。 记住较长的历史信息实际上是他们的默认行为,而不是他们努力学习的东西。
所有循环神经网络都具有神经网络的重复模块链的形式。 在标准的RNN中,该重复模块将具有非常简单的结构,例如单个tanh层。

图片:1-5.PNG

LSTM也拥有这种链状结构,但是重复模块则拥有不同的结构。与神经网络的简单的一层相比,LSTM拥有四层,这四层以特殊的方式进行交互。

图片:1-6.PNG


不要过早担心细节问题, 稍后我们将一步一步地剖析LSTM。 现在,让我们先熟悉一下我们将要使用的符号。

图片:1-7.PNG


在上图中,每一行都带有一个向量,该向量从一个节点输出到其他节点的输入。 粉红色圆圈表示点向运算,如向量加法、点乘,而黄色框是学习神经网络层。 线的合并表示连接,而线的交叉表示其内容正在复制,副本将转到不同的位置。


四、LSTM背后的核心理念

LSTM的关键是细胞状态,表示细胞状态的这条线水平的穿过图的顶部。细胞的状态类似于输送带,细胞的状态在整个链上运行,只有一些小的线性操作作用其上,信息很容易保持不变的流过整个链。

图片:1-8.PNG


LSTM确实具有删除或添加信息到细胞状态的能力,这个能力是由被称为门(Gate)的结构所赋予的。门(Gate)是一种可选地让信息通过的方式。 它由一个Sigmoid神经网络层和一个点乘法运算组成。

图片:1-9.PNG

Sigmoid神经网络层输出0和1之间的数字,这个数字描述每个组件有多少信息可以通过, 0表示不通过任何信息,1表示全部通过。LSTM有三个门,用于保护和控制细胞的状态。

五、一步步的拆解LSTM
此帖售价 10 金币,已有 4 人购买 [记录] [购买]
此段为出售的内容,购买后显示

七、结论

此前,我提到人们通过RNN实现了显着的成果。 基本上所有这些都是使用LSTM实现的。 对于大多数任务而言LSTM很有效。一般介绍LSTM的文章大部分会写一大组方程式,这使得LSTM看起来很吓人。 希望通过这篇文章的逐步讲解,帮助读者更好的理解LSTM。LSTM是我们使用RNN的一个巨大进步。 很自然的想法:更大的进步吗? 研究人员的共同观点是——有,那就是注意力模型。这个想法是让RNN的每一步挑选信息的过程都参照上层的主题信息,关于Attention模型后面我会再进行详尽的描述,这里不再讨论。希望通过本文让想了解和使用LSTM的人能够了解其工作原理,能更好的使用,不被大量的数学公式和推导所阻碍。
喜欢2

最新打赏:0人

努力到无能为力,拼搏到感动自己
小天很亮眼
助理工程师
助理工程师
  • 最后登录2021-03-02
  • 发帖数545
  • 金币1924枚
  • 贡献勋章0枚
  • 忠实会员
  • 社区居民
沙发#
发布于:2021-02-22 09:29
学习了,LSTM以前只听过,现在可以了解一下了
peakz
技术员
技术员
  • 最后登录2021-03-04
  • 发帖数243
  • 金币840枚
  • 贡献勋章0枚
  • 忠实会员
  • 社区居民
板凳#
发布于:2021-02-22 10:01
楼主对LSTM的阐述如庖丁解牛,令人醍醐灌顶!
cwhcwh
技术员
技术员
  • 最后登录2021-03-03
  • 发帖数548
  • 金币313枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
地板#
发布于:2021-02-22 12:51
学习下,谢谢分享..
wwusq
高级工程师
高级工程师
  • 最后登录2021-03-01
  • 发帖数823
  • 金币4205枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
4楼#
发布于:2021-02-22 17:17
讲的很详细,学习下,谢谢分享..
游客

返回顶部
支付

欢迎打赏,请选择打赏金额

  • 1元
  • 6元
  • 10元
  • 66元
  • 100元

支付即代表同意《本站支付协议》 有疑问请联系客服