딥마인드, 알파스타를 통해 스타크래프트2까지 정복하다.

AlphaStar, playing the alien race Zerg, fighting off its human opponent.

지난 10월 30일, 저명 국제 학술지 <네이처>에서는 구글 딥마인드의 스타크래프트2 인공지능 '알파스타(AlphaStar)'가 상위 0.2%의 실력에 해당하는 그랜드 마스터 등급을 달성하였다는 내용의 논문을 발표하였습니다. 알파스타는 지난 1월에도 스타크래프트2 프로 선수 2명과의 경기에서 10승 1패의 성적을 거둔 바 있으나, 이 때는 사람이 따라할 수 없는 빠른 분당 행동수(Actions Per Minute, APM)로 경기를 진행하였을 뿐 아니라 인공지능이 입력받는 정보도 사람이 보는 화면과 다르게 더 상세하였습니다. 이번에 발표된 버전의 알파스타는 사람이 보는 화면과 같은 정보를 입력받고 사람도 충분히 가능한 분당 행동수로 게임을 진행하여 그랜드 마스터 등급을 달성하였습니다.

알파스타는 다음 두 가지의 주요 특징을 통해 그랜드 마스터 등급의 성능을 달성할 수 있었습니다.
  • 모방 학습(Imitation Learning) 및 자가 대전(Self-play)
  • 리그 플레이

우선 모방 학습 및 자가 대전에 대한 내용입니다. 딥마인드에서는 실제 사람들의 대전 기록을 이용하여 지도 학습으로 알파스타를 학습시켜서 어느 정도의 실력을 갖추게 한 뒤, 알파스타 에이전트의 자가 대전을 통해 성능을 더욱 향상시켜 나갔습니다. 매 시간 단위마다 알파스타가 취할 수 있는 행동의 수는 1026가지에 달한다고 합니다. 이렇게 방대한 경우의 수를 가진 게임에서 효율적으로 알파스타의 성능을 향상시키기 위해 우선 기존의 대전 기록을 통해 빠르게 성능을 높인 다음에 자가 대전을 적용한 것입니다.


위의 그림은 스타크래프트2의 각 리그별 MMR (Match Making Rating) 분포를 나타낸 그림입니다. 우측에 AlphaStar supervised라고 표시되어 있는 부분을 살펴보면 대전 기록을 이용한 지도 학습만으로도 이미 다이아몬드 리그 이상의 성능을 확보하였으며 그 후 자가 대전을 통해 성능을 더욱 높여갔음을 알 수 있습니다.

다음으로는 알파스타가 그랜드 마스터 등급을 달성하는데 큰 기여를 한 리그 플레이에 대해 다루겠습니다. 스타크래프트2는 복잡한 게임이며 각각의 유닛은 물론 전략마다 상성이 있어서 늘 승리하는 전략 하나가 있는 것이 아니라 상대와 상황에 맞게 유기적으로 대처하는 것이 중요합니다. 그런데 자가 대전을 하게 되면 인공지능은 상대 인공지능을 이기는 것에만 집중하게 되어 다른 전략을 구사하는 플레이어에 취약해지게 됩니다. 이를 해결하기 위해 딥마인드에서는 다수의 알파스타 에이전트들을 리그 방식으로 대전시켜서 알파스타가 다양한 전략에 대해서 유기적으로 대처할 수 있게 학습시켰습니다.


위 그림은 리그 플레이의 효과를 예시를 들어 설명한 것입니다. 스타크래프트2의 프로토스 종족에는 가위바위보처럼 물고 물리는 상성의 유닛 공허 포격기(Void ray), 추적자(Stalker), 불멸자(Immortal)가 있습니다. 리그 플레이 없이 자가 대전만 진행할 경우 유닛 구성이 공허 포격기 쪽으로만 쏠려서 추적자에게 취약해지는 반면 리그 플레이로 학습을 진행할 경우 다양한 유닛 조합에 대응하기 위해 유닛을 섞어 쓰게 된다는 내용입니다.

이번 알파스타는 프로토스만 플레이할 수 있었던 1월 버전과는 달리 테란, 프로토스, 저그 각 종족에 대하여 다른 뉴럴 네트워크로 학습하여 세 종족 모두 플레이 가능합니다. 사람이 보는 것과 같은 영상 정보를 입력받고, 사람이 할 수 있는 분당 행동수로도 그랜드 마스터 등급을 달성하였다는 것이 매우 큰 의미라 생각합니다. 알파스타를 학습시킨 방법론의 일반화 혹은 다른 분야에의 적용이 기대됩니다.

관련 자료:

<이미지 출처>
그림 1: MIT Technology Review
- 그림 2, 그림3: 딥마인드 블로그

댓글

이 블로그의 인기 게시물

이제 인공지능과 함께 코딩하세요!

오픈소스 음원 분리 엔진 Spleeter