video pixel networks阅读笔记

来源:互联网 发布:淘宝双11报名 编辑:程序博客网 时间:2024/06/06 03:58
一、模型结构
本文定义了一个由VPN(video pixel networks)来执行的概率模型。
 表示第t帧(i, j)位置上c颜色通道({R, G, B})的像素值。通过链式法则将视频似然函数p(x)因式分解,表示为一个条件概率的乘积,在没有独立性假设时也可以用一种容易处理的方式进行建模。
确定因子分析中的变量顺序遵从两个准则。第一个是根据数据的特性和对数据的使用来确定;预测视频帧的顺序就根据这种时间的顺序。第二个是以能够高效计算为目的来确定顺序;比如,预测像素时从左上角到右下角。另外,对颜色的预测顺序为R,G,B。

二、网络结构


VPN模型直接对四个维度(t,i,j,c)进行建模。由上图可知,例如对G中第t帧的像素x进行预测时,需要参考:
(1)t帧之前所有帧的所有像素;
(2)第t帧中已经预测得到的所有3种颜色的像素;
(3)第t帧中已经生成的R中的像素x。

(1)Resolution Preserving CNN Encoders
作用:用来计算一个video tensor(即 X(t,i,j,c))的时间相关性。
过程:1. 第0-(T-1)帧分别输入T个CNN Endoder。
          2.上述并行计算得到T个输出,作为 Convolutional LSTM的输入,得到这个video tensor的时间相关性。

*每个CNN Encoder都由k个residual block组成(本文实验中k=8)
*对应第i帧的CNN Encoder 中的每个 residual block的每一层都保存着第i帧的spatial resolution,这一点至关重要,因为只有这样才能够使模型在没有表达容差的情况下生成每个像素。
*在Convolutional LSTM中同样保留resolution。

(2)PixelCNN Dncoders
作用:计算空间相关性和各颜色维度之间的相关性。
过程:1. 第一部分的Encoders的T个输出提供了一种上下文的表述,是的上下文能够适应T+1帧中的生成部分;
          2.如果生成了所有的T+1帧,那么第一帧F0就能够收到无上下文的表述;
          3.这些上下文的表述被用于适应decoder neural networks,也就是PixelCNNs。
          4.本文将这些像素值都处理成离散的随机变量,PixelCNNs decoders的最后一层是一个softmax层,在每一个像素的每一个颜色通道上都有256个强度值。



*PixelCNNs: 由第一部分的Encoders输出的上下文表述(context presentation)决定的decoder neural networks,由l个resolution preserving residual blocks构成(本实验中 l=12)。每一个residual block一次行程masked卷积层。
*PixelCNN中的decoders有masked layer,而Baseline中的decoders没有在权重上做masking,这使得PixelCNN得到了更好的效果。

三、网络结构细节
Nerwork Building Blocks
(1) 乘法单元 MU

input: h(NxNxc), c:色彩通道数目(例如RGB则c=3)
update:u
gates: g1,g2,g3

h通过4个卷积层,得到一个更新u和3个gates g1, g2, g3,然后用下列公式来组合上述h,u,g1-3:




(大概 sigma是指套一个sigmoid函数,因为后面说是非线性操作,但是这个还需求证),component-wise 乘法应该是求内积。

component-wise multiplication: 内积;
element-wise multiplication:点乘;


*注:
  1. 权重W1-W4是用一个3x3的核(是卷积和吗?)得到的。
  2. 这一步和LSTM网络不同的是,memory和 hidden states 之间没有区别
  3. 与Highway networks(Srivastava et al., 2015b)和Grid LSTM (Kalchbrenneret al., 2016)不同的是,MU没有对gates的设置,只是简单地返回输入u,这个输入总是用非线性的方法来处理的(即sigmoid non-linearity: sigma(·))

(2) 残差可乘块(Residual Multiplicative Blocks,RMB)
一个RMB由两个MU层堆叠而成,input和output之间有一个残差连接(residual connection)。
给定input为 h(NxNx2c), 
a. 用 1x1的卷积层减少通道数到c(减少一半,从而提高计算效率),这一层没有激活函数,紧跟2个可继承的MU层,每个MU层有一个3x3的卷积核;
b.用一个1x1的卷积层将特征图投射(project)成2c个通道。
c.将h添加到所有output来形成残差连接。

这样的层结构与bottleneck residual unit of (He et al., 2016)相似。

(3)扩大的卷积(Dilated Convolutions)
       可接受域(receptive field)越大有利于模型获取更大的目标的动作。
       在不增加计算复杂度的情况下,增大可接受域最有效的方法是使用扩大的卷积,使可接受域随着层数的线性增长呈现出指数级增长。
       在许多应用了扩大的卷积的VPN模型中,同一个RMB中的扩大率都是一致的,但是下一个RMB中的扩大率是上一个RMB中的两倍(具体取决于最大化的尺寸),如此不断重复。
       例如,本文的实验中,在CNN encoder中使用了扩大组合[1,2,4,8]的2个副本,总共有8个RMB。
       
       在decoder中不使用扩大的卷积。

四、在Moving MNIST上实现

为便于与以前的工作比较效果,本实验仍使用交叉熵损失:


实验参数设置:


实验结果对比:


本实验的Baseline比以往方法的效果有显著的提升,这些提升是由结构特征带来的,尤其是将resolution 保存在网络中这一点。
VPN的效果则比Baseline更好,逼近下界86.3 nets/frames(这个下界是通过,假定在预测得到的10帧中所有,则有


有Dilation的VPN比没有的效果显著提升,因为更容易在64X64的帧图像相关的大的字符上进行作用,从而得到更好的效果;
使用RMB的VPN的效果只比使用Relu的VPN的效果略好但不显著,这可能是因为Moving MNIST任务的负责度相对较低。因此在Robotic Pushing dataset上的实现就出现了很显著的提升。


阅读全文
0 0