LSTM论文翻译-《UnderstandingLSTMNetworks》

更新时间:2023-07-01 18:48:51 阅读: 评论:0

LSTM论⽂翻译-《UnderstandingLSTMNetworks》
1.    循环神经⽹络(RNNs)appropriateness
⼈们并不是每⼀秒都重新开始新的思考的,就像你读这篇论⽂,你基于以前对词句的认知来理解每⼀个词,⽽不是丢掉以前所有的知识,重新开始构思新的想法。⼈们的思维是持续的。
传统的神经⽹络是不会持续思考的,这是它的主要短板,例如,想象你要区分⼀部电影在每个时间段发⽣那种事件,传统的神经⽹络(以下称NN)怎样合理的将电影前⾯发⽣的事件传递给后⾯的事件呢?这是不明的。
wakeforestRNN的⽹络内部有很多环,可以让信息持续下去。
上⾯的框图中,神经⽹络A,其输⼊是xt,输出是ht,环可以让信息从⼀步通向⽹络的下⼀步。
cult movie
只看上⾯的框图,环容易让⼈迷惑,但是往深处想想,其实,RNN和⼀般的NN并没有多⼤的不同。⼀个
RNN可以看做是多个相同NN单元的拷贝连接,每个拷贝都传递⼀个信息给下⼀个拷贝。看看把环展开会发⽣什么:
这个链式的⾃然展开让RNN很容易变成了NN的序列和链表。它就是NN对每个daa的处理。
将前⼀个节点的信息传递给下⼀个的做法是很有效的,最近⼏年,RNN在不同的领域上都取得了可喜的效果:语⾳识别、语⾔模型、机器翻译、图像字幕…。可以看看Andrej Karpathy讨论RNN令⼈惊喜的成果的博⽂《The Unresonable Effectiveness of Recurrent Neural Network》。
取得这些成果的重点是,他们都⽤了LSTM,⼀种特殊的RNN,在很多应⽤上,它的效果都⽐标准的RNN好很多。这篇⽂章的重点也是将LSTM的。
2.    长序依赖问题
RNN被选择的⼀个重要原因是它可以连接前⾯的信息为当前节点所⽤,就像视频前⾯的帧可以输⼊到
当前环节来预测或者理解当前帧。如果RNN能真正做到这样,那⼈它的确⾮常有⽤了,但是它真的能吗?实际上,这要视情况⽽定。
有时,我们只需要就近的⼀些信息就可以完成当前任务。例如,⼀个语⾔模型想要根据前⾯的词预测最后⼀个词,如要预测“the clouds are in the sky.”的最后⼀个词,我们不需要更多的上下⽂语境就能知道最后⼀个词是sky。在这个例⼦中,要⽤到的语境很简单,RNN可以很好的⾥⾯句⼦前⾯的词信息得到正确的答案。
德语
但是,也有很多句⼦需要更多语境,如“I grew up in France. … I speak fluent French.”从临近的语境中可以知道,最后⼀个词应该是⼀种语⾔,但是要知道是哪种语⾔,必须要前⾯的“France”,要再往前推。需要的信息和当前点可能隔很远。
不幸的是,随着距离的增加,RNN并不能学习到有⽤的信息。惊羡
理论上,RNNs完全可以掌控“长句依赖”,我们可以⼈为的选择好的参数嘛。但实践证明,RNN基本不可能学习很长的句⼦。Hochreiter和Begnio对此有很深的研究,并且找到了根本原因。
⽽幸运的是,这个问题LSTM不会有。
3.    LSTM ⽹络
20个元音音标LSTM是⼀种特殊的RNN,可以解决长句依赖问题。它是由Hochreiter和Schnidhuber最先提出的,后来很多⼈⽤它解决了很多问题,现在被⼴泛的应⽤。
LSTM被明确的设计出来解决长句依赖问题的。记住长周期有⽤信息是它的基本功能。through the trees
标准的RNNs如下:
LSTM也是这种链式的结构,只是重复单元的内部结构不⼀样,它不是单独的NN层,⽽是4个NN,这4个相互影响。
其中,
findwindow
上⾯框图中,每⼀⾏将⼀个节点的整个向量输出传递到下⼀个结点做输⼊。
4.    LSTM的核⼼
LSTM的重点是cell state,下⾯⽔平这条线从架构的最上⾯⾛,cell state就是传送带,整个系统就像⼀条长直链,只有⼀些线性关系,信息往下传⽽不会改变。
毛孔变大
LSTM能删去或者增加信息,依靠的⽽是门结构。门是信息选择性通过的⼀种⼿段,门由sigmoid神经层和⼀个点乘单元组成。
Sigmoid层的输出介于0和1之间,输出为0表⽰信息完全不通过,输出为1表⽰信息全部通过。⼀个LSTM有3个这样的⼆门来控制和保护cell state。
5.    ⼀步⼀步看LSTM的⼯作原理
LSTM的第⼀步是决定哪些信息丢掉,这个动作是由包含sigmoid层的“forget gate layer”来做的。和输⼊门中,输出⼀个介于0和1的值,作⽤于(前⼀个cell state),1表⽰完全保留,0表⽰完全丢掉。
回到基于前⾯的词预测最后⼀个词的语⾔模型中,如果这个cell state包含有前⼀个话题的特征,那么正确的代词会被⽤到(?),如果从⼀个新的话题开始,那么旧话题的特征将被遗忘掉。
下⼀步决定哪些新的信息将被加⼊cell state。这由两部分构成,⼀是由sigmoid层构成的输⼊门,它⽤来决定哪些值要更新。另⼀个是tanh 层构成的新候选值的向量⽣成器,可能会被输⼊到cell state⾥⾯。
例如,语⾔模型中,想要把新话题加⼊到cell state中替换旧话题。
接下来,前⼀个cellstate(输⼊到当前cell state)中,前⾯已经决定了要做什么,这⾥只需要⼀次完成就好。
乘(前⾯讲到的forget gate的输出),然后加上,旧状态加新的候选信息,组成当前cellstate.
在语⾔模型中,旧话题的某些特征丢掉,加⼊新话题的⼀些特征就组成了当前的话题。
最后决定要输出什么。这个输出基于cell state,但会有⼀个滤波过程。⾸先,⼀个sigmoid层决定哪些cell state输出,同时将cell state输⼊到tanh层,乘sigmoid门的输出,得到最后的输出。
对于语⾔模型,通过输出信息去关联⼀个词,这个词就是句⼦的最后⼀个词。例如,这个输出指向单话题,还是复合话题,以此来决定下⼀个词是否成对出现(?)。
6.    LSTM的变体
上⾯描述的是最常见的标准LSTM,但是不是所有LSTM都是这样⼦的。事实上,每篇致⼒于LSTMs的paper所⽤的版本都有微⼩的差别,这些差别真的很⼩,但是其中⼀些是值得⼀提的。
其中⼀种流⾏的变体由Gers和Schmidhuber提出,加⼊了“peepholeconnections”。这意味着,cell state也输⼊到门中来判别哪些丢,哪些加。
contactsprovider上⾯的框图把所有的门中都加⼊cell state,但有很多paper只部分加⼊。
另⼀种变体⽤⼀对互斥的forget和input门,⽽不是独⽴决定丢和加。丢和加倍同时决定,也就是丢弃的值⽤新的输⼊信息替代。
还有⼀种更有趣的变体是GRU(GatedRecurrent Unit),由cho提出,它结合forget和input门为⼀个“update”门。并将cell state和hidden state合并,整个模型⽐LSTM简单,它也正慢慢流⾏起来。
以上只是⼀⼩部分的LSTM变体,还有很多其他可⽤的,如Depth Gated RNNs,还有⼀些完全不同的消除长句依赖的,如koutaik提出的cl

本文发布于:2023-07-01 18:48:51,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/163922.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信息   话题   输出
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图