[논문 읽기] Generative Agents: Interactive Simulacra of Human Behavior

벵갈·2024년 11월 15일

논문 읽기

목록 보기
11/12

0. 개요


오늘 읽을 것은 최근 화제가 되는 Large Language Model(LLM)을 사용하는 논문이다. 강화학습 논문도 좋지만 그래도 LLM 관련 논문을 읽어보고 싶었기에 이번에 이걸로 골랐다. 동적인 NPC를 만들어보고 싶다는 생각이 있기 때문에 LLM과 관련된 논문을 많이 보면 도움이 되지 않을까 생각중이다.

1. 논문 요약


1.1. 논문 개요


  • 논문 제목: Generative Agents: Interactive Simulacra of Human Behavior

  • 논문 저자: TJoon Sung Park, Joseph C. O’Brien, Carrie J. Cai, Meredith Ringel Morris, Percy Liang, Michael S. Bernstein

1.2. 배경


지금까지의 연구들은 아래와 같은 방식으로 이루어졌다.

  • 인간-AI 상호작용
    초반 연구에서는 자연어 처리 기반으로 학습을 진행했다. AI에게 예제를 제공하여 학습하는 방식 등을 연구했지만 한계가 존재했다. 최근에는 딥러닝이나 LLM이 등장하여 이 두가지를 이용한 상호작용이 연구되고 있다.

  • 인간과 유사한 행동
    인간과 유사한 행동을 만드려는 연구도 계속 있었다. NPC가 그 대상이며 NPC는 대부분 규칙 기반으로 만들어졌다. 그래서 상호작용은 가능하지만 복잡한 환경에서는 상호작용이 불가능했다. 최근에 강화학습을 이용하여 NPC를 학습하는 방법이 나오고 있지만 주로 스타크래프트나 도타 같은 게임에서만 활용되고 있다.

  • Large Language Model
    LLM은 자연어 기반의 정보 검색, 문서 생성, 대화형 AI 등에 사용된다. 그러나 LLM은 기억관리가 잘 안되고 장기적인 행동의 일관성이 모자라다는 단점이 존재한다.

Generative Agents는 이런 연구들의 한계를 넘어 다양한 방법을 이용하여 장기적인 상호작용을 가능하게 한다. 방법에 대해서는 아래에서 서술한다.


1.3. 연구 방법


1.3.1. 환경 구성


Smallville는 The sims와 유사한 스프라이트 기반 샌드박스 게임환경으로 작은 마을을 시뮬레이션 한다. 이 논문에서는 smallville를 이용한다.

25명의 에이전트가 생활하며 각 에이전트의 성격이나 직업은 자연어로 처리되어 나타난다.

에이전트들은 서로 자연어를 통해 소통하며 관계를 형성하거나 활동을 진행한다. 사용자는 에이전트를 직접 조종할 수 있으며 환경을 바꿔서 에이전트의 행동을 유도할 수도 있다.

예를 들어 사용자가 '부엌 스토브에 불이 나고 있다'고 하면 에이전트는 불을 끄는 행동을 한다.

에이전트들은 기억과 계획을 사용하여 행동에 반영한다. 초대장을 받으면 그 시간을 기억했다가 파티에 가는 그런 느낌이다.

그리고 에이전트들은 자신의 계획을 세우고 하루를 시작한다. 상호작용을 통해 기억과 관계를 축적하고 조정한다.

1.3.2. 방법


4가지의 핵심 방법을 이용한다.

  • 1. Memory
    Agent는 관찰된 사건을 시간 순서대로 저장한다. 주변 환경, 자신이 한 행동, 다른 에이전트와의 상호작용이 모두 포함된다.

    반복 빈도, 사건의 강도 등을 활용하여 저장된 사건들에 중요도와 관련성 점수를 부여한다. 오래되거나 중요도가 낮은 사건들은 삭제될 수 있다.

    에이전트는 필요할 때 이 중요도와 관련성 점수를 이용하여 현재 상황에 적합한 사건을 불러온다.

  • 2. Reflection
    기억에만 의존할 경우 이상한 결론이 나올 수 있다. 예를 들어 가장 시간을 같이 보내고 싶은 사람을 고르라고 할때 지나가면서만 인사하는 이웃을 고를 수 있다. 그래서 우리는 reflection이 필요하다.

    에이전트는 일정 주기마다 자신의 기억을 분석하는 시간을 가진다. 여러 관찰값들을 이용하여 하나의 새로운 내용을 생성하는 것이다.

  • 3. Plan and React
    에이전트는 자신의 기억을 바탕으로 계획을 세우고 이를 실행한다. 처음에는 장기적인 계획을 세우고 그 다음에 세분화 하여 진행한다.

    에이전트는 주기적으로 환경과 상호작용을 한다. 관찰 값이 들어오면 그것과 관련된 정보를 기억에서 찾고 그것을 바탕으로 새로운 행동을 계획한다. 그 행동은 앞에서 세운 계획과 통합되며 즉각적인 반응을 생성한다.

  • 4. chat GPT
    GPT는 기억을 검색하고, 통찰을 생성하며, 계획과 반응 행동을 자연스럽게 생성하는 데 사용된다.

1.4. 주요 결과


1.4.1. 테스트 방법


에이전트를 아래의 질문들로 "인터뷰"하여 평가를 진행한다. 5가지 카테고리로 나누었으며 자기인식, 기억, 계획, 반응, 추론이다.

  • 자기인식
    "너 자신을 소개해라" 아니면 "이번주의 너의 계획을 말해라"의 질문을 통해 에이전트가 자신을 얼마나 잘 알고 있는지를 평가한다.

  • 기억
    "[이름]이 누구야?" 아니면 "시장으로 계신 분이 누구야?"라고 질문을 하여 에이전트의 기억을 평가한다.

  • 계획
    장기적인 기억이 필요한 "너 내일 아침 10시에 뭐할거야?" 같은 질문으로 계획을 평가한다.

  • 반응
    "너의 아침이 타고 있어. 너는 뭘 할거야?" 같은 질문을 통해 반응을 평가한다.

  • 추론
    "너가 최근에 한 사람을 만났다면 왜 누구를 만났고 왜 만났을까?"의 질문을 통해 추론을 평가한다.

그리고 end-to-end 평가를 진행한다. 에이전트의 상호작용이 일어나는 시뮬레이션 환경에서 2일간 게임 플레이를 통해 분석하며 평가한다.

1.4.2. 테스트 결과


전체 아키텍처를 활용한 에이전트는 가장 신뢰성 있는 행동을 보였으며, 기억, 계획, 반추가 제거된 경우 성능이 급격히 저하되었다.

점수 결과:

전체 아키텍처: 29.89
반추 제거: 26.88
계획 및 추론 제거: 25.64
기억, 계획, 추론 모두 제거: 21.21

자기인식, 기억, 계획, 반응, 추론 각각에서 모든 아키텍처 구성 요소가 있을 때 에이전트의 성능이 가장 좋았다.

특히 계획(Planning)추론(Reflection)이 제거되었을 때, 에이전트의 장기적인 일관성과 행동 신뢰성이 크게 떨어지는 경향이 있다.

End-To-End 테스트에서는 소수의 에이전트만 알던 정보들이 다른 에이전트로 퍼지는 결과가 나왔고 (예를 들어 시장 출마 소식을 처음에는 4%만 알다가 나중에는 32%가 알게 되었다.) 에이전트 간의 관계 밀도가 처음에는 0.174에서 나중에는 0.74까지 상승했다.

발렌타인 데이 시뮬레이션도 진행했는데 12명이 초대받았고 그 중 5명이 참석하였다. 그리고 불참한 사람들은 모두 자신만의 이유를 대고 불참하는 모습을 보여 기억과 계획을 바탕으로 결정을 내리는 모습을 보였다.

1.5. 개인 의견


처음에 LLM을 봤을 때도 굉장히 신기했는데 이걸 이런식으로 활용한다고 생각하니까 더 신기했다. LLM 시장은 점점 더 커지고 관련된 연구도 계속 활발히 진행될 것 같다는 생각이 든다.


2. 논문 링크


https://dl.acm.org/doi/abs/10.1145/3586183.3606763

0개의 댓글