前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

LSTM

作者头像
mathor
发布2020-02-14 17:38:32
8270
发布2020-02-14 17:38:32
举报
文章被收录于专栏:mathormathor

1.LSTM网络

长时间的短期记忆网络(Long Short-Term Memory Networks),很多地方翻译为长短期记忆网络,给人一种歧义,以为是网络一会儿能记很长的内容,一会儿能记很短的内容,但其实正确的翻译应该是长时间的短期记忆网络。它的本质就是能够记住很长时期内的信息

所有循环神经网络结构都是由结构完全相同的模块进行复制而成的。在普通的RNN中,这个模块非常简单,比如一个单一的$tanh$层

LSTM也有类似的结构,唯一的区别就是中间的部分,LSTM不再只是一个单一的$tanh$层,而使用了四个相互作用的层

不要被这个结构给吓到了,我一开始学LSTM的时候,在网上搜了很多博客,都没怎么看懂,一是因为被这个结构吓到了,二是因为很多博客写的都不好,所以拖了好久才把这个坑填了。首先,我先解释一下里面用到的符号

在网络结构图中,每条线都传递着一个向量,从一个节点中输入到另一个节点。黄色的矩阵表示的是一个神经网络层;粉红色的圆圈表示逐点操作,如向量乘法、加法等;合并的线表示把两条线上所携带的向量进行合并(比如一个是$h_{t-1}$,另一个是$x_t$,那么合并后的输出就是$[h_{t-1},x_t]$);分开的线表示将线上传递的向量复制一份,传给两个地方

2.LSTM核心思想

LSTM的关键是cell状态,即贯穿图顶部的水平线。cell状态的传输就像一条传送带,向量从整个cell中穿过,只是做了少量的线性操作,这种结构能很轻松地实现信息从整个cell中穿过而不做改变(这样就可以实现长时期地记忆保留)

LSTM也有能力向cell状态中添加或删除信息,这是由称为门(gates)的结构仔细控制的。可以选择性的让信息通过,它们由sigmoid神经网络层和逐点相乘实现

每个LSTM有三个这样的结构来实现控制信息(分别是forget gate 遗忘门;input gate 输入门;output gate 输出门)

3.逐步理解LSTM

3.1 遗忘门

LSTM的第一步是决定要从cell状态中丢弃什么信息,这个决定是由一个叫做forget gate layer的sigmoid神经层来实现的。它的输入是$h_{t-1}$和$x_t$,输出是一个数值都在0~1之间的向量(向量长度和$C_{t-1}$一样),表示让$C_{t-1}$的各部分信息通过的比重,0表示不让任何信息通过,1表示让所有信息通过

思考一个具体的例子,假设一个语言模型试图基于前面所有的词预测下一个单词,在这种情况下,每个cell状态都应该包含了当前主语的性别(保留信息),这样接下来我们才能正确使用代词。但是当我们又开始描述一个新的主语时,就应该把旧主语的性别给忘了才对(忘记信息

3.2 输入门

下一步是决定要让多少新的信息加入到cell状态中。实现这个需要包括两个步骤:首先,一个叫做input gate layer的sigmoid层决定哪些信息需要更新。另一个$tanh$层创建一个新的candidate向量$\tilde{C}_t$。最后,我们把这两个部分联合起来对cell状态进行更新

在我们的语言模型的例子中,我们想把新的主语性别信息添加到cell状态中,替换掉老的状态信息。有了上述的结构,我们就能够更新cell状态了,即把$C_{t-1}$更新为$C_t$。从结构图中应该能一目了然,首先我们把旧的状态$C_{t-1}$和$f_t$相乘,把一些不想保留的信息忘掉,然后加上$i_t*\tilde{C_{t}}$。这部分信息就是我们要添加的新内容

3.3 输出门

最后,我们需要决定输出什么值了。这个输出主要是依赖于cell状态$C_t$,但是是经过筛选的版本。首先,经过一个sigmoid层,它决定$C_t$中的哪些部分将会被输出。接着,我们把$C_t$通过一个$tanh$层(把数值归一化到-1和1之间),然后把$tanh$层的输出和simoid层计算出来的权重相乘,这样就得到了最后的输出结果

在语言模型例子中,假设我们的模型刚刚接触了一个代词,接下来可能要输出一个动词,这个输出可能就和代词的信息有关了。比如说,这个动词应该采用单数形式还是复数形式,那么我们就得把刚学到的和代词相关的信息都假如到cell状态中来,才能够进行正确的预测

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.LSTM网络
  • 2.LSTM核心思想
  • 3.逐步理解LSTM
    • 3.1 遗忘门
      • 3.2 输入门
        • 3.3 输出门
        相关产品与服务
        NLP 服务
        NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档