文章图片
图 4. PredNet 架构 。 左图:两层内信息流的图示 。 每一层由表示神经元(R_l)组成 , 表示神经元(R_l)在每个时间步((a_l)^)输出特定于层的预测 , 并与目标(A_l)进行比较以产生误差项(E_l) , 然后误差项(E_l)在网络中横向和垂直传播
PredNet 架构适用于各种模拟数据 , 文献 [3] 具体关注图像序列(视频)数据 。 给定图像序列 x_t , 下层的目标设置为实际序列本身 , 上层的目标则是通过对下层的误差单元进行卷积 , 然后通过 ReLU 和 Max pooling 处理得到的 , 使用 LSTM 作为表示神经元 。 (R_l)^t 利用 (R_l)^(t-1)、(E_l)^(t-1) 更新 , 以得到(R_l+1)^t 。 (A_l)^t^ 则通过(R_l)^t 堆的卷积附加 ReLU 处理得到 。 对于下层 , (A_l)^t^ 通过一个设置为最大像素值饱和非线性集:
文章图片
最后 , (E_l)^t 计算为(A_l)^t^ 和(A_l)^t 的差 , 然后被分为 ReLU 激活的正预测误差和负预测误差 , 这些误差沿特征维度串联 。 完整的更新公式如下:
文章图片
对模型进行训练以使误差单元活动的加权和最小 。 训练损失为:
文章图片
对于由减法和 ReLU 激活组成的误差单元 , 每层的损失相当于 L1 误差 。 虽然本文没有针对此问题进行探讨 , 但作者表示也可以使用其他误差单元实现 , 甚至可能是概率的或对抗性的 。 完整的流程如下:
文章图片
状态更新通过两个过程进行:一个自上而下的过程 , 其中计算(R_l)^t 状态 , 然后一个向前的过程 , 以计算预测、误差和更高级别的目标 。 最后一个值得注意的细节是 R_l 和 E_l 被初始化为零 , 这是由于网络的卷积性质 , 意味着初始预测在空间上是一致的 。
3.2 PredNet 的预测编码分析
本小节介绍 PredNet 的图形化展示[1] 。 图 5 示出了模型最下层的 PredNet 预测元素(PE) , 其中左侧的表示模块实现为 cLSTM(convolutional LSTMs , 卷积 LSTM) 。 由于 PredNet 处理视频数据 , 因此该模型中的表示模块由卷积 LSTM(cLSTMs)组成 。 cLSTM 是对 LSTM 的一种修改 , 它使用多通道图像作为其内部数据结构来代替特征向量 。 cLSTM 将基于仿射权乘(用于常规 LSTM)的门操作替换为适用于多通道图像的卷积门操作 , 以生成图像序列(如视频)的有用表示 。 表示模块的输出投射到误差计算模块 , 该模块将其输出发送回表示模块 。 该模型通过将预测结果与目标帧进行比较 , 并使用预测误差作为代价函数 , 来学习预测视频(目标)中的下一帧 。 由于图 5 没有显示前馈和反馈连接如何链接到下一个更上层 , 我们无法确定它是否是预测预测误差的模型 。 在这一点上 , 它作为预测编码模型是通用的 。
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
