本文主要是介绍Mxnet (20): 循环神经网络(RNN)下,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
4. 循环神经网络
循环神经网络,通过潜在自回归模型,使用隐藏状态来存储之前的信息。隐藏层和隐藏状态是指两个非常不同的概念。如所解释的,隐藏层是在从输入到输出的路径上从视图中隐藏的层。从技术上讲,隐藏状态是在给定步骤中我们所做的任何事情的输入,并且只能通过查看先前时间步骤中的数据来计算它们。递归神经网络(RNN)是具有隐藏状态的神经网络。
4.1 不含隐藏状态的神经网络
之前使用MLP就是不含隐藏状态的神经网络,可以随机选择特征标签对,并通过自动区分和随机梯度下降来学习网络参数。
4.2 具有隐藏状态的循环神经网络
当我们具有隐藏状态时,情况完全不同。与多层感知机相比,隐藏变量能够捕捉截至当前时间步的序列的历史信息,就像是神经网络当前时间步的状态或记忆一样。由于隐藏状态在当前时间步的定义使用了上一时间步的隐藏状态,上式的计算是循环的。使用循环计算的网络即循环神经网络(recurrent neural network)。
上图中展示了循环神经网络在3个相邻时间步的计算逻辑。在时间步 t ,隐藏状态的计算可以看成是将输入 X t X_t Xt 和前一时间步隐藏状态 H t − 1 H_{t−1} Ht−1 连结后输入一个激活函数为 ϕ 的全连接层。该全连接层的输出就是当前时间步的隐藏状态 H t H_t Ht ,且模型参数为 W x h W_{xh} Wxh 与 W h h W_{hh} Whh 的连结,偏差为 b h b_h bh 。当前时间步 t 的隐藏状态 H t H_t Ht 将参与下一个时间步 t+1 的隐藏状态 H t + 1 H_{t+1} Ht+1 的计算,并输入到当前时间步的全连接输出层。
隐藏状态中 X t W x h + H t − 1 W h h X_tW_{xh}+H_{t−1}W_{hh} XtWxh+Ht−1Whh 的计算等价于 X t X_t Xt 与 H t − 1 H_{t−1} H
这篇关于Mxnet (20): 循环神经网络(RNN)下的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!