【DL輪読会】Object-Centric SemanticVector Quantization

2.9K Views

February 16, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] Object-Centric Semantic Vector Quantization 2024.02.16 Akihiro Nakano, D1, Matsuo Lab http://deeplearning.jp/ 1

2.

書誌情報 • “Object-Centric Semantic Vector Quantization” – Arxiv版は“Structured World Modeling via Semantic Vector Quantization” • 著者:Yi-Fu Wu, Minseung Lee, Sungjin Ahn – Rutgers⼤学+KAIST – Sungjin Ahn先⽣はここ数年Object-centric learningやDreamerの研究に取り 組んでいる • ICLR2024にて採択されたっぽい(ポスター) 2

3.

概要 • ⼀⾔で⾔うと? – ICLR2023に出てたNeural Systematic Binder[1]の離散化版 (以前,輪読会で ⾃分が紹介した) – VQVAEやdVAEなどの主流の離散変数を学習する⼿法だとシーンを構成的に 理解できないことに着⽬ – 𝑀個のコードブックを⽤意し,物体中⼼学習⼿法と組み合わせることで,⾃⼰ 教師ありで,シーン中の物体を𝑀個のpropertyの組み合わせとして表現可能に – 後続タスクにおける性能や⽣成性能において既存研究を上回ることを確認 3

4.

背景 • Object-centric Learning(物体中⼼学習) – 複数の物体から構成されるシーンを,単⼀の潜在表現ではなく,物体ごとの 潜在表現(以下,slot表現)に分割して表すように学習する⼿法 – 元々はVAEのDisentanglementに関する研究の⼀つだったが,最近では Transformerベースのモデルも登場 [2] – シーンを物体にdisentangleし,さらに物体表現がfactorごとにdisentangleさ れて学習されることで,未知物体・シーンへの汎化性能が向上 – 静⽌画 → 動画への拡張,物体間の相互作⽤のモデリング,視点変化の追加 などが研究されてきている [3,4] – シーンを物体表現を⽤いて表した⽅が後続タスクにおいても有⽤であることが 近年⽰されている • VQAタスク,planningなど [5,6] 4

5.

関連研究 1. Slot Attention [7] • 物体中⼼である潜在表現を獲得する⼿法の⼀つ • CNNエンコーダの出⼒をquery,ガウス分布によって初期化された slot表現をkey・valueとして,画像のどの部分をどのslotに割り当て るかを競い合わせる • 動画予測など様々な拡張が提案されている 5

6.

関連研究 2. SLATE [8] • Slot Attentionを拡張した⼿法の⼀つ • dVAEと組み合わせて,離散化されたvisual tokenからslot表現を獲得 する⼿法 • 未知物体・物体数・シーンに対して⼤幅に汎化性能が向上 6

7.

関連研究 3. SysBinder [1] • Slot Attentionで得られたslot表現を複数のblockに分割し,blockごと に別々のproperty(物体の⾊,形,など)を学習できるようにした • Disentanglementが難しいデータセット(CLEVR-Tex)で既存⼿法を 上回る性能 7

8.

問題意識 • VQVAE[9]のように画像のパッチを離散化するのではなく,シーンの semanticsを捉えた上で離散化したい • Slot表現を単⼀のコードブックを⽤いて離散化すると,うまく汎化し ない上,膨⼤なサイズのコードブックが必要 → 各物体を複数のproperty(性質)の組み合わせとして離散化する 8

9.

⼿法 • 推論側:Slot Attention[7]のアル ゴリズムをもとに改良 1. ⼊⼒画像をエンコーダーに通して, 特徴ベクトル𝑭を得る 2. Slot表現𝑠を初期化する 3. Slot表現をquery,特徴ベクトルを key/valueとしてattentionを計算 4. Slot表現を𝑀個のblock表現に分割 5. 各block表現を共通のGRUで更新 𝑁:slot数(物体の最⼤個数) 6. 各block表現をそれぞれのコード 𝑀:block数(各物体のファクタの数) ブックを⽤いて離散化する 𝒛",$ = 𝐂$,% where 𝑘 = arg min 𝒛",$ − 𝐂$,& ! ' & 7. 3に戻る ( 𝐂 ∈ ℝ)×+×,! :コードブック(サイズ 𝑘) 𝒛' ∈ ℝ-×)×,! :block表現(連続) 𝒛! ∈ ℝ-×)×,! :block表現(離散) 9

10.
[beta]
⼿法
• ⽣成側: SysBinder[1]のアルゴリズムを利⽤
1. Block-Coupling
– 同じblock番号が同じconceptに対応づけるため,block番号をpositional
embeddingして1層のTransformerに通す

4,6
𝒛! 3

=

4,6
𝒛3

+

p789:;
6

⟹

4,<
4,=
𝒛' 3 , ⋯ , 𝒛' 3

=

4,<
4,=
BlockCoupler(!𝒛3 , ⋯ , 𝒛! 3 )

– 「これによりblock間の相互作⽤もモデルできる」

2. Autoregressive Decoding
– Transformerを⽤いてautoregressiveに特徴ベクトルを予測し,デコードする

• 全体の損失関数はVQVAE同様,
再構成誤差+commitment loss
10

11.

⼿法 • Semantic Prior – ここまでのモデルのみだと新規シーンの⽣成ができない – 学習したコードブックをfreezeし,autoregressiveなpriorを学習する – 𝑀個のファクタからなる計𝑁個の物体の表現を⽣成 • 画像サイズによらない,という利点 11

12.

実験 • 何の観点で評価するか 1. Priorを⽤いた⽣成性能 2. 後続タスク 1. Odd-One-Out 2. Property Comparison • 何のデータセットを ⽤いるか – 2D Sprites – CLEVREasy/Hard/Tex CLEVR-Easy Type of CLEVR Easy Hard Tex CLEVR-Tex CLEVR-Hard Color Shape Position Size Material ✅ ✅ ✅ ❌ ❌ ✅ ✅ ✅ ✅ ✅ ✅ ✅ ✅ (8 colors) ✅ (137 colors) ✅ (obj + bg) 12

13.

実験結果:① Priorを⽤いた⽣成性能 • 2D Sprites • CLEVRER – FIDに加え,⼿作業で⽣成画像が データセットの要件(物体のうち, 1つは他と異なるpropertyを持つ 物体になっている)を満たしている かをチェック 13

14.

実験結果:②-1 Odd-One-Outタスク • 2D Spritesデータセットを利⽤したタスク – 必ず⼀つは「仲間外れ」の物体がある – 画像を4分割し,どの分割に「仲間外れ」があるかを予測する タスク – 事前学習した提案モデルによる離散表現を⽤いて, タスク⽤のネットワーク(3層のTransformer)を学習させる – タスク⽤のネットワークは,物体のpropertyの組み合わせの ⼀部を使って学習→in-distributionとout-of-distributionで評価 – 評価指標 • In-distributionでacc=98%に 到達するまでの速さ • OODでのacc. 14

15.

実験結果:②-2 Property Comparisonタスク • CLEVR-Hardデータセットを利⽤したタスク – 物体のとりうる形・⾊・素材にそれぞれ数字を割り振る – 画像が与えられたとき,各propertyの数字の最⼤値の和を予測するタスク – 事前学習した提案モデルによる離散表現を⽤いて, 形:円柱=0, 球=1 タスク⽤のネットワーク(8層のTransformer)を ⾊:⾚=5, ⻘=3 素材:光沢あり=1, 学習させる ______なし=0 – ランダムに物体を50個選択し,OODデータセット を構築 • 物体の組み合わせに汎化しているかを確認するため (1, 5, 1) (0, 3, 1) 1+5+1=7 15

16.

まとめ • Slot表現をさらに明⽰的にblockに分け,離散化⼿法と組み合わせる アルゴリズムを提案 • 物体中⼼な表現を⽤いる⽅が,学習していない物体やその組み合わせに 汎化することを⽰した • 離散化によって汎化性能がさらに向上することも確認 疑問・課題感など • 結局slot数・block数はハイパラのまま.物体間で共通のpropertyがある 前提なのが違和感. • Autoregressive priorの位置付けがいまいちわからなかった • 物体中⼼表現は事前学習した上で後続タスクを解くのもどうにかしたい 16

17.

参考⽂献 [1] Singh G, et al. Neural systematic binder. ICLR2023. [2] Singh G, et al. Illiterate DALL-E Learns to Compose. ICLR2022. [3] Singh G, et al. Simple Unsupervised Object-Centric Learning for Complex and Naturalistic Videos. NeurIPS2022. [4] Li N, et al. Learning Object-Centric Representations of Multi-Object Scenes from Multiple Views. NeurIPS2020. [5] Wu Z, et al. SlotFormer: Unsupervised Visual Dynamics Simulation with Object-Centric Models. ICLR2023. [6] Veerapaneni R, et al. Entity Abstraction in Visual Model-Based Reinforcement Learning. CoRL2020. [7] Greff K, et al. Multi-Object Representation Learning with Iterative Variational Inference. ICML2019. [8] Locatello F, et al. Object-Centric Learning with Slot Attention. NeurIPS2020. [9] Van Den Oord A, Vinyals O. Neural discrete representation learning. NIPS2017. [10] Eslami SM, et al. Attend, Infer, Repeat: Fast Scene Understanding with Generative Models. NIPS2016. [11] Kosiorek A, et al. Sequential Attend, Infer, Repeat: Generative Modelling of Moving Objects. NeurIPS2018. [12] Kossen J, et al. Structured Object-Aware Physics Prediction for Video Modeling and Planning. ICLR2020. [13] Nakano A, et al. Interaction-Based Disentanglement of Entities for Object-Centric World Models. ICLR2023. [14] Chang M, et al. Neural Constraint Satisfaction: Hierarchical Abstraction for Combinatorial Generalization in Object Rearrangement. ICLR2023. 17

18.

Appendix 1. Latent Traversal 18

19.

Appendix 2. Block Analysis 19

20.

Appendix 3. Ablations 20

21.

Appendix 4. Factorizationの種類 Factorizationの 種類 静止画 動画 Explicit AIR[10]など SQAIR[11], STOVE[12]など (What, Where, Presenceなど) (What, Where, Presence, Velocityなど) SysBinder [1],本研究 STEDIE[13], NCS[14]など Implicit 21