查看原文
其他

【综述专栏】一文讲述LSTM及其变体

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

作者:知乎—知行

地址:https://www.zhihu.com/people/zhi-xing-32


01

标准的LSTM

图1 标准的LSTM

遗忘门
输入门
内存值=上一时刻内存+该时刻输入
输出门,及该时刻输出
以上4个图就是正常的LSTM的公式。

02

考虑内存
这种LSTM就是遗忘门、输入门考虑了上一时刻的内存值。由于Ct本来就考虑了上一时刻C和此时刻输入,因此用Ct即可。

03

内存与输入
这种LSTM就是上一时刻内存与此时刻输入加权,当  较大,即觉得上一时刻内存值不应该忘记太多时,同时认为此时刻输入也不应该占据太多。

04

GRU
相较于LSTM三个门,GRU只有更新门  和 重置门  ,它将输入门和遗忘门结合为一个更新门 ,参数减少三分之一。相较于LSTM考虑内存C,它是直接考虑上一时刻输出  ,而没有了内存的概念,并且没有了bias。其输入也是由上一时刻输出  与此时刻预输出  ,通过更新门  加权得到,  越大,越偏向与考虑此时的预输出  ;反之,则更偏向上一时刻输出  。总的来说,它的理念更加简单直观,没有内存概念,直接考虑上一时刻输出。
当数据量足够充分训练,那用LSTM是更好的;当数据量比较缺乏,更少参数的GRU更能提供更强的泛化能力。

05

为什么LSTM用tanh不用sigmoid?

sigmoid函数图像
tanh函数图像
这个问题网上有解释说,一开始用的其实是sigmoid的变种,但是效果没tanh好,所以用的tanh:
激活函数的选择也不是一成不变的。例如在原始的LSTM中,使用的激活函数是 Sigmoid函数的变种,  ,这两个函数的范国分别是[-1,1]和[-2,2]。并且在原始的LSTM中,只有输入门和输出门,没有遗忘门,其中输入经过输入门后是直接与记忆相加的,所以输入门控  的值是0中心的。后来经过大量的研究和实验,人们发现增加遗忘门对LSTM的性能有很大的提升且  使用tanh比  要好,所以现代的LSTM采用 Sigmoid和tanh作为激活函数。事实上在门控中,使用 Sigmoid函数是几乎所有现代神经网络模块的共同选择。例如在门控循环单元和注意力机制中,也广泛使用 Sigmoid i函数作为门控的激活函数。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。



“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存