循环神经网络(RNN)
- 在之前的网络中我们都是在关心层与层之间的协作,同层节点之间是无连接状态,信息按顺序从上一层到下一层,这种网络如果要处理一些上下文强关联的问题便显得无能为力。例如在NLP中要预测下一个单词则需要处理前文包含的各种特征,此时提出了一种新的神经网络,循环神经网络(Recurrent Neural Network,RNN),它对于序列化数据有很强的拟合能力。
延迟器
-
在RNN隐藏层之中的节点不再是相互独立的,每个节点将包含三部分输入数据
上一层的输出、自身上一时刻输出、上一节点输出。
可以看到隐藏层中的节点不仅有来自输入层的连接,还有节点之间的自连和互连。
-
其中节点的自连接代表节点的输出会再次作为节点的输入,但这并不是马上完成的,数据会经过延迟器在下一时刻再进入该节点。
也就是说在RNN中包含了对时序特征的处理,对于同一数据根据其前文不同也将得到不同的输出。这也便是RNN中最重要的特征,通过引入延迟器来让网络模型包含“记忆”。
-
延迟器只是一个虚拟单元,也称为RNN的记忆单元,它的作用便是保存上一次的节点状态信息,每次节点计算时将使用上一次的状态信息参与进行并更新状态,可以理解为一个动态偏置,状态信息的计算与神经元计算类似,它也包含权重参数
其中代表时刻信息,是一个非线性激活函数,分别为输入的权重参数和状态的权重参数。
原创大约 4 分钟