您的位置:首页 > 理论基础 > 计算机网络

LSTM 网络中几个门的理解

2017-08-06 22:51 344 查看
个人认为下面这篇博文非常适合初学或者学的很浅的朋友。 

转自http://www.jianshu.com/p/9dc9f41f0b29

经常接触LSTM,GRU,RNN这些模型,对于LSTM的印象只是知道它用来解决梯度消失梯度爆炸问题,对于长距离的句子的学习效果不好的问题,而且大概知道里面是加了一些参数,加了门单元来选择忘记和记住一些信息。但是具体公式没有推过,所以理解的不够深。

但是上面这篇长博文,作者真心花了很多心血来创作,写的详细,易懂,对于学习lstm有很大的帮助。

读完后我觉得要理解几个门的作用,文中作者提到的三个例子恰到好处。个人认为这三个例子是弄明白lstm的关键。

忘记门: 

作用对象:细胞状态 

作用:将细胞状态中的信息选择性的遗忘 

让我们回到语言模型的例子中来基于已经看到的预测下一个词。在这个问题中,细胞状态可能包含当前主语的类别,因此正确的代词可以被选择出来。当我们看到新的主语,我们希望忘记旧的主语。 

例如,他今天有事,所以我。。。当处理到‘’我‘’的时候选择性的忘记前面的’他’,或者说减小这个词对后面词的作用。

输入层门: 

作用对象:细胞状态 

作用:将新的信息选择性的记录到细胞状态中 

在我们语言模型的例子中,我们希望增加新的主语的类别到细胞状态中,来替代旧的需要忘记的主语。 

例如:他今天有事,所以我。。。。当处理到‘’我‘’这个词的时候,就会把主语我更新到细胞中去。

输出层门: 

作用对象:隐层ht 

在语言模型的例子中,因为他就看到了一个 代词,可能需要输出与一个 动词 相关的信息。例如,可能输出是否代词是单数还是负数,这样如果是动词的话,我们也知道动词需要进行的词形变化。 

例如:上面的例子,当处理到‘’我‘’这个词的时候,可以预测下一个词,是动词的可能性较大,而且是第一人称。 

会把前面的信息保存到隐层中去。

Gated Recurrent Unit (GRU)就是lstm的一个变态,这是由 Cho, et al. (2014) 提出。它将忘记门和输入门合成了一个单一的 更新门。同样还混合了细胞状态和隐藏状态,和其他一些改动。最终的模型比标准的 LSTM 模型要简单,也是非常流行的变体。

以上的观点纯属个人通过学习这篇博文后的一些理解,有错误的地方请大家见谅。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: