文中图片来源:吴恩达老师的深度学习视频
视频链接:https://www.bilibili.com/video/av49445369?p=152
对于标准的RNN来说,它是利用前一时刻的隐藏单元和该时刻的输入一起学习,但是当小序列的相关信息相隔较长时,普通RNN常常不能学习的很好。举个例子,(1)如果我们要预测“the clouds are in the sky”的最后一个单词,因为只在这一个句子的语境中进行预测,那么将很容易地预测出是这个单词是sky。在这样的场景中,相关的信息和预测的词位置之间的间隔是非常小的,RNN 可以学会使用先前的信息。(2) 而在比较长的环境中,例如在“I grew up in France… I speak fluent French”中去预测最后的French,那么模型会推荐一种语言的名字,但是预测具体是哪一种语言时就需要用到很远以前的France,这就说明在长环境中相关的信息和预测的词之间的间隔可以是非常长的。在理论上,RNN 绝对可以处理这样的长环境问题。人们可以仔细挑选参数来解决这类问题中的最初级形式,但在实践中,RNN 并不能够成功学习到这些知识。然而,LSTM和GRU模型就可以解决这一问题。
标准RNN结构: