20.9K Views
September 15, 23
スライド概要
DL輪読会資料
DEEP LEARNING JP [DL Papers] Generative Agents: Interactive Simulacra of Human Behavior Jeong Seong Cheol, M1, Matsuo Lab, The University of Tokyo http://deeplearning.jp/ 1
書誌情報 Preprint: https://arxiv.org/abs/2304.03442 Data: Submitted on 7 Apr 2023 Github: https://github.com/joonspkresearch/generative_agents/tree/main Abstract • LLMを使って⼈間の⾏動をシミュレーショ ンするGenerative Agentを考案. • 25⼈のAgentをシミュレーション時間で2⽇ 間⾏動させた.Agentは,個々の社会的⾏ 動と創発的な社会的⾏動をとった.
背景&先⾏研究 • ⼈間の⾏動をシミュレーション上で再現し,⼈⼯社会を創る研究が40年以上に わたって⾏われてきた • ルールベースや強化学習ベースで⼈間の⾏動を再現する⼿法が開発されてきた が,⼈間の⾏動空間は膨⼤で限定的な⾏動の再現にとどまる • LLMをつかってfew-shotやCotで,⼈間の会話や⾏動を⾃然⾔語で再現できた. しかし,この設定では現在の環境の情報のみアクセスしていて,過去の膨⼤な 情報を使⽤できていない.⼀貫性のない⾏動をとる. • LLMを使った⼿法を拡張し,過去の情報を外部記憶として保存・アクセスでき るアーキテクチャを考案した
⽬的 シミュレーション上で⼈間の⾏動を再現し⼈⼯社会を創る
提案⼿法 ‒ Generative Agent エージェントに以下の機能を持たせる • Memory and Retrieval • Reflection • Planning and Reacting 計画 知覚 検索 内省 Generative Agentのアーキテクチャ ⾏動
提案⼿法 ‒ Generative Agent エージェントに以下の機能を持たせる • Memory and Retrieval • Reflection • Planning and Reacting 計画 知覚 検索 内省 Generative Agentのアーキテクチャ ⾏動
提案⼿法 ‒ Generative Agent Memory and Retrieval • Memory Stream:エージェントの経験を包 括的に記録する.⾃然⾔語の説明,作成タイ ムスタンプ,および最新のアクセスタイムス タンプなどを含む. • 現在の状況に対して,エージェントが考慮す べき記憶をMemory Streamから検索するた め検索スコアを導⼊.3つの要素からなる.3 要素はスカラーで[0,1]に正規化. • Recency:記憶の新しさ.時間依存で減 衰. • Importance:ありふれた記憶か⾮凡な 記憶かを決める10段階(1~10)の指標.イ ベントの重要度はLLMに数値で吐かせる (右上のプロンプト). • Relevance:現在の状況との関連度.ク エリをエンベッディングベクトルにして, Memory Stream内のベクトルとのコサイ ン類似度. • 検索スコア= Recency+ Importance+ Relevance Importanceを測るプロンプト
提案⼿法 ‒ Generative Agent エージェントに以下の機能を持たせる • Memory and Retrieval • Reflection • Planning and Reacting 計画 知覚 検索 内省 Generative Agentのアーキテクチャ ⾏動
提案⼿法 ‒ Generative Agent Reflectionの導⼊ エージェントKlausさんに • “1時間⼀緒に過ごす相⼿を1⼈選ぶとしたら誰ですか?”と質問する • 観察記憶しか備えていない場合(上図),⼀般化や推論を⾏うのに苦労する • この場合Klausさんは,最も頻繁に交流のあった⼈物(隣⼈)を選ぶだけであった • より望ましい応答は,Klausさんが研究プロジェクトに何時間も費やしている記憶から⼀般化して, Klaus さんが研究に熱中しているという⾼次の内省を⽣み出し,同様に別のエージェントのマリアさんが(分野は 異なるが)⾃分の研究に⼒を⼊れていることを認識し,⼆⼈が共通の関⼼があるという内省を可能にするこ とである • つまり,エージェント(Klausさん)には過去の記憶から⾃分と同じ研究熱⼼なマリアさんと回答してほしい
提案⼿法 ‒ Generative Agent Reflection 過去の観察記憶から⾼次の情報へ 集約し,Memory Streamに保存 計画 知覚 検索 内省 Generative Agentのアーキテクチャ ⾏動
提案⼿法 ‒ Generative Agent エージェントに以下の機能を持たせる • Memory and Retrieval • Reflection • Planning and Reacting 知覚 計画 検索 内省 Generative Agentのアーキテクチャ ⾏動
提案⼿法 ‒ Generative Agent Planning and Reacting • LLMを使って⾏動を⽣成するとき,過去の情報を考慮しないと⼀貫性 が損なわれる (例)エージェントが12:30に昼⾷後,13:00にもまた昼⾷をとる • そこでエージェントに1⽇の始まりに⼤まかなプランニングをさせる • 最初の計画を作成するために,エージェントの 要約説明 (例:名前,特徴,最近の経験の要約)と 前⽇の要約をプロンプトに含める. • 最終的に,⼤まかなプランニングは再起的に1 時間ずつのプランニングに分解される • プランニングはMemory Streamに保存される • エージェントの1⽇の中で観察したものによって Planは変更しうる 1⽇の始まりに⽴てる⼤まかなプラン(プロンプト)
提案⼿法 ‒ Generative Agent 3つの機能により,エージェントは観察,内省,計画のすべてを⼀緒に考えることができる 計画 知覚 検索 内省 Generative Agentのアーキテクチャ ⾏動
実験環境 あらかじめマップ内の決められた位置に建物やオブジェクトがある
実験環境 マップには25⼈のエージェントが配置され,初期記憶が著者らによって設定される John Linさんの初期記憶 John Linさんの初期記憶(和訳)
実験結果 • シュミレーション内の時間で2⽇間観察(放置)する • エージェントは右図のアーキテクチャに従い⾏動する • エージェント同⼠は会話できる ジョン・リンの朝。ジョンは午前6時ごろに起床し、⻭を磨き、シャワーを浴び、朝⾷を⾷べるという朝の⽇課をこなす。そして、 妻のメイと息⼦のエディと軽く挨拶を交わした後、仕事を始める。
評価 2つの視点でGenerative Agentを評価 • 個々のエージェントは過去の経験を適切に検索し,彼らの⾏動を形成する信じられる計画, 反応,思考を⽣成するか? • エージェントのコミュニティは,情報の拡散,関係の形成,異なるコミュニティをまたぐ エージェントの協調を⽰すか?
評価 個々のエージェントは過去の経験を適切に検索し,彼らの⾏動を形成する信じられる計画,反 応,思考を⽣成するか? • 2⽇経過後のエージェント25⼈に” ⾃⼰紹介”や”〇〇さんは誰です か?”などの質問をして回答を評価. • ベースラインは⼈間.複数⼈の⼈間 を使ってエージェント1⼈1⼈の2⽇ 間分のイベントを観察.エージェン トと同じ質問に答えた.
評価 エージェントのコミュニティは,情報の拡散,関係の形成,異なるコミュニティをまたぐエー ジェントの協調を⽰すか?
実験結果 • あるエージェントAの初期記憶に”2⽇⽬の午後にバレンタインパーティーを開く”と書く • すると1⽇⽬に他のエージェントをパーティーに誘い,2⽇⽬にパーティー会場の準備をす るといった社会的な⾏動が⾒られた • 下図は,エージェントAに誘われてパーティ会場に来たエージェント達(5⼈くらいきた)
実装&検証 実⾏環境 • • • • • 実装はGithub 公式リポジトリを動かした 実⾏機器はM1 Macbook Air APIコスト(GPT-3.5-turbo)と処理時間短縮のためエージェントを3⼈とした 1step20秒に設定(defaultは10秒),4000step観察した.シミレーション上での約20時間. 実⾏時間は現実時間で2~3時間であった 実験詳細 • エージェント:Isabella,Klaus,Maria • シミュレーション上での実験⽇時: Tuesday, February 14, 2023, 00:00:00~20:00:00 • 特別な条件:IsabellaはTuesday, February 14, 2023, 5pmにヴァレンタインパーティー をする初期設定とした Isabellaが他エージェントをパーティに誘うか & 他エージェントがパーティに来るかを確認する
検証1: 11:50 AM 実験詳細 • • エージェント:Isabella,Klaus,Maria IsabellaはTuesday, February 14, 2023, 5pmにヴァレンタインパーティーをする初期設定 11:50 AMにIsabllaが⾏動 IsabellaがKlausにパーティに来るか聞く(誘う)
検証2: 3:11 PM 実験詳細 • • エージェント:Isabella,Klaus,Maria IsabellaはTuesday, February 14, 2023, 5pmにヴァレンタインパーティーをする初期設定 3:11 PMのIsabllaの⾏動 Isabellaは5pmまでパーティの準備をしている
検証3: 3:29 PM 実験詳細 • • エージェント:Isabella,Klaus,Maria IsabellaはTuesday, February 14, 2023, 5pmにヴァレンタインパーティーをする初期設定 3:29 PMのIsabllaの⾏動 IsabllaがMariaを誘うような⽂⾔を確認
検証3: 6:07 PM 実験詳細 • • エージェント:Isabella,Klaus,Maria IsabellaはTuesday, February 14, 2023, 5pmにヴァレンタインパーティーをする初期設定 パーティー開始後,Isabellaに誘われていたKlausがパーティに来た
まとめ&感想 • エージェントが3⼈の場合でも,パーティに誘う,パー ティに参加するといった社会的⾏動を確認した • 初期状態のみを与えたエージェントが社会的な振る舞いを したのは興味深い • シミュレーション世界だけでなく実世界のロボットなどに も応⽤が期待される
参考資料 • Github 公式リポジトリ • Generative Agents のセットアップ⼿順 • 松尾研輪読会 Generative Agent 千葉くん資料