论文:“Multi-Dimensional Recurrent Neural Networks

论文地址:https://arxiv.org/pdf/0705.2011.pdf
这篇博客是在本人阅读论文后的一些自己的理解记录,如有错误请大家多多指教。

首先给出的是前向传播和反向传播的图示:

MD-RNN的个人理解

在进行前向传播时,当前隐层接收到当前输入样本和在每个维度上之前一步的**值(之前一步的隐层**值)。

接下来直接给出前向传播和反向传播的伪代码:

MD-RNN的个人理解

MD-RNN的个人理解

我个人对于前向传播的理解如下:

①对于每个隐层单元都连接着所有的输入数据点(论文中有说H代表着隐层中单元个数的总和,由于输入样本数据点在进入隐层的通道上有乘上一个权值向量,该权值向量如果等于0时代表着该输入没有被采纳,可理解为没有连接到隐层单元),因而在前向传播的伪代码中可以看到外层循环是按照一个个输入数据点遍历的,而其内层循环(k对应的那层循环)了H次,也就是说对于每个输入数据点都有H次计算隐层单元的值。

②对于每个输入样本的每个隐层单元:首先将当前输入样本与权值向量进行点乘;之后,若当前输入样本的某一特征值大于0,则说明该特征值之前还存在其他取值情况,也就是说在当前维度方向(一个特征就是一个维度方向)上可以往回退一步找到对应的隐层**值,这样就可以将点乘结果加上回退一步的隐层**值乘上权值向量。

③每个隐层单元对应的输入单元是历史数据,对应的输出单元是预测的未来数据。在图像中之所以用两个递归连接是因为图像是一个二维对象,因而每个隐层单元受到两个方向上的隐层**值影响。但是我个人觉得二维图像也不一定就非得是只能两个递归连接,也可以是多个,因为在图像的空间结构信息里某个对象不总是只受两个方向的影响,可能是多个方向的。

相关文章: