第13回最先端NLP勉強会の発表スライドです. 論文: https://aclanthology.org/2021.acl-long.159/
論⽂紹介紹介者: ⻄⽥京介(NTT⼈間情報研究所)2021/09/16 @ 第13回最先端NLP勉強会
View Slide
• 何をする研究か︖– ⾃然⾔語と実世界のグラウンディングにneuro-symbolicなアプローチで取り組む– 現在の状態と⾏動から「次に何が起きるか」を⾔語や記号表現で予測する• 貢献は何か︖– データセット PigPen を整備・公開– Physical dynamicsモデルと⾔語モデルを分離して学習可能なモデル PIGLet を提案• 嬉しさは︖(個⼈的感想)– ⾝体性を有するAIの実現へ向けた重要なステップの達成– 事前学習済⾔語モデルと,実世界の物理的なcommonsenseの知識を結びつける知⾒の獲得まとめ2
• 本研究のセットアップ– タスク定義(NLU,NLG)– データセット PIGPeN• 提案モデル– PIGLet の構成– 物理ダイナミクスモデルの学習– ⾔語モデルの事前学習– ⾔語モデルと物理ダイナミクスの結合• 評価実験– NLUタスク– NLGタスク– ⾔語モデルの事前学習内容の影響3⽬次
• 3Dシミュレーション環境における初期状態 ⃗𝑜 × ⾏動 𝑎 → ⾏動結果 ⃗𝑜!のモデル化本研究で取り組むタスク(1)⾏動 𝑎(⾔語表現)初期状態 ⃗𝑜 (記号表現)物体の属性値集合⾏動結果 ⃗𝑜!(記号表現)物体の属性値集合4
• 3Dシミュレーション環境における初期状態 ⃗𝑜 × ⾏動 𝑎 → ⾏動結果 ⃗𝑜!のモデル化本研究で取り組むタスク(2) 視覚情報の理解(物体検出など)はスコープ外⾏動結果 ⃗𝑜!(⾔語表現)初期状態 ⃗𝑜 (記号表現)物体の属性値集合 ⾏動 𝑎(記号表現)5
• 280k Transitions( 初期状態 ⃗𝑜 × ⾏動 𝑎 → ⾏動結果 ⃗𝑜! ︔すべて記号表現)を3dシミュレータ THOR により作成.– 1つの状態を表す物体数は最⼤2個まで– 物体 126種(125?),⾏動 13種(10-20?),属性 42種• 2k Transitionsについて⾔語説明を付与– Train: 500(30種の物体についてはtest時”unseen”とするため除外)– Val: 500,Test: 10006データセット PIGPeN280k (記号表現)2k (⾔語説明)
• 本研究のセットアップ– タスク定義(NLU,NLG)– データセット PIGPeN• 提案モデル– PIGLet の構成– 物理ダイナミクスモデルの学習– ⾔語モデルの事前学習– ⾔語モデルと物理ダイナミクスの結合• 評価実験– NLUタスク– NLGタスク– ⾔語モデルの事前学習内容の影響7⽬次
PIGLeT モデル構成の概要• 記号表現を扱う物理ダイナミクスモデルと⾔語モデルに分解してモデリング8
(a) 物理ダイナミクスモデル• 物理ダイナミクスモデルで,初期状態 ⃗𝑜 × ⾏動 𝑎 → ⾏動結果 ⃗𝑜! をすべて記号表現で学習する初期状態は物体(最⼤2個)の属性値集合で表現⾏動の記号的な表現初期状態から変化する属性値を予測記号表現の系列を扱うTransformerencoder-decoder9
10物理ダイナミクスモデルの学習(1)• 物体エンコーダ(3層Transformer)により,2つの物体(属性値の系列)をベクトルℎ"#, ℎ"$に変換(1)
11物理ダイナミクスモデルの学習(2)• ⾏動エンコーダ(MLP)により,⾏動名𝑎と,⾏動の対象に取る2つの物体名𝑜%#, 𝑜%$の埋め込みを基にベクトルℎ%に変換𝐡%= MLP 𝐄 𝑎 , 𝐄 𝑜%#, 𝐄 𝑜%$(2)
12物理ダイナミクスモデルの学習(3)• ⾏動表現ℎ%を基に物体の表現ベクトルℎ"#, ℎ"$を変換する– このモジュールが「物理シミュレーション」を担当– 2つの物体をまとめて変換することを global アプローチと呼んでいる(1)の出⼒(2)の出⼒(1)(2)(3)
13物理ダイナミクスモデルの学習(4)• 変換後の表現ベクトル ,ℎ"を基に,⾏動結果の物体の属性値を1つずつデコードして⽣成する⽣成済の属性値(3)の出⼒(3) (4)
(b) ⾔語モデルの事前学習• ⾃⼰回帰型⾔語モデル(smallest GPT-2; 117M)をWikipediaとBookコーパスで事前学習14
(c) ⾔語と物理ダイナミクスの統合• ⾔語モデルによる⾏動の表現を,物理ダイナミクスモデルの表現へ転移して⾔語と実世界をグラウンディング同じベクトル表現になるように学習15⾏動の記号表現⾏動の⾔語表現
16(1) ⾏動を⾔語で表現する• ⾏動⽂を⾔語モデル(GPT-2)で状態ベクトルℎ%にencode• NLUタスクにおいて⾔語モデルの出⼒を⾏動エンコーダの代わりに使っても物体デコーダの出⼒が壊れないように学習
17(2) 状態を⾔語で説明する• MLPで(初期状態, ⾏動, ⾏動結果)を要約した表現ℎ&"!, ℎ&""をGPT-2に渡して,⾏動結果を表す⽂章を⽣成・学習• NLUタスク(⾔語⽣成しない)の場合でも,この学習は精度向上に効果があるℎ!"!, ℎ!""
• 本研究のセットアップ– タスク定義(NLU,NLG)– データセット PIGPeN• 提案モデル– PIGLet の構成– 物理ダイナミクスモデルの学習– ⾔語モデルの事前学習– ⾔語モデルと物理ダイナミクスの結合• 評価実験– NLUタスク– NLGタスク– ⾔語モデルの事前学習内容の影響18⽬次
• タスク定義– 初期状態 (属性値)× ⾏動(⾔語)→ ⾏動結果 (属性値)• No Change– 初期状態の属性値のまま出⼒• Text-to-Text– GPT-3,T5– Object1,2の属性値をJSONスタイルで⼊⼒・出⼒する• BERT-style– ⼊⼒︓初期状態の属性値を物理ダイナミクスモデルでembeddingしてBERTに与える + ⾏動の⾔語情報– 出⼒︓hidden-stateのpoolingvectorから属性値を予測19NLUタスクのベースライン
• 物体単位で全属性値を正確に予測できるかの指標Accuracyについて,提案⼿法は⼤幅に精度向上• 提案モデルでは訓練時に未知の物体についても精度が良い20評価結果(NLUタスク)
21Ablation study (NLUタスク)• 2物体同時(global)に状態変化を予測するのと,⾏動結果の⽂章の⾔語⽣成lossも使うことで,記号表現のみで学習するupper boundに迫る精度が出ている(物理ダイナミクスモデルの)
• タスク定義– 初期状態 (属性値)× ⾏動(記号表現)→ ⾏動結果 (⾔語)• Text-to-Text– T5: Object1,2の属性値と⾏動をJSONスタイルで⼊⼒・出⼒する• LM baseline– MLP_applyをしない提案⼿法(物理ダイナミクスモデルによる物理シミュレーションを⾏わない)22NLGタスクのベースライン
23評価結果(NLGタスク)• 提案⼿法がベースラインを上回る結果• 物理シミュレーション結果が⾔語⽣成にも貢献している• 主観評価(Faithfulness)では⼈間と⼤きな差
24出⼒例• 提案⼿法では訓練時に出現しないobject(Mug)についてもある程度正しく予測できている è ⾔語モデルの効果︖マグカップを空にするコーヒーメーカーをオンにする正解⾔語⽣成でマグカップに⾔及できていない正解
25⾔語モデルの事前学習の効果• ⾔語モデルの事前学習コーパスからunseen objectsに関する⽂章を除いてみる(PIGLeT ZeroShotLang)– 例えばMugは2万回コーパスに出現• ⾔語モデルで事前にobjectのcommonsenseを獲得できている⽅が精度は良い(ただし,それほど悪くなっていない)
• 何をする研究か︖– ⾃然⾔語と実世界のグラウンディングにneuro-symbolicなアプローチで取り組む– 現在の状態と⾏動から「次に何が起きるか」を⾔語や記号表現で予測する• 貢献は何か︖– データセット PigPen を整備・公開– Physical dynamicsモデルと⾔語モデルを分離して学習可能なモデル PIGLet を提案• 嬉しさは︖(個⼈的感想)– ⾝体性を有するAIの実現へ向けた重要なステップの達成– 事前学習済⾔語モデルと,実世界の物理的なcommonsenseの知識を結びつける知⾒の獲得まとめ26
参考資料27
• 3Dモデリングされた室内環境においてロボットの様々な⾏動をシミュレーション可能28環境︓AI2-THOW [Kolve et al. ,2017]Eric Kolve, Roozbeh Mottaghi, Daniel Gordon, Yuke Zhu, Abhinav Gupta, Ali Farhadi:AI2-THOR: An Interactive 3D Environment for Visual AI. CoRR abs/1712.05474 (2017)
• 最⼤2つの物体(126種)で表現される– Pan, Egg, Vase, Faucet, Mirror, Sink, Apple ,Fridge, etc.• 各物体は42種の属性値を持つ– 含む/含まれる物体,質量,サイズ,温度,その他多数の真偽値29状態の記号表現
• 最⼤2つの物体を引数に取る関数として表現される– 10〜20種︖ 数字がバラバラ• Fig. 2 (20)• Section 2.1 (10)• Appendix B (11)• 公開データ* (13)30⾏動の記号表現⾏動例(Appendix B)*https://github.com/rowanz/piglet/blob/main/data/annotations.jsonl
31評価結果(NLUタスク︔属性値レベル)