1.4K Views
October 12, 23
スライド概要
"2018/08/17
Deep Learning JP:
http://deeplearning.jp/seminar-2/ "
DL輪読会資料
DEEP LEARNING JP [DL Papers] GQNと関連研究,世界モデルとの関係について Presenter: Masahiro Suzuki, Matsuo Lab http://deeplearning.jp/ 1
輪読内容について • Neural scene representation and rendering – S. M. Ali Eslami, Danilo J. Rezende, et al. • Rezendeは,VAEやnormalizing flowを提案した人 • Deep Mind (Last authorはDemis Hassabis) • Scienceに採録 • Generative Query Network(GQN)を提案した論文 – 本発表では,GQNの説明のために深層生成モデルの基礎から順番に話します. – 合わせて,関連研究(全部DeepMind発)や世界モデルとの関連についても説明します. • 本論文についての私見 – 確率モデル的には新しいことを提案しているわけではなく,従来の研究の応用. – 学習できるアーキテクチャを提案した&実際に学習できることを示したことに意味があると考 えています. – 世界モデルの研究的には非常に重要な論文で,今後こういう研究はどんどん増えていくのは確 実(既にDeepMindが量産している) →どの部分が重要なのかをおさえることが大事 2
どういう研究? • ある複数の視点における画像を元に,別の視点の画像を生成するGenerative Query Network(GQN)というモデルを提案した. – 動画で見ると衝撃的(https://www.youtube.com/watch?v=RBJFngN33Qo) Observation 1 A v1i Neural scene representation B r r1 v2i Observation 2 v3i Observation 3 v1i Latent + h1 r2 v2i Representation network f z Query v3i Rendering steps h2 ··· hL Predicted view Generation network g Fig. 1. Schematic illustration of the Generative Query Network. (A) The agent observes • 2D画像から3Dモデルを作成した?と話題に A training scene ! from different viewpoints (in this example from &/$ , &@ – ただし多少誤解がある気がするので,基礎となる深層生成モデルから順番に説明していきます. $ and &$ ). (B) The inputs 3 to the representation network 2 are observations made from viewpoints &/$ and &@ $ , and the
目次 • • • • • • 深層生成モデル(VAE〜CVAE)の概要 Generative Query Network 実験 関連研究 GQNと「世界モデル」 まとめ 4
深層生成モデル(VAE〜CVAE)の概要 5
深層生成モデル • 生成モデルの確率分布を深層ニューラルネットワーク(DNN)で構成したもの – 生成モデル:データの生成過程をモデル化 学習 𝑝 𝑥|𝜃 生成 生成モデル 観測データ • 代表的な深層生成モデル – 確率分布を明示的に設定(尤度ベース) • Variational Autoencoder(VAE) – 対数尤度の変分下界を最大化 • 自己回帰モデル – 自己回帰(条件付き分布の積)によって尤度を直接モデル化&最大化 • Flow-based model – 可逆かつヤコビアンが容易に計算可能な関数を用いて尤度を直接モデル化&最大化 – 確率分布を暗黙的に仮定 • Generative adversarial network(GAN) – 真の分布との密度比を敵対的に学習(詳しくはhttps://www.slideshare.net/masa_s/gan-83975514) 6
Variational Autoencoder • Variational autoencoder (VAE) [Kingma+ 13][Rezende+ 14] – Inference(encoder)𝑞(𝑧|𝑥) とGeneration(decoder)𝑝(𝑥|𝑧) によって構成される深層生成モデ ル • 確率分布は,それぞれDNNでモデル化 – Inferenceで入力𝑥を𝑧にencodeし,Generationで𝑧から𝑥をdecode(再構成)する. – 入力𝑥には画像や文書,音声情報などが使われる. ※DNNによる確率分布のパラメータ化方法や,reparameterization trickなどの話は省略します 再構成 入力 𝑥 Inference 𝑞(𝑧|𝑥) 𝑧 Generation 𝑝(𝑥|𝑧) 𝑥 7
Variational Autoencoder • ネットワーク構造 再構成 入力 Inference 𝑞(𝑧|𝑥) 𝑥 • グラフィカルモデル Prior 𝑧 𝑝(𝑧) Generation Inference 𝑞(𝑧|𝑥) 𝑝(𝑥|𝑧) 𝑥 𝑧 Generation 𝑝(𝑥|𝑧) 𝑥 • 変分下界(目的関数) 対数尤度 log 𝑝 𝑥 𝑝 𝑥 𝑧 𝑝(𝑧) ≥ 𝔼𝑞 𝑧 𝑥 log 𝑞 𝑧𝑥 = 𝔼𝑞 𝑧 𝑥 log 𝑝(𝑥|𝑧) − 𝐾𝐿[𝑞 𝑧 𝑥 ||𝑝(𝑧)] (負の)再構成誤差項 -> 変分下界を最大化するように,𝑞と𝑝を学習 正則化項 8
潜在空間の学習 • 2次元の潜在空間の可視化(MNISTデータセット) – 潜在変数𝑧の値を変更し,そのときの画像をGeneration 𝑝(𝑥|𝑧)によって生成 – 画像が連続的に変化しており,潜在空間上で多様体学習ができていることがわかる. [Kingma+ 13]より
生成画像 • ランダムな𝑧から画像𝑥をサンプリング – 様々な𝑧からデータ集合に含まれない未知の画像𝑥を生成できる. – (ただし,画像がぼやける傾向がある) [Kingma+ 13]より @AlecRad
Conditional Variational Autoencoder(Kingma ver.) • Conditional Variational autoencoder (CVAE) [Kingma+ 14] – VAEに任意の情報𝑦を「条件づけた(conditioned)」モデル • 元論文ではM2モデルと呼ばれているもの • ここでは,CVAE(Kingma ver.)と呼ぶ. – 𝑦を操作することで,対応するxを生成することができる. – 𝑧上では,𝑦に依存しない表現を獲得することができる. • ただし,実際にはInferenceで依存関係が存在している. 再構成 入力 𝑥 Inference 𝑞(𝑧|𝑥, 𝑦) 𝑧 Generation 𝑝(𝑥|𝑧, 𝑦) 𝑥 𝑦 11
Conditional Variational Autoencoder(Kingma ver.) • ネットワーク構造 入力 𝑥 Encoder 𝑞(𝑧|𝑥, 𝑦) 𝑧 Decoder 𝑝(𝑥|𝑧, 𝑦) 再構成 𝑥 𝑦 • グラフィカルモデル 𝑝(𝑧) 𝑧 𝑞(𝑧|𝑥, 𝑦) • 変分下界(目的関数) log 𝑝 𝑥|𝑦 𝑦 𝑝(𝑥|𝑧, 𝑦) 𝑝 𝑥 𝑧, 𝑦 𝑝(𝑧) ≥ 𝔼𝑞 𝑧 𝑥, 𝑦 log 𝑞 𝑧 𝑥, 𝑦 = 𝔼𝑞 𝑧 𝑥, 𝑦 log 𝑝(𝑥|𝑧, 𝑦) − 𝐾𝐿[𝑞 𝑧 𝑥, 𝑦 ||𝑝(𝑧)] 𝑥 12
Conditional Variational Autoencoder(Sohn ver.) • CVAE(Sohn ver.)[Sohn+ 15] – Priorを𝑝(𝑧)から𝑝(𝑧|𝑦)に変更. • PriorもDNNでモデル化する. • 最初に「CVAE」として提案されたのはこちら. – 条件づけたPriorによって,次の利点がある. • 生成モデルが,より柔軟な形になる. • Priorを用いて,𝑦から直接潜在変数𝑧を推論できる(Inferenceでは𝑥と𝑦の両方が必要). 再構成 入力 𝑥 Inference 𝑞(𝑧|𝑥, 𝑦) 𝑧 Generation 𝑝(𝑥|𝑧, 𝑦) 𝑥 𝑦 Prior 𝑝(𝑧|𝑦) 𝑧 13
Conditional Variational Autoencoder(Sohn ver.) • ネットワーク構造 • グラフィカルモデル • 変分下界(目的関数) 𝑝(𝑧|𝑦) 𝑧 log 𝑝 𝑥|𝑦 𝑦 𝑞(𝑧|𝑥, 𝑦) 𝑝(𝑥|𝑧, 𝑦) 𝑝 𝑥 𝑧, 𝑦 𝑝(𝑧|𝑦) ≥ 𝔼𝑞 𝑧 𝑥, 𝑦 log 𝑞(𝑧|𝑥, 𝑦) = 𝔼𝑞 𝑧 𝑥, 𝑦 log 𝑝(𝑥|𝑧, 𝑦) − 𝐾𝐿[𝑞(𝑧|𝑥, 𝑦)||𝑝(𝑧|𝑦)] 𝑥 14
補足: 𝐾𝐿[𝑝(𝑧|𝑥, 𝑦)||𝑝(𝑧|𝑦)]の最小化について • 𝐾𝐿[𝑝(𝑧|𝑥, 𝑦)||𝑝(𝑧|𝑦)]は,近づける先の分布𝑝(𝑧|𝑥, 𝑦)の方が不確かさが小さい – 直感的には, 𝑝(𝑧|𝑦)は尖った分布に近づいてしまい,学習が安定しないと考えられる(左) – 実際はKL項はデータ分布の期待値であり,式変形するとデータ分布での期待値𝑝𝑎𝑣𝑔 (𝑧|𝑦)と 𝑝(𝑧|𝑦)のKLダイバージェンスになる(右) • そのため,学習は安定する. 𝑝𝑎𝑣𝑔 (𝑧|𝑦) = 𝐸𝑝𝑑𝑎𝑡𝑎(𝑥|𝑦) [𝑝 𝑧 𝑥, 𝑦 ] 𝑝(𝑧|𝑥, 𝑦) 𝑝(𝑧|𝑦) 𝑝(𝑧|𝑦) • CVAE以外の利用: – マルチモーダル学習では,単一モダリティ入力𝑦のInference 𝑞(𝑧|𝑦)を学習するために導入され ている. • 初出はJMVAE [Suzuki+ 16],その後SCAN [Higgins+ 17]などでも利用されている. • 上記の証明は, JMVAEの説明として[Vedantam+ 17]のAppendixに書かれている. – 世界モデル研究では標準的な方法になりつつある. • 最近では,TD-VAE [Gregor+ 18]でも同様の方法が使われている. 15
CVAEの画像生成 • 数字のラベル情報で条件付けることにより「アナロジー」が生成できる[Kingma+ 15] – (𝑥, 𝑦)のペアからInferenceで𝑧を推論(𝑧~𝑞(𝑧|𝑥, 𝑦)) – ある𝑦 𝑞 からGenerationを使って,対応する未知の画像𝑥 𝑞 ~𝑝(𝑥|𝑦 𝑞 , 𝑧)を生成. – このとき,推論した𝑧には(𝑥,𝑦)のペアに対応する「筆跡」のような情報が獲得されている. (a) Handwriting styles for M NIST obtained by fi xing the class label and varying the 2D latent variable z (b) M NIST analogies (c) SVHN analogies Figure 1: (a) Visualisation of handwriting styles learned by the model with 2D z-space. (b,c)
条件付ける情報について • 条件付ける情報はラベルのような単純なものでなくてもよい – ただし,ある程度圧縮された表現に変換することが望ましい • 属性で条件づけて画像生成 [Larsen+ 15] • 文書で条件付けて画像生成 [Mansimov+ 16] 17
Generative Query Network 18
本論文の問題設定 • データセット: – {(𝑥𝑖𝑘 , 𝑣𝑖𝑘 )}(𝑖 ∈ 1, … , 𝑁 , 𝑘 ∈ {1, … , 𝐾}) • 𝑥𝑖𝑘 はRGB画像 Observation 1 • 𝑣𝑖𝑘 は視点(viewpoint) A v1i B – 𝑤(カメラの位置,3次元),𝑦(ヨー,1次元), 𝑝(ピッチ,1次元) • 目的: 𝑞 – M個の観測(文脈という)(𝑥𝑖1,…,𝑀 , 𝑣𝑖1,…,𝑀 )と任意の視点(クエリ)𝑣𝑖 が 𝑞 与えられたもとで, 対応する𝑥𝑖 を予測する. – しかし,3次元空間を有限の2次元の観測で決定論的にカバーすること は困難 v2i Observation 2 v3i Observation 3 v1i Repre Fig. 1. Schematic illustration of the Ge training scene ! from different viewpoin to the representation network 2 are obse output is the scene representation 4, whi →条件付き確率モデル(深層生成モデル)を利用する observations’ representations. The gener representation to predict what the scene generator can only succeed19 if 4 contains
Generative Query Network • Generative Query Network(GQN) 𝑞 – 文脈r = 𝑓(𝑥 1,…,𝑀 , 𝑣 1,…,𝑀 ) とクエリ視点𝑣 で条件づけたCVAE(Sohn ver.) 𝑞 • 𝑟と𝑣 を前述の説明での𝑦と考えればよい • 𝑓は表現ネットワーク(2ページ先で説明) • グラフィカルモデル • 変分下界(目的関数) 𝑞 𝑧 𝑥𝑞 , 𝑣𝑞 , 𝑟 𝑧 文脈とクエリ視点で条件づけた下での クエリ画像の対数尤度 𝑣𝑞 log 𝑝 𝑥 𝑞 |𝑣 𝑞 , 𝑟 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 𝜋(𝑧|𝑣 𝑞 , 𝑟) 𝑟 𝑥 1,…,𝑀 , 𝑣 1,…,𝑀 の情報を 含んだ「文脈」 𝑥𝑞 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 𝜋(𝑧|𝑣 𝑞 , 𝑟) ≥ 𝔼𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 , 𝑟 log 𝑞 𝑧 𝑥𝑞 , 𝑣𝑞 , 𝑟 = 𝔼𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 , 𝑟 log 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 − 𝐾𝐿[𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 , 𝑟 ||𝜋(𝑧|𝑣 𝑞 , 𝑟)] 確率モデル的には,このページを理解できればOK 20
GQNの解釈 • 変分下界(目的関数): 𝔼𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 , 𝑟 log 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 − 𝐾𝐿[𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 , 𝑟 ||𝜋(𝑧|𝑣 𝑞 , 𝑟)] • 第1項では,クエリの答え𝑥 𝑞 を再構成するように学習 – Inferenceでは,文脈(様々な視点と対応する画像)𝑟とクエリ𝑣 𝑞 ,及びその答え𝑥 𝑞 から𝑧を推 論 – 様々なシーン𝑖についても同じ𝑧空間に推論し,Generationで再構成するように学習する. – すると,𝑧ではそのシーン全体を表すコンパクトな表現が獲得されるようになる. • そういう意味では,シーン全体の3D表現に対応するような「何か」は学習されているといえる. – ただし,3Dモデルそのものが学習できた訳ではないことに注意 • 訓練データ内で想定している視点とは大きく異なる or 補完できない視点の場合は,うまく画像が生成されない可 能性が高い. • 同様に,訓練データと全く異なる物体 or 環境のシーンからの画像生成は困難. 21
GQNの解釈 • 変分下界(目的関数): 𝔼𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 , 𝑟 log 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 − 𝐾𝐿[𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 , 𝑟 ||𝜋(𝑧|𝑣 𝑞 , 𝑟)] • 第2項では,InferenceとPriorが近づくように学習 – これによって,PriorとInferenceが同じような𝑧を推論できるようになる. – テスト時にPriorを使えば,クエリの答え𝑥 𝑞 を入れなくても,文脈𝑟とクエリ𝑣 𝑞 だけで対応する𝑧 を推論できるようになる. • つまり,デモ動画ではInferenceを使用していない • 第2項がうまく学習できることはp15で説明したとおり. 22
表現ネットワーク • M個の観測(𝑥 1,…,𝑀 , 𝑣 1,…,𝑀 )を表現ネットワーク𝑓によって,一つの表現(文脈)r = Observation 1 Neural scene A B v 𝑓(𝑥 1,…,𝑀 , 𝑣 1,…,𝑀 )に要約する. representation 1 i – 表現ネットワークのアーキテクチャは次のとおり r r1 v2i • 𝜓(𝑥, 𝑣)はCNNなど Observation 2 v3i Observation 3 v1i Latent + h1 r2 v2i Representation network f z Query v3i Gene • 各視点の平均(上式では総和)を取ることで,視点の順番に依存しない表現にす Fig. 1. Schematic illustration of the Generative Query Network. (A) Th ることができる. training scene ! from different viewpoints (in this example from &/$ , &@ $ and – 順列ではなく組み合わせに対応した表現. to the representation network 2 are observations made from viewpoints &/ $ – 学習時に平均する視点の数をランダムに変更することで,任意の視点の数での推論が可能. output is the scene representation 4, which is obtained by element-wise sum →(個人的に)GQN系のアーキテクチャで最も重要な部分 observations’ representations. The generation network, a recurrent latent va representation to predict what the scene would look like from a 23 different vi
表現ネットワークのアーキテクチャ • 3種類のアーキテクチャを提案 A 64x64x(7+3) Pyramid 1x1x7 32x32x32 k= 2x2 s= 2x2 v 16x16x64 k= 2x2 s= 2x2 8x8x128 1x1x256 k=2x2 s= 2x2 k= 8x8 s= 8x8 r x B 64x64x3 32x32x256 32x32x128 16x16x(256+7) 16x16x128 Tower + k= 2x2 s= 2x2 k= 3x3 s= 1x1 16x16x256 16x16x256 + k= 2x2 s= 2x2 k= 3x3 s= 1x1 k= 3x3 s= 1x1 k= 1x1 s= 1x1 x r Concatenate 1x1x7 16x16x7 v C 64x64x3 32x32x256 32x32x128 16x16x(256+7) 16x16x128 + 16x16x256 16x16x256 1x1x256 + Pool Pool k= 2x2 s= 2x2 k= 3x3 s= 1x1 k= 2x2 s= 2x2 k= 3x3 s= 1x1 k= 3x3 s= 1x1 k= 1x1 s= 1x1 r x Concatenate 1x1x7 v 16x16x7 24
自己回帰モデルによる潜在変数への推論 • VAEでは,複雑な入力から潜在変数を推論するために,様々な工夫が取られてい る. – 潜在変数の多層化 [Sønderby+ 16] – Normalizing flow [Rezende+ 15] – DRAW [Gregor+ 15](後ほど補足) • GQNでは,自己回帰モデルによって𝑧への柔軟な推論を実現 – 自己回帰モデル:尤度を複数の条件付き分布の積で表現するモデル. – 本論文では,潜在変数を𝐿個のグループに分けて,各分布の積で表現. • PriorとInferenceが該当 Prior: Inference: 𝑧 𝜋(𝑧|𝑣 𝑞 , 𝑟) 𝑣𝑞 𝑞 𝑧 𝑥𝑞 , 𝑣 𝑞, 𝑟 𝑟 𝑥𝑞 25
PriorとInferenceのアーキテクチャ • Prior(+ Generation) • Inference – GQNではPriorとGenerationは一体化している. – Generationでは,ガウス分布の分散は固定 – 状態の更新部分には,ConvLSTMを利用 ※ただしこれらはネットワークアーキテクチャの話であり,GQNのコンセプト的 に本質ではないことに注意!! 26
Prior + Generationのアーキテクチャ A v q r π ηϴ k= 5x5 s= 1x1 g hl g cl zL zl+ 1 zl g h l+ 1 g c l+ 1 g Cϴ v1i A … g Cϴ g ηϴ g Cϴ … u l+ 1 ul Observation 1 uL … k= 1x1 s= 1x1 Neural scene representation B r x~ N(η(u L)) r1 B v q co n cat co n cat co n cat k = 5x5 s = 1x1 sig m o id ul x h1 r2 5x5 1x1 sig m o id 5x5 1x1 5x5 1x1 tan h v3i v1i v2i g h l+ 1 x x g cl + z Rendering steps h2 ··· hL zl r v2i g hl Latent Observation 2 Observation 3 Representation network f Query v3i Predicted view Generation network g Δ k= 4x4 s= 4x4 sig m o id Fig. 1. Schematic illustration of the Generative Query Network. (A) The agent observes A training scene ! from different viewpoints (in this example from &/$ , &@ $ and &$ ). (B) The inputs tan h ちなみに,この図ではPrior(𝑧の to the representation network 2 are observations made from viewpoints &/$ and &@ g $ , and the c + 推論)は含まれていない output is the scene representation 4, which is obtained by element-wise summing of the u l+ 1 + l+ 1 observations’ representations. The generation network, a recurrent latent variable model, uses the Figure S2: Generation network architectur e. Implementation details of onerepresentation possible architec-to predict what the scene would look like from a different viewpoint &A. The $ q ture for the generation network, which given query viewpoint v and representation r defi nes 𝑞 distribution g✓ (x q|v q, r ) from which images can be sampled. Convolutional the kernelcan andonly succeed if 4 contains accurate and complete information about the contents of generator stride sizes are indicated by k and s respectively. Convolutions of stride 1 ⇥ 1 are size preservthe scene (e.g., the identities, positions, colours and counts of the objects, as well as the room’s ing, whilst all others are ‘valid’. (A) The architecture produces the parameters of the output distribution through the application of a sequence of computational cores C✓g that take v q and r 𝑔 𝑥 𝑣 , 𝑟 をモデル化している(PriorとGenerationが一体化) ・これらをまとめてGenerationと呼んでいる部分もあるので注意 g 27
補足:DRAW • DRAW: A Recurrent Neural Network For Image Generation [Gregor+ 15] – VAEのencoderとdecoderの両方を,RNNによって自己回帰的にモデル化(左下) – 複雑な画像を生成するためにも使われる [Gregor+ 16] • DRAWでは,画像が各ステップで逐次的に生成されていく(右下) • ただし[Gregor+ 15]に書かれているattention機構は,殆ど使われていないので注意!! – GQNの元論文ではDRAWは使われていない • しかし,こちらのほうが実装が容易&複雑な画像を生成できるので,GQNの関連研究&再現実装 (Tensorflow, Pytorch)ではDRAWが採用されている. • 逆に言うと,アーキテクチャ自体はそれほど本質ではないことを示している. 28
実験 29
データ集合1:Rooms • Rooms: – ランダムな四角い部屋にランダムな数(1~3)の様々な物体を配置 – データセットは公開されている. • https://github.com/deepmind/gqn-datasets Observation • 3つの難易度のroomsデータセットが公開されている vqi Scene i=2 Scene i=3 • 「シーン」は,上記の様々な配置等のうち一つを指す. • 各シーンについて,5つの視点の画像(解像度は64×64)を獲得 Prediction Truth Prediction Truth • 学習時は,各ミニバッチでランダムな数の視点を使用 v3i Scene i=4 • その他のシーンのパラメータは省略 – 2万種類のシーンをレンダリング Prediction Scene i=1 • 部屋の壁のテクスチャは5種類: red, green, cerise, orange, yellow Observation A B Observations • 部屋の床のテクスチャは3種類: yellow, white, blue 1 • 物体の形は7種類: box, sphere, cylinder, capsule, cone, icosahedron and vtriangle v2i i – サイズ,位置,色はランダム.ライトもランダム C 30
実験結果 • 未知のシーンにおける,文脈と任意のクエリ視点からの画像生成 – クエリ視点に対応した画像が生成できていることが定性的に確認できる. Observation A Observations B v2i v3i vqi vqi Scene i=2 Scene i=1 v1i Prediction Truth Truth Prediction Truth Scene i=3 Prediction Scene i=4 Observation C Observation Prediction Truth Prediction Truth Samples 31
実験結果 • 潜在空間の可視化 – t-SNEによる潜在空間の埋め込み表現 – VAE(条件づけていないモデル)との比較 – GQNではシーンごとに表現が分離している(★と†に注目) – 一方VAEでは,カメラの角度に依存している(まあ,当たり前). 32
実験結果 • Scene algebra – 物体についてだけでなく,それらの位置についても足し算・引き算が可能 - + obs Pred East light triangle West light triangle West light sphere East light sphere Pred = + - B Red cylinder Blue cylinder Blue sphere Red sphere = + - Blue triangle Red triangle Red sphere Blue sphere due to obs 2 A = Pred Previous o 33
実験結果 • Bayesian Surprise – 𝑦が与えられた下で,𝑥を観測したときのSurpriseを次式で計算(information gain). 𝐼𝐺 𝑥, 𝑦 = 𝐾𝐿[𝑞(𝑧|𝑥, 𝑦)|𝑝(𝑧|𝑦)] – 文脈の視点数を変更したときのSurprise度合いを確認. • Blue 視点数が増えるごとに,Surpriseが減少していることがわかる. B triangle Red triangle = = West light triangle Pred due to obs 5 Red cylinder due to obs 2 Blue cylinder Held out observation Pred East light triangle = Pred Previous observations 34
データ集合2: Shepard-Metzler objects • Shepard-Metzler objects: – 3Dの物体(3Dグリッド上でself-avoiding random walkによって作成) – 色は各グリッドで7種類 – 視点は位置・ヨー・ピッチでパラメータ化 • ただし,物体からの距離は一定 – 2万種類のシーンをレンダリング • 各シーンについて,15の視点の画像(解像度は64×64)を獲得 • 学習時は,各ミニバッチでランダムな数の視点を使用 35
実験結果 • 視点を変えて画像を生成 – 一貫性のある物体画像が獲得できていることがわかる 36
データ集合3:Mazes • Mazes: – 7×7グリッドのランダムな迷路 • エージェントはどの連続的な位置にも行ける. • 1,2個の客室+複数の廊下. • テクスチャはランダム – 200万シーンをレンダリング • 各シーンについて,300の視点の画像(解像度は64×64)を獲得 • 学習時は,各ミニバッチでランダムな数(1~20)の視点を使用 – 別のGeneratorを学習して,迷路の上からの画像も生成する 0 • 上からの視点は観測としては与えられない(表現ネットワークには影響しない). 1 2 3 4 5 6 7 8 37
実験結果 A Observations Prediction Truth Observations Prediction Truth • Predicted uncertainty – Predicted information gain(information gainの期待値)を利用. 𝑃𝐼𝐺 𝑥, 𝑦 = 𝐸𝑝 𝑥 𝑧, 𝑦 B 1 2 3 0 1 2 3 Predicted map view sample 2 Predicted map view sample 1 Predicted uncertainty Viewpoints Observations 0 𝑝(𝑧|𝑦) [𝐼𝐺(𝑥, 𝑦)] Decreasing uncertainty Decreasing uncertainty – 視点が増えるにつれて,不確実性が下がっていることがわかる. Fig. 6. Partial observability and uncertainty. (A) The agent (GQN) records several observations of a previously unencountered test maze (indicated by grey triangles). It is then 38
データ集合4:Jaco arm • Jaco arm: – タスク:仮想環境上のアームをターゲットに近づけて留める – 本実験では,次のような流れで学習する • まずGQNによって,環境を完全に学習する. • 学習したGQNの表現を使って,A3Cで強化学習 • 実験結果 A B C Pretraining views GQN representation Raw pixels Oracle Policy view Observation Prediction Truth – 視点が動いても,GQNの表現を使うことで適切に学習が進む. Fig. 5. GQN representation enables more robust and data-efficient control. (A) The goal is to learn to control a robotic arm to reach a randomly positioned coloured object. The controlling policy observes the scene from a fixed or moving camera (grey). We pretrain a GQN 39
関連研究 40
Consistent GQN • Consistent Generative Query Networks [Kumar+ 18, DeepMind] – 背景:ビデオ予測などでは,入力と出力が連続的である必要がある. – 任意の時間のフレームを生成できるモデルとしてCGQNを提案. • 過去の文脈r = 𝑓(𝑥 1,…,𝑀 , 𝑣 1,…,𝑀 )と任意の時間𝑣 𝑞𝑖 からフレーム𝑥 𝑞𝑖 を予測 • グラフィカルモデル • 変分下界(目的関数) 𝑞 𝑧 𝑥 𝑞1,…,𝑞𝑁 , 𝑣 𝑞1 ,…,𝑞𝑁 , 𝑟 log 𝑝 𝑥 𝑞1 ,…,𝑞𝑁 |𝑣 𝑞1 ,…,𝑞𝑁 , 𝑟 𝑧 𝑖 ∈ 1, … , 𝑁 𝑣 𝑞𝑖 𝑔 𝑥 𝑞1,…,𝑞𝑁 𝑧, 𝑣 𝑞1,…,𝑞𝑁 ≥ 𝔼𝑞 𝑧 𝑥 𝑞1 ,…,𝑞𝑁 , 𝑣 𝑞1,…,𝑞𝑁 , 𝑟 𝑔 𝑥 𝑞1 ,…,𝑞𝑁 𝑧, 𝑣 𝑞1 ,…,𝑞𝑁 𝜋(𝑧|𝑟) log 𝑞 𝑧 𝑥 𝑞1 ,…,𝑞𝑁 , 𝑣 𝑞1,…,𝑞𝑁 , 𝑟 𝑁 𝑁 𝜋(𝑧|𝑟) = ෑ 𝑔 𝑥 𝑞𝑖 𝑧, 𝑣 𝑞𝑖 𝑖=1 𝑟 𝑥 𝑞𝑖 = 𝔼𝑞 𝑧 𝑥 𝑞1 ,…,𝑞𝑁 , 𝑣 𝑞1 ,…,𝑞𝑁 , 𝑟 log ෑ 𝑔 𝑥 𝑞𝑖 𝑧, 𝑣 𝑞𝑖 − 𝐾𝐿[𝑞 𝑧 𝑥 𝑞1 ,…,𝑞𝑁 , 𝑣 𝑖=1 𝑞1 ,…,𝑞𝑁 ※比較しやすいように,notationはGQN論文に合わせています. , 𝑟 ||𝜋(𝑧|𝑟)] 41
GQN vs. CGQN Figure 6: Test-set negative ELBO against number of training steps (lower is better). • 実験:ボックスの未知の側の数字を適切に予測できるか? Figure 7: A cube in a room, with M NIST digits engraved on each face (test-set scene). The blue cones are where the context frames were captured from. The red cones are where the model is queried. – CGQNでは,各視点について一貫性のある予測ができる(T1とT2で同じ). The context frames see three sides of the cube, but the models are tasked to sample from the fourth, – GQNでは,T1とT2で異なる数字が予測される -> 視点による一貫性がない unseen, side. GQN (right column) independently samples a 0 and 7 for the unseen side, resulting in an inconsistent scene. CGQN samples a consistent digit (2 or 9) for the unseen cube face. 42
GQN vs. CGQN • GQNとの違い: – 確率モデル的な違い: • 一貫性のある𝑧を獲得するために,Priorでは文脈𝑟のみから𝑧を推論 • Generationは𝑧のみから生成 – 複数系列のクエリを簡単に扱えるようになった(各系列で分布が独立になる) – アーキテクチャ的な違い: • 𝑧への推論(InferenceとPrior)にDRAWを使用 -> GQNよりもシンプルかつ一般的なモデル 𝑞 𝑧 𝑥 𝑞1,…,𝑞𝑁 , 𝑣 𝑞1,…,𝑞𝑁 , 𝑟 𝑞 𝑧 𝑥𝑞, 𝑣𝑞 , 𝑟 𝑖 ∈ 1, … , 𝑁 𝑣 𝑞𝑖 𝑧 𝑔 𝑥 𝑞1,…,𝑞𝑁 𝑧, 𝑣 𝑞1,…,𝑞𝑁 𝑁 𝜋(𝑧|𝑟) 𝑣𝑞 𝑧 = ෑ 𝑔 𝑥 𝑞𝑖 𝑧, 𝑣 𝑞𝑖 𝑔 𝑥 𝑧, 𝑣 𝑞 , 𝑟 𝜋(𝑧|𝑣 𝑞 , 𝑟) 𝑖=1 𝑥 𝑞𝑖 𝑟 CGQN 𝑥𝑞 𝑟 GQN 43
Neural Processes • Neural Processes [Garnelo+ 18, DeepMind] – (ざっくりいうと)Gaussian ProcessのカーネルをDNNに置き換えたモデル • Globalな潜在変数を導入していることが特徴. • 詳しくはこちらのスライドを参照(DL輪読会資料): https://www.slideshare.net/DeepLearningJP2016/dlconditional-neuralprocesses?ref=https://deeplearning.jp/neural-processes/ Neural Processes – 複数の任意の点とその値(文脈)が与えられた下で,未知の点の値を予測する. • あれ,GQNっぽい Num ber of context points 任意の文脈を与えたときの回帰予測 (文脈が増えると分散が小さくなる) 100 300 784 15 30 90 1024 Sam ple 3 Sam ple 2 Sam ple 1 Context Sam ple 3 Sam ple 2 Sam ple 1 Context 10 Num ber of context points 任意の文脈を与えたときの画像生成 (文脈が増えると画像のバリエーションが小さくなる) 44 Figure 4. Pixel-wise regression on M NI ST and CelebA The diagram on the left visualises how pixel-wise image completion can
Neural Process vs. CGQN • CGQNとの違い: – 確率モデル的にはCGQNと同じ – zへの推論にRNNを使わず,PriorとInferenceで同じencoderを使いまわしている(アーキテク チャ的な違い) – 論文に描かれているグラフィカルモデル(左)とアーキテクチャ(右) • 左のグラフィカルモデルではInferenceが描かれていないので注意 45
SLIM • Encoding Spatial Relations from Natural Language [Ramalho+ 18, DeepMind] – GQNをベースに,言語の言い換えに対して同じ画像を生成する(不変性のある表現を獲得する)モ デルであるSLIMを提案 – 自然言語𝑑1,…,𝑀 と視点𝑣 1,…,𝑀 で構成される文脈r = 𝑓(𝑑1,…,𝑀 , 𝑣 1,…,𝑀 )が与えられたとき, 未知の視点𝑣 Figure 2: Diagram of 𝑞 our model. A representation network parses multiple descriptions of a scene から対応する画像𝑥 を生成するように学習 from different viewpoints by taking in camera coordinates and a textual caption. The representations • 上の図では,𝑐が視点 for each viewpoint are aggregated into a scene representation vector r which is then used by a 46 𝑞
SLIMのグラフィカルモデルと変分下界 • グラフィカルモデル • 変分下界(目的関数) 𝑞 𝑧 𝑥𝑞, 𝑣𝑞 𝑝(𝑧) 𝑧 log 𝑝 𝑥 𝑞 |𝑣 𝑞 , 𝑟 𝑣𝑞 𝑔 𝑥 𝑧, 𝑣 𝑞 , 𝑟 𝑟 𝑥𝑞 ≥ 𝔼𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 = 𝔼𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 𝑝(𝑧) log 𝑞 𝑧 𝑥𝑞, 𝑣𝑞 log 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 − 𝐾𝐿[𝑞 𝑧 𝑥 𝑞 , 𝑣 𝑞 ||𝑝(𝑧)] – 自然言語𝑑1,…,𝑀 と視点𝑣 1,…,𝑀 で構成される文脈r = 𝑓(𝑑1,…,𝑀 , 𝑣 1,…,𝑀 )が与えられたとき, 𝑞 𝑞 未知の視点𝑣 から対応する画像𝑥 を生成するように学習 – 元論文では自然言語と画像の両方に𝑑が使われていたり,図(前ページ)と文中の説明があって なかったりして分かりづらいので,あっているか微妙 47
SLIM vs. GQN • GQNとの違い: – 確率モデル的な違い: • Priorが標準ガウス分布(Kingma ver.と同じ) • Inferenceにrを使っていない(クエリ情報のみ) – アーキテクチャ的な違い: • InferenceとGenerationの両方をDRAWでモデル化 • 文脈rは言語と視点のconcat(GQN等では画像と視点) 𝑞 𝑧 𝑥𝑞, 𝑣𝑞 , 𝑟 𝑞 𝑧 𝑥𝑞, 𝑣𝑞 𝑝(𝑧) 𝑔 𝑥 𝑧, 𝑣 𝑞 , 𝑟 𝑥𝑞 𝑟 SLIM 𝑣𝑞 𝑧 𝑣𝑞 𝑧 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 𝜋(𝑧|𝑣 𝑞 , 𝑟) 𝑥𝑞 𝑟 GQN 48
GQNによるカメラ位置の推定 • Learning models for visual 3D localization with implicit mapping [Rosenbaum+ 18, DeepMind] – GQNを利用して,自己位置推定のタスクを解く • Minecraftからシーンのデータを作成. Figure 1: The Minecraft random walk dataset for localization in 3D scenes. We generate random – 文脈とクエリ(目標)画像から,視点(位置)を推定する trajectories in the Minecraft environment, and collect images along the trajectory labelled by the • camera 普通のGQNと逆の設定. pose coordinates (x,y,z yaw and pitch). Bottom: Images from random scenes. Top: The • localization 右画像の緑が予測した視点. problem setting - for a new trajectory in a new scene, given a set of images along the trajectory and their corresponding camera poses (the ‘context’), predict the camera pose of an additional observed image in the trajectory (the ‘target’, shown in green). has seen increased use for localization and SLAM problems in recent years [22, 6, 13], most methods still rely on pre-specified map representations. Agents trained with reinforcement learning have been demonstrated to solve navigation tasks that implicitly require localization and mapping [11, 3, 1, 20], suggesting that it is possible to learn these abilities without such pre-specification. Other methods 49
Reversed-GQN • 位置推定を行うために2通りの方法を提案 𝑞 𝑞 𝑞 𝑞 – Generative:arg max log 𝑝 𝑥 |𝑣 , 𝑟 + log 𝑝 𝑣 |𝑟 となる𝑣 を求める 𝑞 𝑣 • log 𝑝 𝑥 𝑞 |𝑣 𝑞 , 𝑟 はGQN – Discriminative: log 𝑝 𝑣 𝑞 |𝑥 𝑞 , 𝑟 を直接モデル化(Reversed-GQN) – モデルアーキテクチャはいずれもDRAWを使用 𝑞 𝑧 𝑥𝑞, 𝑣𝑞 , 𝑟 𝑞 𝑧 𝑥𝑞, 𝑣𝑞 , 𝑟 𝑣𝑞 𝑧 𝑔 𝑣 𝑞 𝑧, 𝑥 𝑞 , 𝑟 𝜋(𝑧|𝑥 𝑞 , 𝑟) 𝑥𝑞 𝑟 Reversed-GQN 𝑣𝑞 𝑧 𝑔 𝑥 𝑞 𝑧, 𝑣 𝑞 , 𝑟 𝜋(𝑧|𝑣 𝑞 , 𝑟) 𝑥𝑞 𝑟 GQN ※元論文ではモデルの詳細が書かれていないので,違う可能性あり 50
GQN / Reversed-GQN + Attention • より大規模な世界を学習するために,アテンション機構を導入 – 大規模な環境を学習するために利用 – DRAWのattentionとは異なるので注意 51
実験結果 • Generative(真ん中)とDiscriminative(下)の出力 – 文脈は20視点 ground truth samples camera pose probability maps Figure 5: Generated samples from the generative model (middle), and the whole output distribution the discriminative model (bottom). Both were computed using the attention models, and each –for予測した確率の高いところに,正解の位置(緑)があることが確認できる. image and pose map is from a different scene conditioned on 20 context images. The samples capture much of the structure of the scenes including the shape of mountains, the location of lakes, the 52 presence of large trees etc. (see supplementary video for more samples). The distribution of camera
GQNと「世界モデル」 53
GQNと世界モデル • これらのGQN系論文は「世界モデル」研究の一分野と考えることができる. • 世界モデル(world model): – 外界からの刺激を元に,外界世界をシミュレートするモデル – 内部モデル(internal model)や力学モデル(dynamics model)もほぼ同じ概念 – Haらの論文タイトル[Ha+ 18]としても有名 • 説明スライド: https://www.slideshare.net/masa_s/ss-97848402 世界モデル 刺激 • GQN系は,視点(と画像)で条件付けた世界モデルを学習している. – 世界全体をそのままモデル化するよりも効率的 – [Ha+ 18]では,条件付せずにそのまま学習していた(なので1つの小規模なシーンしか学習 できなかった) 54
世界モデル系論文を理解する上での(個人的な)ポイント • 「確率モデル」と「ネットワークアーキテクチャ」をそれぞれ理解することが 重要 – 最初に確率モデルを確認して手法の概要をつかむ – 次にネットワークアーキテクチャ(大体appendixにある)を読むと良さそう(経験上) • 今回(GQN)の場合・・・ – 確率モデルはCVAEそのもの(確率モデル的には新規性はあまりない) – 𝑧への推論にConvLSTMを利用していたり,表現ネットワークによって複数の視点の情報を 組み合わせで統合している(ネットワークアーキテクチャ的な新規性) • 実際には,これらが相互に関連している事が多いので注意が必要 – DRAWは確率モデルとアーキテクチャが一体化している. 55
GQN系世界モデルの課題(個人的な感想) • 時系列情報の扱い – GQN系は,過去の系列情報を平均している. • 順列ではなく,組み合わせを考えることができるという利点がある(GQN系の一番の貢献かもし れない). • その一方で,時系列に含まれる情報を獲得できないという欠点もある. – 空間だけでなく時間を含めて世界を学習するためには,時系列情報をどのように扱うかを考 える必要がある. • 世界を学習しきれない場合の対応 – 現実には,世界を学習し切ることは不可能(我々人間も世界のすべてを知っているわけでは ない) – 現実世界で適用するためには,世界モデルを学習しきれない中でどのように行動するかを考 えることが必要 • 好奇心の導入など • どのように効率的に世界を学習するかを考えることも重要 56
まとめ 57
まとめ • 今回話したこと – 深層生成モデル(VAE〜CVAE)の基礎 – GQN論文の説明 – GQNの関連研究と世界モデルとの関連 • 感想 – 「何を条件付けるか」という戦い – 世界モデル系はどんどんアーキテクチャが込み入ってきているので(TD-VAE とか),どこが重要なのかをしっかり確認する必要がある. 58