深度学习面试题36:RNN与长程依赖关系(Long-Term Dependencies)

目录

  长程依赖关系的解释

  为什么传统RNN不能解决长程依赖问题

  如何解决长程依赖问题

  参考资料


 

长程依赖关系的解释

句子1:the clouds are in the (). 对语言模型而言,这里的()很容易就能被确定为sky,因为它刚“读过”的单词是“clouds are in the”,语言模型的是具有记忆的,因此很大概率可以预测对。

 

而句子2:I grew up in France… I speak fluent ().这里的省略号表示一大堆单词,而这里的()被RNN这样的语言模型预测为French的概率就很低了,因为他的记忆已经“模糊”了,换句话说,由于不停的“读”新的单词,很早之前的信息已经被冲淡了。

 

所以长程依赖可以理解为:当你想使用语言模型,并有效利用较早时间步的信息,最终产生预测的时候,那么你就要和较长路程前的信息建立一种依赖关系,这就是长程依赖。

 

长程依赖问题(The Problem of Long-Term Dependencies),也就是研究长程依赖的问题。

 

 返回目录

 

为什么传统RNN不能解决长程依赖问题

 

 

 

回忆RNN的网络结构,RNN之所以能够对序列数据建模,是因为它具有一个记忆单元(隐藏层的参数),但是记忆单元中记录的较早信息会随着时间步的推移而冲淡,所以就无法建立起和较早时间步信息的依赖关系。

 

 返回目录

 

如何解决长程依赖问题

需要改变RNN的结构,从而建立起一种和较早时间步联系的桥梁,比如后面要细谈的LSTM和GRU等。

 返回目录

 

参考资料

https://colah.github.io/posts/2015-08-Understanding-LSTMs/

 

 返回目录

 

posted @ 2020-07-13 23:01  黎明程序员  阅读(4223)  评论(0编辑  收藏  举报