好文翻译:理解LSTM网络

理解LSTM网络

此篇文章翻译自https://colah.github.io/posts/2015-08-Understanding-LSTMs/
摘重点翻译,略去了一些内容。

RNN循环神经网络

人的思考方式并不是从一片空白开始的。当你读一篇文章时,你理解每一个字的意思也借鉴了前面文字的意思,而不是把之前所看到的都忘掉,再从新的字开始理解。

传统的神经网络无法进行这种理解过程。比如在对一个电影的某个截图进行事件分类时,传统神经网络并不能根据这个截图前面的截图分类结果来影响后面的截图的分类结果。

循环神经网络恰恰针对了这个问题,在网络结构中有循环连接,帮助其记住之前的信息。

image.png

上图可见,循环网络有一个『结构块A』是结构上重用的,其吸收输入x_t,输出h_t。循环连接将块A的上一阶段的信息作为下一阶段的参考。

这个图看起来有些神奇。但实际上如果将这个图展开,其就是一个普通的神经网络?;谎灾?,一个循环神经网络可以看做一个网络块的多次复制。排在前面的块将信息传递给排在后面的块。下面是一个展开的循环神经网络:

image.png

由图可知,循环神经网络与序列或列表息息相关。其天然为序列或列表类数据而设计。

事实上,其也没有令我们失望。近些年,RNN成功的解决了诸多问题:语音识别,语言建模,图像识别。

RNN的成功很大程度上是因为LSTM模型的提出。LSTM是一个RNN的特例,其性能远超标准版本的RNN。

长距离依赖问题

RNN的卖点就是其可以保留之前任务的信息并传递给后续的任务。比如使用视频之前帧内容有助于理解当前帧的内容。但标准的RNN在这方面只能算还凑合,时好时坏。

有时候,我们处理当前任务时只需要关注在其前面的邻居信息。比如在预测句子的下一个词时候,句子前面为『云飘在』,后面肯定是『天』字了。就不需要关心白云前面还有什么字了。这种情况,相关信息距离预测信息的距离比较近,标准RNN通常是可以处理的。

image.png

有时候,我们需要的信息可能距离当前的任务比较远。比如这段文本『我来自法国。(此处省略100字)。我说了一口流利的』,后面很有可能是『法语』。其中邻居上下文只能推断出下面出现的词应该是一种语言,至于是什么语言,还需要再往前找相关信息,直到找到『法国』。这个例子中,相关信息与预测信息之间的距离就比较长了。这种情况RNN就有些吃力了。随着相关信息与预测信息之间的距离不断拉长,RNN就越来越不给力。

image.png

理论上来说,RNN应该可以处理这种长距离依赖。但实际并非如此。值得庆幸的是,LSTM没这个问题。

LSTM网络

长短期记忆网络,也就是LSTM,是一类特殊的RNN,可以很好的学习长距离的依赖。不费吹灰之力。

众所周知,所有循环神经网络都是若干结构相同的块串联的形式。在标准的RNN中,这个块可能非常的简单,比如一个只有输入层,直接连接到tanh激活函数的情况。

image.png

LSTM同样有这种块串联的形式。但块中的结构不同。其有四个激活层,且四个层之间用特别的方式连接。

image.png
image.png

其中黄框代表神经网络层,粉色的圆圈代表按点进行操作,即两个向量之间相对应的分量所进行的操作。假设向量a为(a_1,a_2),向量b为(b_1,b_2)。则a与b按点相乘的结果为(a_1*b_1,a_2*b_2)。黑箭头代表向量的传递。尾部分叉的箭头代表两个向量的连接??贩植娴募反硐蛄康母粗?。

LSTM中的核心思想

LSTM中最重要的就是块的状态,也就是图表最上面的那个从左向右的箭头??榈淖刺且桓鲂畔⒋莸呐ΥF涔岽┧锌?,每个块仅对其进行很少的线性操作。信息从头到尾贯穿始终非常容易。

image.png

LSTM中的每个块可以删除或修改块状态中的信息,这些对信息的操作是通过门结构来实现的。

所谓『门结构』,就是一个sigmoid激活值加上一个按点相乘操作。sigmod层输出激活值通常是一个向量,向量的每个分量在0-1之间。其可以看做是一种『通过率』的描述。即当某个分量大小为0时,则再进行按点相乘时,状态中对应的分量将变为0,也就是阻止了状态中的信息通过。若分量为1时,经过按点相乘后,对应的分量会完全通过。

image.png

LSTM有三个门来处理块状态

LSTM流程

第一步是决定块状态中什么信息将被遗忘。这是通过一个『遗忘门』来实现的。他通过观察h_{t-1}x_t, 然后针对状态块中的每一个分量输出一个0-1之间的数。1代表完全保留信息,0代表彻底遗忘信息。

举例说明,在语言模型的例子中,我们的任务是根据句子之前的内容预测句子下一个词。在这个场景下,我们的块状态有可能包括主语的性别,主语的性别可能影响到代词的是她或是他。但当我们遇到一个新的主语时,我们希望忘掉之前那个主语的性别了。

下一步是决定我们在块状态中加入什么新信息。其包含两部分。第一部分是一个『输入门』,来对我们加入的信息进行过滤。第二部分是通过tanh层创建新的更新值。这两部分结合起来可以将最终的更新值加入到块状态中。

例如,在语言模型的例子中,如果我们希望将新的主语的性别加入到块状态中,就可以在这一步完成。

经过了如上两步,块状态就从旧状态C_{t-1}转变为C_t

image.png

最后一步是决定输出什么。输出将参考块状态,块状态经过一个tanh激活层后,再经过一个『输出门』过滤来确定最终输出的内容。

LSTM的变体

上面讲到的是LSTM的标准版。其还有很多变体。

一种流行的变体是加入了为LSTM中的三个门增加了『窥视孔』,其除了可以看到h_{t-1}和x_t以外,还可以看到块状态。

image.png

另外一种变体是将遗忘门和输入门建立联系,而不是独立的两个门。遗忘和输入是同时进行的。

image.png

另外一个变动较大的变体是GRU。其合并了遗忘门和输入门,并且合并了隐藏状态和块状态。

image.png

总结

LSTM比起RNN前进了一大步。而Attention在此基础上又前进了一大步。Attention的思路是进一步扩充RNN每一步预测基于的信息量。比如你想对一幅图片产生说明文字,则在生成每一个词的时候,都是基于图像的特定区域。除Attention之外,Grid LSTM也很有前景。

?著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,029评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,238评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,576评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,214评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,324评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,392评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,416评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,196评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,631评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,919评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,090评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,767评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,410评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,090评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,328评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,952评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,979评论 2 351

推荐阅读更多精彩内容

  • 原文地址:http://www.cnblogs.com/subconscious/p/5058741.html 神...
    Albert陈凯阅读 5,434评论 0 48
  • 循环神经网络(RNN) 人们的每次思考并不都是从零开始的。比如说你在阅读这篇文章时,你基于对前面的文字的理解来理解...
    云时之间阅读 4,133评论 0 21
  • 自有了妹妹起,母亲便多了一个积攒衣服的爱好。 若是有人问起家里最不缺什么,我的回答——衣裳。 家里堆着我们娘仨的衣...
    渔果儿阅读 254评论 3 2
  • 读完加缪的《局外人》,默尔索这个人在我的脑袋里盘索了好几天。说实在话,在我认识的作品人物形象当中,默尔索是我思考得...
    尚云楼主阅读 552评论 0 1
  • 浅紫色的丝绸风衣长长的流苏被吹起,苏琉璃走在街道上,看着人来人往,又不禁想起了顾京凌。 顾京凌与苏琉璃从小一起长大...
    白嘉浅阅读 191评论 0 0