OpenAI 에이전트 간 상호작용을 통한 emergent 툴 사용

멀티에이전트 경쟁이 emergent 툴 사용을 이끈다

OpenAI는 시뮬레이션된 숨바꼭질 환경에서 멀티에이전트 공동 적응을 통해 에이전트가 점진적으로 복잡한 툴 사용과 전략을 발견할 수 있음을 보여주었다. 숨는 쪽은 시야를 피하고 찾는 쪽은 시야를 유지하려는 경쟁적 환경에서 에이전트를 훈련시킴으로써, 에이전트는 여섯 가지 distinct한 전략과 counterstrategy 시리즈를 개발했다. 이 emergent 복잡성은 객체와의 상호작용에 대한 명시적 인센티브 없이 발생했으며, 이는 멀티에이전트 경쟁이 자기지도 방식으로 지능적인 행동을 생성할 수 있음을 시사한다.

숨바꼭질 환경

에이전트는 다음과 같은 기능과 제약을 가진 물리 기반 시뮬레이션에서 작동한다:

  • Movement: 에이전트는 x와 y 방향으로 힘을 가해 움직이고 z축을 따라 회전한다.
  • Vision: 에이전트는 자신의 시야 앞쪽 원뿔 내의 물체를 본다.
  • Sensing: 라이더와 유사한 센서가 근처 벽, 물체, 다른 에이전트에 대한 거리 데이터를 제공한다.
  • Object Interaction: 에이전트는 물체를 잡고, 움직이고, 잠글 수 있다. 물체를 잠근 팀만이 그 물체의 잠금을 해제할 수 있다.
  • Game Structure: 게임에는 숨는 쪽이 환경을 준비할 수 있도록 찾는 쪽이 움직일 수 없게 되는 준비 단계가 포함된다.

Reward Structure: 보상은 팀 기반이다. 숨는 쪽은 모든 숨는 쪽이 숨겨져 있으면 +1을, cualquiera 숨는 쪽이 보이면 -1을 받는다. 찾는 쪽은 반대 보상을 받는다 (모든 숨는 쪽이 숨겨져 있으면 -1, 그렇지 않으면 +1). 에이전트는 플레이 영역에서 너무 멀리 이동하면 페널티를 받는다.

Autocurricula와 전략 발생

"autocurriculum"이라고 불리는 과정을 통해 에이전트 간 경쟁은 전략과 counterstrategy의 순환을 만든다. 한 팀이 승리 방법을 찾으면, 이는 상대 팀에 새로운 적응 압력을 만든다.

간단한 환경 (숨는 쪽 2명, 찾는 쪽 2명, 상자 2개, 경사로 1개, 문이 1-2개인 방)에서는 에이전트가 emergent 행동의 여러 단계를 개발했다. 증가된 무작위성을 가진 전체 환경 (숨는 쪽/찾는 쪽 1-3명, 블록 3-9개, 경사로 2개, 무작위 방)에서는 에이전트가 emergent 전략의 두 추가 단계를 진행했다.

기술 아키텍처 및 훈련

Policy Architecture

에이전트는 객체 및 다른 에이전트에 대해 순열 불변인 엔티티 중심 상태 기반 세계 표현을 사용한다. 아키텍처는 객체에 시간을 적용하는 대신 객체에 적용되는 마스크된 잔차 자체 주의 블록을 사용한다—Transformer에서 사용되는 것과 유사하다. 에이전트의 시야 밖에 있는 객체는 마스크 처리된다.

Training Methodology

  • Algorithms: 정책은 self-play와 Proximal Policy Optimization (PPO)를 사용하여 훈련된다.
  • Value Function: 최적화 중에 에이전트는 가려진 객체와 다른 에이전트에 대한 특권 정보를 가치 함수에 사용할 수 있다.
  • Scale: 대규모 훈련은 emergence에 필수적이다. OpenAI는 배치 크기가 8k와 16k일 때 "ramp defense" 단계 (단계 4)에 도달하지 못했으며, 더 큰 배치 크기는 벽시계 수렴 시간을 크게 가속화했다고 발견했다.

멀티에이전트 경쟁 vs. 내재적 동기

OpenAI는 멀티에이전트 경쟁을 내재적 동기 (count-based exploration)와 비교했다. 여기서 에이전트는 infrequently 방문된 상태를 방문하도록 유인된다.

  • Qualitative Results: 멀티에이전트 에이전트는 대피소 건설과 같은 인간 해석 가능한 행동을 개발했다. 반면, 내재적 동기로 훈련된 에이전트는 객체를 aparentemente 무irected하게 이동시켰다.
  • Scalability: 상태 공간 복잡성이 증가함에 따라, 내재적 동기 방법은 객체와의 의미 있는 상호작용이 적게 나타난다. 이는 멀티에이전트 경쟁이 비지도 방식으로 인간 관련 기술을 생성하는 더 확장 가능한 방법임을 시사한다.

전이 및 파인튜닝을 통한 평가

보상 추적이나 ELO를 넘어선 정량적 진전을 측정하기 위해, OpenAI는 도메인별 지능 테스트 세트를 제안했다:

  1. Object Counting: 객체의 이동을 예측하여 기억과 객체 영구성을 테스트한다.
  2. Lock and Return: 위치의 장기 기억을 테스트한다.
  3. Sequential Lock: 관찰되지 않은 순서에서 상자의 상태를 기억하는 능력을 테스트한다.
  4. Blueprint Construction: 특정 목표 위치로 상자를 이동하는 능력을 테스트한다.
  5. Shelter Construction: 원통 주변에 대피소를 건설하는 능력을 테스트한다.

숨바꼭질 에이전트는 많은 작업에서 기준보다 더 잘 수행했지만, 수렴 시간을 크게 개선하지는 못했다. OpenAI는 이를 미세 조정이 어려운 얽힌 기술 표현 때문이라고 돌리며, 일반화 가능한 기술 표현을 생성하기 위해 더 다양한 환경이 필요하다고 제안한다.

의도하지 않은 행동과 익스플레이더 이상 물리 시뮬레이터에서 훈련할 때, 환경의 물리 익스플로잇

고충실도 물리 시뮬레이터에서 에이전트를 훈련할 때는 종종 의도하지 않은 환경 또는 물리 익스플로잇이 발견된다:

  • Box Surfing: 에이전트는 상자 위에 서서 그것을 잡고 "서핑"을 하며 숨는 쪽의 위치로 이동한다.
  • Endless Running: 숨는 쪽은 가끔 상자를 잡고 무한히 달려서 찾는 쪽을 피하는 법을 배운다.
  • Ramp Exploitation: 숨는 쪽은 접촉 물리학을 악용하여 경사로를 플레이 영역에서 제거할 수 있으며, 찾는 쪽은 특정 각도로 벽에 경사로를 부딪혀 자신을 위로 발사할 수 있다.

Sources