728x90
논문 소개
https://arxiv.org/abs/2304.03442
키워드
- Human-AI interaction
- Agents
- Generative AI
- LLM
학습 내용
Introduction of Generative Agents
- 이 논문은 인간의 행동과 유사하게 행동하는 generative agent 소개한다.
- 인간처럼 상호작용하는 generative agents를 생성하여 연구를 진행하였다.
- 교류 → 이벤트 → 기억 → 행동가 중요한 요소이다
- We demonstrate through ablation that the components of our agent architecture—observation, planning, and reflection—each contribute critically to the believability of agent behavior.
- By fusing large language models with computational interactive agents, this work introduces architectural and interaction patterns for enabling believable simulations of human behavior.
Architecture
- 문제 상황 : 기억을 단순히 summarize 하게 되면 기억이 소실되고 제대로 된 대답을 내지 못할 수 있음
- 접근 방법 (해결) : Memory Stream을 이용
- The Memory Stream
- agent의 기억 관리 수단
- observation을 이용한다
- 직접적으로 agent에게 인지되는 것
- 그들 자신의 행동, 다른 agent가 행하는게 인지되는 것
- object의 변화를 '관찰' 한 것
- retrieval function
- input : 현재 상황
- output : 메모리 스트림의 하위 집합
- 그렇다면 어떤 기억을 사용하는 것이 좋을까?
- Recency : 최근에 기억된 것
- 최근 기억이 중요도가 높다
- Importance : 중요한 것, 여기서는 비 일상적인 것의 우선순위가 높게 측정된다
- 해당 문장에 대한 중요도를 chatGPT에게 질문해서 점수화를 진행하는 것으로 보인다
- 이 부분은 실제로 어떻게 구현되어 있는지 모르겠지만 개인적으로는 각각의 Agent의 character마다 중요도가 다른데 이를 고려하지 못하는 점이 아쉬운 것 같다.
- 해당 문장에 대한 중요도를 chatGPT에게 질문해서 점수화를 진행하는 것으로 보인다
- Relevance : 관련성
- 현재의 상황과 가장 연관된 기억의 중요도가 높다
- 위 세 개의 가중합으로 memory를 뽑아와서 사용하는 구조로 보인다.
- Recency : 최근에 기억된 것
- The Memory Stream
Evaluation and Demonstration
- Controlled Evaluation
- 특정 상황에서 신뢰할 수 있는 행동을 생성하는지 여부를 개별적으로 평가
- 과거 경험을 검색하고 환경과 경험을 기반으로 현실적인 계획, 반응 및 생각을 생성하는 능력을 테스트
- 통제된 환경에서 Agent의 행동을 이해하기 위해 좁게 정의된 시나리오에서 Agent의 성능을 평가하는 데 중점을 둔다
- End-to-End Evaluation
- 전체 게임 두 번에 걸쳐 개방형 방식으로 상호 작용하여
- 집단으로서 발생하는 행동을 연구하고
- 에러나 경계 조건들을 알아내고자 한다
- 전체 게임 두 번에 걸쳐 개방형 방식으로 상호 작용하여
- Technical Evaluation
- 에이전트가 기억, 계획 및 성찰 능력을 평가하기 위해 자연어로 'interview' 를 진행한다
- Agent의 성격 유지
- 기억, 계획, 반응 및 정확한 반영 능력을 평가
- 에이전트가 기억, 계획 및 성찰 능력을 평가하기 위해 자연어로 'interview' 를 진행한다
Contributions
- 생성 모델을 활용하여 generative agent를 생성하여 그럴싸한 인간의 행동을 시뮬레이션화 했다.
- 이에 따라 상호 작용하고 다양한 agent를 만들어냈다.
- 이 agent는 기억(remember), 검색(retrieve), 성찰(reflect), 다른 agent들과 상호작용(interact)하고 계획(plan)하며 신뢰성을 올릴 수 있다
- 평가 방식
- 개별 행동을 평가
- 상호 작용 중에 나타나는 사회적 행동을 관찰
- 이러한 구성 요소가 좋은 성능을 내는 데 중요한 요소이다
Future Applications
- generative agents는 디자인 도구에서부터 소셜 컴퓨팅 시스템, 몰입형 환경에 이르기까지 많은 대화영 어플리케이션에서까지 많은 영역에 적용할 수 있을 것으로 보인다
생각 정리
- 단순히 게임의 차원을 넘어서 chatGPT의 한계를 극복하는 방향성을 제시했다고도 생각했다.
- 요약 정보를 기억하는 것이 아니라 메모리에 관찰값을 넣어서 현재 행동들과 관련이 있는 메모리들, 중요한 메모리를 가중합으로 계산해서 메모리를 꺼내오는 과정이 어떻게 말하면 실제 사람의 행동, 사고방식과 유사하다는 생각이 들었다.
- 버츄얼 휴먼 등을 구현할 때 이 아이디어를 참고해서 계발하면 좋을 것 같다는 생각도 들었다
- Github 코드를 직접 확인해서 어떻게 구현했는지 보는 것도 재미있을 것 같다는 생각이 들었다.
- https://github.com/joonspk-research/generative_agents
728x90