VIDEO PIXEL NETWORKS NAL KALCHBRENNER, A¨ARON VAN DEN OORD, KAREN SIMONYAN IVO DANIHELKA, ORIOL VINYALS, ALEX GRAVES, KORAY KAVUKCUOGLU 2016/10/28 河野 慎 1
VIDEO PIXEL NETWORKSNAL KALCHBRENNER, A¨ARON VAN DEN OORD, KAREN SIMONYAN IVO DANIHELKA, ORIOL VINYALS, ALEX GRAVES, KORAY KAVUKCUOGLU
2016/10/28 河野 慎
1
PIXEL VIDEO NETWORKS
書誌情報▸ 2016年10月3日ArXivに投稿 • まだ被引用はなし
▸ Deep Mind • PixelRNN, PixelCNN, Wavenetの著者Äaron van den Oordが共著にいる • ついに映像予測にも手を出した
2
VIDEO PIXEL NETWORKS
背景▸ 映像のモデリングの難しさ • 内在する複雑性と曖昧さによって難化 • 今までのアプローチ: - 平均二乗誤差とDNNの組み合わせ - 量子化された画像のパッチ(穴埋め?) - incorporate motion priors - adversarial lossを使う?
• MovingMNISTなどの単純な予測でも構造的人工物(ぼけなど)をのぞけない
3
VIDEO PIXEL NETWORKS
提案モデル▸ 映像のピクセルのRGB値の同時確率をモデル化
• x:映像 • xt:t番目のフレーム • i, j:行・列のインデックス • RGB:赤緑青の値(0-255)
- 各分布は256次元の離散多項分布(Softmax出力) • x<:x(t, <i, <j, :) ∪ x(<t, :, :, :) • 分解順は,時系列かつPixelCNNの知見
4
x(t, <i, <j, :)x(<t, :, :, :)
これを求めるために
VIDEO PIXEL NETWORKS
Video Pixel Networks (VPN)
▸ 2つの構造を有している • Resolution Preserving CNN Encoders - データの時系列情報をモデリング - Convolutional LSTMで構成される
• PixelCNN Decoders - 映像の空間と色の依存性をモデリング - PixelCNNで構成されている
5
VIDEO PIXEL NETWORKS
Resolution Preserving CNN Encoders
▸ フレームF0,...,FTを与えられた時 • F0,…,FT-1をまずCNNに入力する - CNNは8個のResidual Blocksで構成されている(実験則) ✓解像度を保持->表現力を失わずにピクセルを生成できるから
- Dilation(Wavenetにも出てきた受容野をコストかけずに広げる方法) ✓ [1, 2, 4, 8] * 2
• T個の出力をConvolutional LSTMに入力する
6
VIDEO PIXEL NETWORKS
PixelCNN Decoders
▸ エンコーダのT個の出力をそれぞれPixelCNNに入力 • PixelCNNは12個のResidual Blocksで構成される • 出力は,Softmax層で各ピクセルの各色の強さの値(256)
7
Conditional Image Generation with PixelCNN DecodersからフレームFtでそれまでに出力したピクセルの値
VIDEO PIXEL NETWORKS
Multiplicative Units
▸ 独自のユニットを定義 • LSTMのゲートを参考 - LSTMのようにセルとメモリは区別しない - Highway NetworksやGrid LSTMのように恒等写像するゲートはない ✓常に非線形に処理される
• W1-4は3×3のカーネル
8
VIDEO PIXEL NETWORKS
Residual Multiplicative Blocks
▸ MUを2つ積んだresidual blocks • チャンネル数は内部で半分になる
• 一応MUではなくReLUを使った普通のresidual blocksも使う
9
VIDEO PIXEL NETWORKS
ベースラインモデル10
ない
▸ 前のフレームから次のフレームを予測 • ただし,同フレーム内のピクセル同士の色・位置依存は無視
• 例:ロボットアームの映像 - 時刻tに写っているアームは時刻t+1に左か右に移動 ✓隣接してるピクセルを考慮しないと ピクセルxは左に移動,ピクセルyは右に移動と生成してしまう
✓ VPNなら考慮するから一貫性の取れた生成ができる
VIDEO PIXEL NETWORKS
Moving MNIST
▸ 64×64の20フレーム • 2つのMNISTの数字が重なったりしながら一定速度で動く動画 • 最初の10フレームを与えて次の10フレームを予想する
▸ MNISTはグレースケールなので,PixelCNNの出力は2値で,損失関数も
• 予測yが完全に正解zと一致した場合(zi = yi) - H(z, y) = 86.3 nats/frame
11
※実装の詳細は論文参照
VIDEO PIXEL NETWORKS
▸ ベースライン
▸ VPN
▸ 正解
12
あらかじめ与えられたフレーム 予測するべきフレーム
Moving MNISTの結果
VIDEO PIXEL NETWORKS
Moving MNISTの結果▸ VPNの方がかなり良い • ボケも少ない
▸ ベースラインはボケ多い • フレームを生成するにつれて,不確かさが増えていくため
13
VIDEO PIXEL NETWORKS
Robotic Pushing
▸ 64×64の20フレーム • カゴの中でロボットアームがものを押す動画 - 各フレームには,ロボットアームの状態と望まれる動作のベクトルが付与
• 学習時 - 2フレームに2状態,2動作を条件付けて,入力 - 動作ベクトルを条件付けて10フレームを予測する
• テスト時は,動作は条件付けて18フレームを予測する
14
VIDEO PIXEL NETWORKS
Robotic Pushing
▸ 学習データにあった物体:アームと背景を区別できてる
15
VIDEO PIXEL NETWORKS
Robotic Pushing
▸ 学習データにない物体 • ちゃんと物体も生成できているし,もっともらしい動きをさせてる
16
VIDEO PIXEL NETWORKS
Robotic Pushing
▸ 同じ2フレームから3パターンのフレーム生成 • 汎化性能の良さを示す
17
VIDEO PIXEL NETWORKS
Robotic Pushing
▸ ベースラインによる生成 • かなりのノイズが含まれている→空間と色の依存関係を考慮してないから
18
VIDEO PIXEL NETWORKS
Robotic Pushing
▸ ベースライン(1, 2),VPN(3, 4),正解データ(5)
19
VIDEO PIXEL NETWORKS
まとめと感想▸ ビデオの同時確率をモデリングするVideo Pixel Networksを提案 • 動作の事前情報やsurrogate lossesなしにMoving MNISTでSOTA • Robotic Pushingにおいて,ベースラインよりすぐれている - 将来予測は,ぼけなどの人工物なしかつ詳細に可能 - 対角の空間依存によって,ロバストで一般的な方法を実現
▸ 順当にPixelRNN->PixelCNN->WaveNet->VPNと発展・拡張してきている • 研究の流れとして参考にしたい
20