跳至主要內容
循环神经网络(RNN)

循环神经网络(RNN)

  • 在之前的网络中我们都是在关心层与层之间的协作,同层节点之间是无连接状态,信息按顺序从上一层到下一层,这种网络如果要处理一些上下文强关联的问题便显得无能为力。例如在NLP中要预测下一个单词则需要处理前文包含的各种特征,此时提出了一种新的神经网络,循环神经网络(Recurrent Neural Network,RNN),它对于序列化数据有很强的拟合能力。

延迟器

  • 在RNN隐藏层之中的节点不再是相互独立的,每个节点将包含三部分输入数据

    上一层的输出、自身上一时刻输出、上一节点输出。

    RNN网络结构

    可以看到隐藏层中的节点不仅有来自输入层的连接,还有节点之间的自连和互连。

  • 其中节点的自连接代表节点的输出会再次作为节点的输入,但这并不是马上完成的,数据会经过延迟器在下一时刻再进入该节点。

    也就是说在RNN中包含了对时序特征的处理,对于同一数据根据其前文不同也将得到不同的输出。这也便是RNN中最重要的特征,通过引入延迟器来让网络模型包含“记忆”。

  • 延迟器只是一个虚拟单元,也称为RNN的记忆单元,它的作用便是保存上一次的节点状态信息,每次节点计算时将使用上一次的状态信息参与进行并更新状态,可以理解为一个动态偏置,状态信息的计算与神经元计算类似,它也包含权重参数

    st=f(wxt+vst1) s_t = f(\boldsymbol{w}x_t + \boldsymbol{v}s_{t-1})

    其中tt代表时刻信息,ff是一个非线性激活函数,w,v\boldsymbol{w},\boldsymbol{v}分别为输入的权重参数和状态的权重参数。


Xenny原创大约 4 分钟深度学习深度学习神经网络RNN