公众号关注 “ML_NLP
设为 “星标”,重磅干货,第一时间送达!
来自 | 知乎
地址 | https://www.zhihu.com/question/278825804/answer/402634502
作者 | 天雨粟
编辑 | 机器学习算法与自然语言处理公众号
本文仅作学术分享,若侵权,请联系后台删文处理


做过一点类似的工作,说说个人理解。
LSTM处理序列问题有效的关键就是在于Gate。
拿一个简单的情感分类问题为例:
比如这句话,我们去除停用词,最后做Word Embedding喂给DNN。这句话里面正面词汇有2个“好”和1个“喜欢”,负面词汇有1个“没有”和1个“不”,由于正面词汇更多,DNN则会更加倾向判断积极情感;实际上这句话是个negative的情感,句子中两个”好“前面都有”没有“否定,”喜欢“前面也有”不“否定,但是DNN不存在隐层结点之间的序列学习,所以捕捉不到这种信息;
而如果我们用一个LSTM:
由于LSTM存在cell state的传递,如图中LSTM中链接的箭头所示,它能够捕捉到这种否定关系,从而输出正确的情感系数。
从LSTM的公式来看(不考虑peephole),forget gate是一个经过sigmoid函数激活的单元,数值在0-1
而我们的cell state更新公式为:
当forget gate越接近0时,意味着对历史信息(t-1时刻)信息的丢失;而forget gate越接近于1,意味着对历史信息的更多保留。
正如题主所说,forget gate里面大多数位置都是0,少数为1,这部分1就是它要在网络中持续保留的信息,我这里也很同意题主所说,这里gate有点类似于attention,对于我所需要的信息,我就给予高attention(对应为1),对于无用信息,我就选择不attention(对应为0)。同理,如果在某个时刻下信息较为重要,那么它对应的forget gate位置会一直保留在接近于1的数值,这样就可以让这个时刻的信息一直往下传递下去而不至于被丢失,这也是为什么LSTM能够处理长序列的原因之一。
再说Bi-RNN,Bi-RNN我觉得从直觉上更好理解。比如我们人在看一句话时:这个人虽然很努力,但是他实在没有什么成绩。如果按照LSTM来看,它是从前往后学习,读完前半句我们可以提取的信息是:这个人很努力,看似是一个积极信息,但只有往下读才知道这句话的重点在于后面说他做不出什么成绩。而Bi-RNN很好的模拟了人的行为,即先读完整句话。Bi-RNN倒序进行信息的传递,那么当Bi-RNN读完“这个人虽然很努力”时,它的反向序列已经捕捉到了后半句的内容信息,因此能够做出更准确的判断。
补充:
应评论区@Herry同学提问,再说下GRU。简单来说,GRU比LSTM结构更加简单,只有2个gate,LSTM有3个gate,需要训练的参数更少,具体实现上也更快一点;另外,GRU中只有一个state,它把LSTM中的cell state和activation state视为了一个state。
从公式来看,GRU的两个gate,一个是reset gate,一个是update gate。
reset gate是对t-1时刻状态重置,它也是一个经过sigmoid激活的输出。
随后这个reset gate用来做
的计算:
我们从公式可以看出,当前时刻的候选状态
并不是完全将
用来学习,而是要先reset一下,在LSTM中计算
时候直接就用
另外一点,GRU把update gate既当做update使,又当做forget使。
其中
就相当于LSTM中的forget gate。
而LSTM中这个forget gate是单独出来的,跟update gate没太大关系,这里只能说GRU做了合理简化,减少了一定计算量,性能上并没有牺牲太多。
再者上面说到的,GRU里面只需要控制一个状态,它的cell state是等于activation state的,而LSTM中控制两个状态,cell state是要经过output gate以后才能得到activation state。
最后关于它两具体的性能表现上,目前我做的模型上,基本看不出太大差别,性能都算OK。但是我一般首选LSTM,可能我先接触的LSTM的缘故吧。GRU就是相对快一点,结构简单,适合快速开发模型原型。
关于他两性能的比较,建议可以看下论文[1412.3555] Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling
重磅!忆臻自然语言处理-学术微信交流群已成立
可以扫描下方二维码,小助手将会邀请您入群交流,
注意:请大家添加时修改备注为 [学校/公司 + 姓名 + 方向]
例如 —— 哈工大+张三+对话系统。
号主,微商请自觉绕道。谢谢!
继续阅读
阅读原文