113 Views
November 04, 16
スライド概要
2016/10/28
Deep Learning JP:
http://deeplearning.jp/seminar-2/
DL輪読会資料
1 VIDEO PIXEL NETWORKS NAL KALCHBRENNER, A¨ARON VAN DEN OORD, KAREN SIMONYAN IVO DANIHELKA, ORIOL VINYALS, ALEX GRAVES, KORAY KAVUKCUOGLU 2016/10/28 河野 慎
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
4 VIDEO PIXEL NETWORKS 提案モデル ▸ 映像のピクセルのRGB値の同時確率をモデル化 x(<t, :, :, :) • x:映像 • xt:t番目のフレーム x(t, <i, <j, :) • i, j:行・列のインデックス • RGB:赤緑青の値(0-255) - 各分布は256次元の離散多項分布(Softmax出力) • x<:x(t, <i, <j, :) x(<t, :, :, :) • 分解順は,時系列かつPixelCNNの知見 これを求めるために
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
7 VIDEO PIXEL NETWORKS PixelCNN Decoders ▸ エンコーダのT個の出力をそれぞれPixelCNNに入力 • PixelCNNは12個のResidual Blocksで構成される • 出力は,Softmax層で各ピクセルの各色の強さの値(256) フレームFtでそれまでに出力したピクセルの値 Conditional Image Generation with PixelCNN Decodersから
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
10 VIDEO PIXEL NETWORKS ベースラインモデル ▸ 前のフレームから次のフレームを予測 • ただし,同フレーム内のピクセル同士の色・位置依存は無視 • 例:ロボットアームの映像 - 時刻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
12 VIDEO PIXEL NETWORKS Moving MNISTの結果 ▸ ベースライン ▸ VPN ▸ 正解 あらかじめ与えられたフレーム 予測するべきフレーム
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