HyperAI초신경

블리자드가 AI를 가르쳤기 때문에 인간이 도타2에서 이길 수 있다

7년 전
정보
Sparanoid
特色图像
블리자드가 AI를 가르쳤기 때문에 인간이 도타2에서 이길 수 있다

토미 톰슨 지음

AI 및 게임 수석 연구 전문가

유튜브 @TableFlipGames

HyperAI 소개

인간이 마침내 DOTA2에서 AI를 이겼습니다.

오늘, 세계 최고의 DOTA2 대회인 Ti8(The International DOTA2 Championships)의 녹아웃 스테이지가 3일차에 접어들었습니다. 안타깝게도 중국 팀 VG는 탈락했습니다. 그 후의 OpenAI Ivor 대 Pain 팀은 주목을 받았습니다. 지난번에 OpenAI가 덴디에게 패배했던 것과 달리, 이번에는 OpenAI 아이보르가 첫 번째 게임에서 패배했고, 인간 팀은 다시 약간의 희망을 보는 듯했습니다.

하지만 실제로는,오픈AI그들은 훈련할 때 주로 블리자드에서 제작한 '스타크래프트'를 사용합니다. 스타크래프트는 많은 플레이어의 마음속에 항상 고전으로 남아 있으며, 그 지위는 '월드 오브 워크래프트'에 못지않습니다.

실시간 전략 게임으로서, 멀티 서비스 협업 및 거시 전략 계획과 같은 게임 메커니즘을 활용하여 동일한 게임 내에서 무수한 가능성을 창출합니다. 이는 불확실한 상황에서 AI의 의사 결정 능력과 알고리즘 효율성을 훈련하는 데 매우 유용합니다. 오늘날 이 게임은 Google과 Microsoft 등 유명 기술 기업의 AI 테스트장이 되었습니다.

실시간 전략 게임: AI 훈련을 위한 최고의 게임

실시간 전략 게임(RTS)은 전략 게임의 한 유형입니다. 턴제 게임과 달리 이러한 유형의 게임은 실시간으로 플레이할 수 있습니다. 플레이어는 일반적으로 게임에서 의사 결정자 역할을 하며 군대 배치, 전략 수립 등의 거시적 작업을 수행해야 합니다. '스타크래프트' 외에도 가장 흔한 실시간 게임으로는 '워크래프트', '레드 얼럿' 등이 있습니다.

이러한 유형의 게임은 일반적으로 안개 메커니즘을 사용하는데, 이는 모든 플레이어의 시야가 제한되어 주변 풍경만 볼 수 있다는 것을 의미합니다. 플레이어는 세계를 탐험하여 자원을 모아 기지를 건설하고 기술 트리(다양한 재료로 무기를 합성하는 것 등)를 생성해야 합니다. 적의 요새를 성공적으로 파괴하고 적을 섬멸하거나, 모든 공격에 저항해야만 승리할 수 있습니다.

블리자드가 AI를 가르쳤기 때문에 인간이 도타2에서 이길 수 있다

게임 중에 자원을 합리적으로 분배하는 방법, 공격 및 방어 계획을 수립하는 방법, 그리고 지도에 대한 이해 정도는 모두 전투 결과에 영향을 미치는 핵심 요소가 됩니다.

이를 위해서는 플레이어는 게임을 플레이하는 동안 끊임없이 미지의 세계를 탐험해야 할 뿐만 아니라, 항상 전투 상황을 관찰하고 공격 및 방어 전략을 수립해야 합니다. 게다가 이런 유형의 게임에 대한 검색 공간은 엄청나며, 게임 내에서 셀 수 없이 많은 가능성이 존재할 수 있습니다. 따라서 RTS 게임은 불확실한 시나리오에서 AI의 의사결정 능력을 훈련하고 AI 알고리즘의 효율성을 테스트하는 데 매우 적합합니다.

AI 훈련은 스타크래프트 정복부터 시작된다

모든 RTS 게임 중에서 '스타크래프트'는 의심할 여지 없이 최고의 선택입니다.

이 게임은 잘 알려져 있고 플레이어 수도 많아서 AI를 훈련하는 데 필요한 대량의 인간 플레이어 데이터를 제공할 수 있습니다. 게다가 이 게임은 매우 복잡하기 때문에 AI 모델의 알고리즘 효율성을 효과적으로 테스트할 수 있습니다. 그래서 아주 초기부터 '스타크래프트'를 통해 AI 모델을 훈련시키고자 하는 연구자들이 있었습니다.

불완전한 정보 하에서 진행되는 게임인 "스타크래프트"의 128 x 128 맵 범위는 엄청난 검색 공간을 만들어낼 수 있습니다. 현재 바둑의 검색 공간은 약 10,170개이고, 스타크래프트의 검색 공간은 최대 10,1685개에 달합니다. 또한 최대 400개의 군사 유닛을 생성할 수 있습니다. 각 유형의 군사 유닛은 서로 다른 속성을 가지고 있으며, 이는 게임에서 무수한 가능성을 창출할 수 있습니다. 그러므로 AI는 이에 대처하기 위해 더 많은 알고리즘을 실행해야 합니다.

블리자드가 AI를 가르쳤기 때문에 인간이 도타2에서 이길 수 있다

스타크래프트 2017 리마스터

게다가 게임 내에서 서로 다른 진영의 플레이어들이 언제든지 만날 수 있는데, 이때 AI는 밀리초 단위로 대응해야 합니다. 이를 위해서는 AI가 실시간으로 정보를 기억하고 분석할 수 있는 능력, 모든 무작위적 만남이나 감지된 상황을 통합할 수 있는 능력, 그리고 게임 전략을 지속적으로 조정할 수 있는 능력이 필요합니다. 게다가 가상 장면이기 때문에 훈련 시 시행착오에 드는 비용도 매우 낮습니다. 이러한 요소들로 인해 스타크래프트는 AI 훈련에 이상적인 장소가 됩니다.

AI는 어떻게 학습하나요?

ORTS:

AI 연구를 위해 특별히 구축된 RTS 전투 플랫폼

ORTS는 Open Real Time Strategy의 약자로, 개방형 RTS API를 갖춘 실시간 전략 게임 플랫폼입니다. 이 기술은 2003년 캐나다 앨버타 대학의 컴퓨터 과학 교수인 마이클 뷰로가 RTS 게임에서 AI 모델을 훈련하기 위해 특별히 개발했습니다.

OpenGL API를 탑재한 이 3D RTS 게임 플랫폼은 시중에 나와 있는 대부분의 실시간 전략 게임을 모방할 수 있으며, 3D 그래픽도 처리할 수 있습니다. ORTS의 통신 프로토콜과 소스 코드는 모두 대중에게 공개되어 있습니다. 사용자는 수많은 지도, 모델, 군사 데이터 등에 무료로 접근하고, AI 모델을 훈련하기 위한 AI 컨트롤러를 원격으로 구축할 수 있습니다.

블리자드가 AI를 가르쳤기 때문에 인간이 도타2에서 이길 수 있다

ORTS(Open Real-Time Strategy Game) 플랫폼은 GitHub에서 볼 수 있습니다.주문하다

링크를 받으세요:https://github.com/benoit-dumas/OpenRTS

ORTS는 개발자가 실시간 전략 게임에서 AI 컨트롤러를 만들 수 있는 환경을 제공하지만, 기존 RTS 게임의 작동 메커니즘만 복제할 수 있으며, 여전히 네이티브 게임과 직접 연결할 수는 없습니다. 참여하는 인간 플레이어가 매우 적기 때문에 ORTS에서는 대부분 AI 플레이어만 플레이합니다.

마침내, 이야기는 2009년에 호전되었습니다. ORTS는 블리자드와 계약을 맺고 ORTS가 개최한 마지막 RTS AI 경연대회에서 API인 BWAPI(스타크래프트: 브루드 워의 공식 API)를 출시했습니다. 이는 또한 "스타크래프트" 시리즈의 최초의 외부 AI API였습니다.

BWAPI:

스타크래프트에서 직접 AI 캐릭터를 생성할 수 있습니다.

BWAPI는 오픈 소스 C++ 프레임워크로, 모든 개발자가 "스타크래프트"에서 자신의 AI 모델을 훈련할 수 있습니다. BWAPI는 AI 모델에 인간 플레이어의 게임 데이터뿐만 아니라 현재 게임 상태, 사용 가능한 부대 유형, 기술 트리 상태와 같은 정보를 제공할 수 있습니다.

전투에서 AI 플레이어의 부정행위를 방지하기 위해, 적 플레이어가 안개에 가려지지 않고 AI 모델의 시야 내에 있을 때에만 상대방의 위치, 속성 및 기타 정보를 얻을 수 있도록 시스템이 규정되어 있습니다.

하지만 AI는 동일한 프레임 내에서 인간 플레이어보다 더 많은 행동을 수행할 수 있습니다. 이로 인해 게임 플레이 중에 육지 병사가 벽을 따라 걷거나 건물이 미끄러지는 등 이상한 현상이 발생할 수 있습니다.

BWAPI는 실제 적용에는 아직 미흡한 점이 있지만, '스타크래프트'에서 AI 모델을 훈련시키는 아이디어를 성공적으로 실현하고 AI 개발을 촉진했다는 점은 부인할 수 없습니다. 또한 이는 나중에 AIIDE(인공지능 및 대화형 디지털 엔터테인먼트 컨퍼런스)에서 개최한 "스타크래프트" 대회의 기초를 마련했습니다.

AIIDE:

더 많은 사람들이 "스타크래프트" AI 경연대회에 참여하게 해주세요

2010년 당시 세계 최대 규모의 게임 AI 연구 컨퍼런스 중 하나인 AIIDE는 AI만이 참가하는 최초의 "스타크래프트 AI 챔피언십"을 개최했습니다. 이 대회는 총 4개의 게임으로 나뉘며, 각 게임은 다른 초점을 두고 다양한 실제 전투 시나리오에서 AI 모델의 성능을 보여주는 데 사용됩니다.

  • 첫 번째와 두 번째 게임은 복잡한 지형에서 군대를 관리하는 데 중점을 둡니다.

  • 세 번째 게임은 완전한 시야를 제공하는 안개 없는 구역 모드를 사용하지만, 고레벨 무기는 금지됩니다.

  • 네 번째 게임은 일반 대결로, 안개가 끼어도 고급 병사를 사용할 수 있습니다.

이 대회는 총 26개 AI 팀이 참여하고 그 중 17개 팀이 전체 대회를 완료하면서 큰 성공을 거두었습니다. 첫 번째 챔피언십은 캘리포니아 대학의 연구팀이 개발한 저그 AI 플레이어 오버마인드가 우승했습니다.

오버마인드의 개발자이자 현재 구글 딥마인드 연구 과학자인 오리올 비냘스는 한때 스페인의 "스타크래프트" 챔피언이었다는 점도 언급할 가치가 있습니다. 오버마인드는 AIIDE 경연대회에서 우승했지만, 인간 플레이어인 오리올 비냔스를 이기는 데는 어려움을 겪었습니다.

2011년 참가자 수가 늘어나면서 경쟁의 공정성을 확보하기 위해 AIIDE는 AI 참여자들에게 소스코드를 공개하도록 요구했으며, 모든 경쟁은 C/S(클라이언트/서버 모델) 아키텍처 기반 서버에서 진행될 예정입니다.

블리자드가 AI를 가르쳤기 때문에 인간이 도타2에서 이길 수 있다

올해 두 번째로 열린 '스타크래프트 AI 경진대회'에서는 영국의 스카이넷이 초기 방어와 주기적 충전에 집중한 전략으로 우승을 차지했습니다. 이 AI 플레이어는 영국의 엔지니어 앤드류 스미스가 단독으로 개발한 것으로, 전략 수립에 있어 AI 알고리즘이 실현 가능하다는 것을 증명했습니다.

2012년까지 AIIDE 경연대회는 게임 녹화본을 영구적으로 저장하는 데 성공했는데, 이는 AI가 이전 게임을 관찰하여 학습할 수 있다는 것을 의미했습니다. 오늘날 AIIDE는 "스타크래프트" AI 경연대회를 계속 개최하여 더 많은 사람들이 "스타크래프트" AI 모델 개발에 참여하여 AI 개발을 촉진하고자 합니다.

AIIDE가 2011년에 두 번째 대회를 개최했을 때, 대학생 등 아마추어 AI 플레이어를 위한 또 다른 "스타크래프트" AI 대회도 조용히 시작되었습니다.

SSCAIT:

학생 및 아마추어 플레이어를 위해 설계되었습니다.

SSCAIT(스타크래프트 학생 AI 경연대회)는 2011년 슬로바키아 철학 박사인 미칼 세르티키가 설립했습니다. 이 행사는 스타크래프트 AI 경연대회에 관심이 있는 대학생, 대학원생 및 사회의 모든 플레이어를 대상으로 합니다.

BWAPI를 통해 거의 모든 사람이 자신만의 성간 AI 컨트롤러를 개발할 수 있습니다.

SSCAIT는 AIIDE보다 더 개방적이며, 경쟁 형식도 바뀌었고, 연습 경기와 본선 경기는 Twitch에서 생중계로 시청할 수 있습니다. 이 게임은 1대1 근접 전투를 채택했습니다. 한쪽의 건물이 완전히 파괴되거나, 프로그램이 중단되어 결정을 내릴 수 없게 되면 해당 팀은 탈락하게 됩니다.

"스타크래프트" 경쟁에서 AI가 지속적으로 발전하고 다른 많은 게임에서 인간보다 더 나은 성과를 보이고 있지만, 현재까지는 인간이 "스타크래프트" 인간-기계 전투에서 AI를 이길 수 있습니다.

인간과 기계의 전투에서는 인간이 여전히 약간 유리하다

AIIDE는 한때 AI와 인간 플레이어 간의 경기를 개최한 적이 있는데, 2015년 "스타크래프트" AI 대회의 상위 3명의 플레이어가 러시아 "스타크래프트" 프로 플레이어인 Djem5와 맞붙었지만, 아무도 우승하지 못했습니다.

2017년에도 한국 서울의 세종대학교에서 인간-기계 경연대회가 열렸는데, 이 대회에서는 4명의 AI 플레이어와 한국의 "스타크래프트" 프로게이머이자 세계 최강의 프로게이머 중 한 명인 송병구가 맞붙었습니다.

4명의 AI 플레이어는 세종대학교의 MJ Bot, ZZZKBot, tscmoo와 Facebook AI 랩의 CherryPi였습니다. 4명의 AI 플레이어는 모두 27분 안에 패배했습니다(가장 빠른 기록은 4분 30초였습니다).

그래서 구글 AI 랩의 딥마인드 팀은 알파고를 만든 후, 다시 인간을 이길 수 있기를 바라며 '스타크래프트'에 주목하게 되었습니다.

구글 딥마인드, 스타크래프트2 공식 API 출시

2017년 8월, DeepMind는 Blizzard와 공식적으로 파트너십을 맺고 "StarCraft II"의 공식 AI API인 SC2LE(StarCraft 2 AI 연구 환경)를 공동 출시한다고 발표했습니다.

이는 개발자가 AI를 연구하는 데 사용할 수 있는 툴셋이지만, "스타크래프트 II"에서만 작동합니다. 많은 BWAPI 기능을 유지하면서 몇 가지 새로운 기능이 추가되었습니다.

  • Python 언어를 사용하여 게임에서 AI 모델을 구축할 수 있습니다.

  • 경기 리플레이를 볼 수 있습니다.

  • 게임 진행을 가속화할 수 있습니다(AI 훈련에 매우 유용함).

  • 사용자 정의 지도를 제작할 수 있습니다.

  • DeepMind가 개발한 7개의 미니 게임이 AI 모델의 기능 테스트를 위해 추가되었습니다.

  • AI 모델에 더 많은 인간 플레이어 게임 데이터를 제공할 수 있습니다.

블리자드가 AI를 가르쳤기 때문에 인간이 도타2에서 이길 수 있다

SC2LE 캡처된 게임 기능

SC2LE는 두 가지 다른 세트로 나뉩니다. 하나는 BWAPI와 비슷하며, 주어진 프레임워크에서 특정 정보에 액세스할 수 있습니다. 다른 하나는 머신 러닝과 같은 AI 알고리즘을 위해 특별히 준비되었으며, 게임에서 얻은 정보를 분석하고 알고리즘이 이 데이터에 더 쉽게 접근할 수 있도록 합니다.

SC2LE를 통해 더 많은 사람들이 AI 게임 모델 제작에 참여할 수 있게 되었지만, "스타크래프트"와 같은 실시간 전략 게임에서 AI가 인간을 이기는 것은 여전히 어렵습니다. 하지만 구글, 마이크로소프트, 페이스북 등 국제적으로 유명한 기술 기업들이 참여하면서 이 모든 것이 역전될 수도 있습니다.

올해 6월, 일론 머스크와 실리콘 밸리의 여러 거물들이 공동 창립한 AI 비영리 조직인 OpenAI는 멀티플레이어 실시간 전투 게임 '도타 2'에서 프로 인간 플레이어를 물리쳤고, 8월에는 세미프로 플레이어를 물리쳤습니다.

"DOTA"는 "월드 오브 워크래프트 III"의 게임 엔진을 기반으로 개발되었습니다. "스타크래프트"와 마찬가지로 "월드 오브 워크래프트"도 블리자드가 개발한 RTS 게임입니다. "DOTA 2"는 이 엔진에서 분리되었지만 일부 게임 메커니즘은 여전히 유지됩니다.

"월드 오브 워크래프트"의 게임 메커니즘은 "도타 2"보다 더 복잡하고 맵 범위도 더 넓지만, "도타 2"에서 AI의 승리는 AI가 실시간 전략 게임에서 한 단계 더 발전했다는 것을 증명합니다. 미래에는 더 많은 대형 기술 기업들이 참여함에 따라 AI가 새로운 게임 메커니즘을 만들어 기존의 경쟁 게임을 인간과 AI 간의 전투로 바꿀 수도 있습니다.

블리자드가 AI를 가르쳤기 때문에 인간이 도타2에서 이길 수 있다

한 라운드 플레이하고 오늘의 지식 포인트를 검토해보세요