video pixel networks閱讀筆記

一、模型結構
本文定義了一個由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上的實現就出現了很顯著的提升。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章