Self-play는 강화 학습 에이전트의 성능을 향상시키기 위한 기법이다. 직관적으로, 에이전트는 "자기 자신과 대결"함으로써 성능을 개선하는 방법을 학습한다. 이 접근 방식은 최근 인공 지능의 많은 발전, 특히 고정된 외부 상대가 없거나 최적의 전략이 알려지지 않은 분야에서 핵심적인 역할을 한다.
다중 에이전트 강화 학습에서 연구자들은 협력 또는 경쟁 환경에서 학습 에이전트의 작업 성능을 최적화하는 것을 목표로 한다. 이러한 에이전트는 시행착오를 통해 학습하며, self-play는 학습 알고리즘이 환경 내 두 개 이상의 에이전트를 제어하도록 하는 것을 포함한다. 이 방법은 두 가지 주요 이점을 제공한다: 다른 에이전트의 행동을 결정하는 간단한 방법을 제공하여 의미 있는 도전을 만들고, 각 제어된 에이전트의 관점을 학습에 사용할 수 있으므로 정책 개선에 사용 가능한 경험의 양을 두 배 이상 증가시킨다.
역사적 배경과 발전
self-play의 개념은 초기 게임 연구에 뿌리를 두고 있다. 1950년대에 Arthur Samuel의 체커 프로그램은 평가 함수를 개선하기 위해 일종의 self-play를 사용했지만, 계산 제약으로 인해 그 범위가 제한되었다. self-play의 현대적 시대는 딥 러닝과 신경망의 부상과 함께 시작되었으며, 이를 통해 에이전트는 원시 경험에서 복잡한 전략을 학습할 수 있게 되었다. 획기적인 순간은 2016년 Google DeepMind의 AlphaGo가 self-play를 사용하여 정책 및 가치 네트워크를 정제하고 바둑에서 세계 챔피언 이세돌을 꺾었을 때였다. 이어서 2017년 AlphaZero가 등장하여 이 접근 방식을 체스, 쇼기, 바둑으로 일반화했으며, 인간의 게임 데이터 없이도 초인간적 성능을 달성했다.
메커니즘과 알고리즘
self-play는 머신 러닝 및 강화 학습의 프레임워크 내에서 작동한다. 일반적으로 가중치로 매개변수화된 신경망인 에이전트는 환경과 상호 작용한다. self-play에서 환경에는 종종 약간 다른 매개변수나 다른 훈련 단계를 가진 에이전트 자신의 복사본이 하나 이상 포함된다. 에이전트의 정책은 정책 기울기 방법이나 Q-러닝과 같은 알고리즘을 사용하여 업데이트되며, 보상 신호는 게임 결과에서 파생된다. 일반적인 기법은 에이전트 집단을 유지하는 것으로, 각 에이전트가 집단 내 다른 에이전트와 대결하여 다양성을 촉진하고 단일 착취 가능한 전략으로의 수렴을 방지한다.
영향력 있는 이론적 프레임워크는 Czarnecki 등이 제안했으며, 사람들이 재미로 하는 대부분의 게임은 모든 가능한 전략의 공간이 팽이처럼 보이는 "기술 게임"이라고 주장했다. 이 모델에서 전략 공간은 \(L_1, L_2, ..., L_n\) 레이어로 분할될 수 있으며, 더 높은 레이어의 모든 전략은 더 낮은 레이어의 모든 전략을 이긴다. 집단 기반 self-play에서 집단 크기가 어떤 레이어의 최대 크기를 초과하면 알고리즘은 최상의 가능한 전략으로 수렴할 수 있다. 이 통찰력은 다양한 집단을 유지하는 self-play 알고리즘 설계를 안내한다.
보드 게임에서의 응용
self-play의 가장 두드러진 응용 분야는 보드 게임이다. Google DeepMind가 개발한 AlphaZero는 self-play를 사용하여 체스, 쇼기, 바둑을 마스터한다. 무작위 플레이에서 시작하여 신경망이 안내하는 Monte Carlo Tree Search를 사용하여 수백만 게임을 스스로 대결하며 개선한다. 체스에서 AlphaZero는 새로운 전략을 개발했고 2017년 최고의 전통 엔진인 Stockfish를 꺾었다. 마찬가지로 바둑에서는 이전 AlphaGo Zero를 능가했다. 이 기법은 Meta AI가 개발한 Cicero AI 시스템이 자연어 협상과 함께 self-play를 사용하여 인간을 능가하는 성과를 낸 외교 게임과 같은 다른 게임에도 적용되었다. 또한 DeepMind의 DeepNash 시스템은 불완전 정보 게임인 Stratego를 플레이하기 위해 self-play를 사용하여 전문가 수준의 성능을 달성했다.
비디오 게임 및 시뮬레이션에서의 응용
보드 게임 외에도 self-play는 비디오 게임과 실제 세계 시뮬레이션에서 사용되었다. 실시간 전략 게임인 StarCraft II에서 DeepMind의 AlphaStar는 self-play를 사용하여 Grandmaster 수준에 도달하고 프로 게이머를 꺾었다. 이 기법은 OpenAI가 개발한 봇이 self-play를 사용하여 2019년 세계 챔피언을 꺾은 Dota 2와 같은 멀티플레이어 온라인 배틀 아레나 게임에도 적용된다. 로봇 공학과 자율 주행에서 self-play는 적대적 시나리오를 시뮬레이션하여 에이전트가 강력한 행동을 학습하도록 도울 수 있다. 예를 들어, Waymo는 self-play가 자율 주행 시스템 훈련을 위한 도전적인 교통 상황을 생성하는 시뮬레이션 환경을 사용한다.
이론적 기초와 과제
self-play는 이론적 및 실용적 과제가 없는 것은 아니다. 주요 문제는 다중 에이전트 설정에서 에이전트가 차선의 균형으로 수렴할 수 있는 "공유지의 비극"이다. 또 다른 과제는 에이전트가 현재 상대에게 너무 전문화되어 일반적인 능력을 잃는 "정책 붕괴" 또는 "망각"이다. 과거 게임을 저장하고 재사용하는 경험 재생과 여러 에이전트가 진화하는 집단 기반 훈련과 같은 기법은 이러한 문제를 완화하는 데 도움이 된다. self-play의 이론적 이해는 여전히 진화 중이며, 내시 균형 및 가상 플레이와 같은 게임 이론과 연결된다. Michael Jordan과 Anima Anandkumar와 같은 연구자들은 self-play에 특화되지는 않았지만 다중 에이전트 학습의 더 넓은 분야에 기여했다.
다른 학문과의 연결
self-play는 인간이 "백지 상태"에서 지식을 습득하는 방법을 설명하는 인식론적 개념인 tabula rasa와 비교되었다. 이 관점에서 에이전트는 사전 지식 없이 시작하여 놀이를 통해 배우는 어린아이처럼 자신의 상호 작용에서 전적으로 학습한다. 이 연결은 self-play가 인간의 시연이나 외부 감독에 의존하지 않기 때문에 일반 지능을 달성할 수 있는 잠재력을 강조한다. 그러나 비평가들은 self-play가 상식이나 사회적 협력이 필요한 모든 분야, 특히 인간의 사전 지식이 가치 있는 분야로 확장되지 않을 수 있다고 주장한다.
최근 발전과 미래 방향
최근 연구는 self-play를 대규모 언어 모델로 확장했다. 예를 들어, self-play 미세 조정과 같은 기법은 모델이 자신의 응답을 생성하고 비판하도록 하여 추론 능력을 개선하는 데 사용된다. 이는 모델이 자신의 판단에 따라 개선되는 RLHF (인공 지능 피드백 기반 강화 학습)와 같은 방법과 관련이 있다. 2023년에는 OpenAI와 Anthropic이 더 강력하고 정렬된 AI 시스템을 훈련하기 위해 self-play를 탐구했다. self-play의 미래는 더 복잡한 환경으로 확장하고, 커리큘럼 학습과 통합하여 작업 난이도를 점진적으로 높이며, 트랜스포머의 멀티 헤드 어텐션 아키텍처와 결합하여 더 나은 일반화를 달성하는 데 있다.
결론
self-play는 강화 학습에서 강력하고 다재다능한 기법으로, 에이전트가 게임 및 그 이상에서 초인간적 성능을 달성할 수 있게 한다. 무제한 훈련 데이터를 생성하고 의미 있는 도전을 제공하는 능력은 현대 AI 연구의 초석이 된다. 과제는 여전히 남아 있지만, 지속적인 이론 및 경험적 작업은 보드 게임에서 언어 모델에 이르기까지 적용 범위를 계속 확장하여 인공 지능의 추가적인 돌파구를 약속한다.
추가 읽을거리
포괄적인 개요는 DiGiovanni, Anthony; Zell, Ethan; et al. (2021). "Survey of Self-Play in Reinforcement Learning". arXiv:2107.02850 [cs.GT]를 참조하십시오. 이 설문 조사는 다양한 self-play 알고리즘, 이론적 결과 및 응용을 다룬다.