循环神经网络(Recurrent Neural Network,RNN)是一类特殊的神经网络,它具有记忆功能。与传统的前馈神经网络不同,RNN 具有自反馈循环神经单元(Recurrent Neural Unit,RNU),每个 RNU 可以将它前面的输出传递到下一个时间步的输入中,从而实现对输入序列的逐个元素进行处理。RNN 的这种特性可以应用于多个自然语言处理任务,如文本生成、语言翻译和语音识别等。
RNN 可以捕捉时间序列中的长期依赖关系,这种长期依赖关系是指在时间序列上相隔较远的两个时间步之间存在着关联性。这个特点是很多其他的神经网络无法具备的,例如,前馈神经网络等只能考虑当前输入和输出之间的关系。RNN 通过引入记忆单元,逐个处理输入序列中的每个元素并同时更新记忆状态,因此,可以从记忆中获取上下文信息,从而对下一个预测进行更准确的分析。
下图展示了循环神经⽹络在
3
个相邻时间步的计算逻辑。
![](https://i-blog.csdnimg.cn/blog_migrate/c5b4a2a7bef43b7710259c01b4a9df03.png)