SlideShare a Scribd company logo
1 of 36
Download to read offline
Alphastar Page 8
multi-agent learning
PFSP
Population the League
이경만
Alpha Star
Grandmaster level in StarCraft
II using multi-agent
reinforcement learning
deepmind에서 multi agent learning이란?
● 아이가 태어나자 마자 혼자서 고립되었다면 지능을 가지지 못했을것입니다.
● 사람은 경쟁과 협력을 통해 지능을 발전시켰습니다. 그자체로도 멀티 에이전트 학습입니다.
● 마찬가지로 초기 사람의 데이터로 학습해 지능을 키웠던 알파고는 셀프 플레이라는 멀티 에이전트 학습을 통해
사람 이상의 지능으로 발전했습니다.
● 인간의 독창성을위한 배수기(multiplier)로서의 AI-AlphaGo는 인간 역사에서 가장 많이 고려되는 게임 중
하나에 대한 새로운 통찰력을 우리에게 가르치고 있습니다.
- 잘 만들어진 지능은 특정 분야에서 인간의 좋은 스승이 되고 영감을 준다. 더 뛰어난 지능으로 인간에게
영감을 준다
https://www.youtube.com/watch?v=CvL-KV3IBcM
Deepmind에서 multi-agent learning 이란?
● Multi-agent learning is the use of machine learning in a multi-agent system.[1]
Typically, agents
improve their decisions via experience. In particular, an agent has to learn how to coordinate with
the other agents. (wikipedia)
● 일반적으로 multi agent learning 이란 여러개의 agent간의 협력을 해 하나의 task를 잘하는 강화학습
알고리즘을 뜻하지만 deepmind에서는 협력과 경쟁을 통해 에이전트의 지능을 높이는 트레이닝
방법으로 보고있음,
● PBT를 생각해 보면 모델 웨이트와 하이퍼 파라메터를 정확성이라는 점수를 두고 여러개의
학습환경이 경쟁하는 구조라고 볼 수 있죠 이런방식으로 딥마인드는 자신들의 학습을 개선해
왔습니다.. (https://deepmind.com/blog/article/population-based-training-neural-networks)
Population based training of neural networks
경쟁을 위한 환경
● 퐁이나 스페이스 인베이더등은 고정된 게임 환경을 대상으로 하기 때문에 점수
경쟁을 통해 에이전트의 향상 시킬 수도 있지만 타인의 성장이 내 플레이에
영향을 주지는 않는다.
● 게임중 사람과 사람간 경쟁을 하는 게임 (player vs player )은 나와 게임을 하는
상대방의 전략과 성장이 나의 플레이에도 영향을 준다. (바둑,스타크래프트,
축구 , 야구 등등)
밤새 친구와 FIFA같은 게임을 하다보면 어느순간 친구와 나 모두 게임 수준이
성장해 있음을 느낄 것이다.
경쟁을 위한 공정한 평가
절대 평가 : 고정된 기준으로 평가
● PBT에서는 Deep learning 의 정확도
● 아타리 게임에서는 점수
상대 평가 : 평가 대상이 동일 룰로 게임을 플레이 하는 경우
● 스타크래프트, 바둑, 체스의 ELO
상성관계인 경우 평가는 어렵다.
● 가위바위보에서 어떤게 가장 좋은 전략인지 알 수 없듯이
상대 평가 인 경우 평가 대상을 학습된 에이전트로 하면 평가 대상의 수준도 학습을 하면서
계속 올릴 수 있다. = 에이전트의 지능을 높이는 트레이닝 방법
https://deepmind.com/blog/article/capture-the-flag-science
멀티 에이전트 시스템의 교육 에이전트는
학습 경험을 생성하기 위해 팀원 및 상대와
같은 환경의 다른 에이전트를
인스턴스화해야합니다. 해결책은 Self play
RL 일 수 있으며, 에이전트는 자체 정책에
따라 플레이함으로써 훈련됩니다. 셀프
플레이 변형이 일부 멀티 에이전트 게임
에서 효과적 일 수 있지만, 이러한 방법은
불안정 할 수 있으며 기본 형식에서는 동시
훈련을 지원하지 않으므로 확장성에 매우
중요합니다. 우리의 솔루션은 P 개의 다른
에이전트 집단을 동시에 훈련시키는
것입니다.
훈련을 안정시키기 위해 선수들 사이에
다양성을 도입하는 것이 모집단 내의
각 요원은 팀원 및 모집단에서 샘플링
한 상대와 게임을함으로써 생성 된
경험으로부터 배웁니다.
fictitious self-play : PBT + self play
FSP는 리그내 랜덤한 상대를 대상으로 학습을
진행한 후 승률이 높은 에이전트만 남기는
방식으로 학습을 진행했습니다. 하지만
스타크래프트에서는 통하지 않았습니다.
Alphastar에서는 multi-agent로 리그를 구성해
커리큘럼을 자동으로 생성 하는 방법으로
FSP를 발전시켰습니다.
Alpha star result https://www.youtube.com/watch?time_continue=3&v=xP7LwZxq0ss
imitation learning +
Reinforcement learning
Reinforcement learning only
may be vs built-in AI
● POMDP : 카메라뷰만 볼 수 있음.
돌발행동
● 정보의 부족 : 내 유닛 근처에 있는
상대방 유닛만 볼 수 있음
● 큰 액션 스페이스 : 공시에 수백개의
유닛을 컨트롤
● 전략 사이클 : 20년 이상, 수많은
프로게이머들이개발한 상성 전략들.
https://slideslive.com/38917653/alphastar-mastering-the-game-of-starcraft-ii David silver , ICML 2019
https://ppt21.com/free2/8773
SL + RL로 만든 에이전트는
● 종족별 단일 모델 (3개의 종족, 3개의 모델)
● 인간 리플레이를 10만여개를 입력으로 받아 대부분의 전략을 실행이 가능한 상태의 에이전트(*)
From each replay, we extract a statistic z that encodes each player’s build order, defined as the
first 20 constructed buildings and units, and cumulative statistics, defined as the units, buildings,
effects, and upgrades that were present during a game.
● 모든 전략에 대해 일정 수준이상으로 플레이 할 수 있는 수준의 에이전트
● 이 에이전트는 멀티 에이전트의 초기 상태로 사용 됨
단일 모델로 (사람이 만든) 스타크래프트2의 모든
전략에 대해 대응 가능한 Agent의 학습
Multi Agent 학습의 목표
Alpha star result https://www.youtube.com/watch?time_continue=3&v=xP7LwZxq0ss
Multi Agent reinforcem
Learning
Multi-agent learning
League training is a multi-agent reinforcement learning algorithm that is designed
both to address the cycles commonly encountered during self-play training and to
integrate a diverse range of strategies. 리그 트레이닝은 셀프 트레이닝 도중 일반적으로 생기는 Cycle을 해결하고 다양한
전략을 구사하도록 디자인된 멀티 에이전트 강화학습 알고리즘이다.
During training, we populate the league by regularly saving the parameters from
our agents (that are being trained by the RL algorithm) as new players (which
have fixed, frozen parameters). 리그동안 , (RL Algorithm 으로 부터 학습 된) 에이전트로 부터 얻은 파라메터 저장해서 (파라메터가
고정된) 새로운 플레이어로 리그를 채운다.
We also continuously re-evaluate the internal payoff estimation, giving agents
up-to-date information about their performance against all players in the league
(see evaluators in Extended Data Fig. 6). 우리는 또한 내부 (플레이어) 몸값(elo와 상대 승률) 추정(internal payoff
estimation)를 지속적으로 해서 모든 에이전트들의 성과에 대한 최신 정보를 제공한다. - 커리큘럼을 짜기 위해 모든 플레이어간의 승률 정보를 제공함 (see
evaluators in Extended Data Fig. 6)
address the cycles commonly encountered during self-play training
가위 바위보 게임 처럼 서로간의 상성이 물리는 관계에서 Self-play는 더 배우기 쉬운쪽으로편향되어 버린다 (V : 공허포격기, S :
추적자 , I :불멸자 ) 윗 그림은 공허 포격기를 뽑는 쪽으로 편향되는 상황 , 불멸자는 대공이 전혀 되지 않아 공허 포격기를 상대할 수
없지만. 추적자에 강하고 , 공허 포격기는 추적자에는약하지만 불멸자에게강함 , 추적자는 불멸자에는약하지만 공허 포격기에는
강함
이미지 출처 : https://deepmind.com/blog/article/AlphaStar-Grandmaster-level-in-StarCraft-II-using-multi-agent-reinforcement-learning
internal payoff estimation
(see evaluators in Extended Data Fig. 6)
붉은 부분이 payoff estimation을 하기 위한 Evaluators (6K tasks, 스타2 6000판을 동시에 돌리고 있다)
알파스타 하루 학습에도 수천만원의 클라우드 사용 비용이 들어갈 것.
Prioritized fictitious self-play
Our self-play algorithm plays games between the latest agents for all three races.
우리의 셀프플레이 알고리즘은 최신의 에이전트와 3종족 간의 게임을 플레이 해야 한다.
This approach may chase cycles in strategy space and does not work well in isolation (Fig. 3d).
이런 접근은 전략 공간의 순환 에 빠져서 격리되어 잘 작동하지 않는다. (전략간 상성관계에서 서로의 상성관계를 학습하다가 그 안에서 발전이 없게 된다 , A B C 라는
전략이 A>B>C>A 의 관계에 있을때 A를 이기기 위해 B를 배우고 B를 이기기 위해 C를 배우면서 다시 C를 이기기 위해 A를 배우는 경우 A를 이기는법을 학습하다 B를
이기는 방법을 까먹게 된다던지 하는식으로 계속 학습은 하지만 발전이 없는 상태가 됨. 또는 학습의 편차가 큰 경우 더 배우기 쉬운 한가지 방법으로만 학습이 되고
다른 하나는 전혀 배우지 못하는 상태가 됨)
FSP avoids cycles by playing against all previous players in the league. However, many games are wasted
against players that are defeated in almost 100% of games.
FSP는 리그의 이전 플레이어들에 대해서 플레이 하면서 순환문제를 회피 할 수 있지만 거의 100%의 게임들에 대해서 패배함으로서 많은 게임들이 낭비 된다. (FSP는
상대를 랜덤하게 고르므로 너무 쎈 상대를 만나면 배우는것 없이 그냥 끝나고 너무 약한 상태를 만나도 크게 학습에 도움이 되지 않게 된다.)
Consequently, we introduce PFSP. Instead of uniformly sampling opponents in the league, we use a matchmaking
mechanism to provide a good learning signal
따라서 리그에서 상대를 유니폼 샘플링 하는 방법 대신 우리는 좋은 학습 시그널을 발견하기 위한 매치메이킹 메커니즘을 사용하는 PFSP를 소개한다.(상대를
랜덤하게 고르는 대신 에이전트간 승률 정보로 수학적으로 커리큘럼 러닝이 가능하도록 개선한 PFSP를 사용)
Prioritized fictitious self-play #2
Given a learning agent A, we sample the frozen opponent B from a candidate set C with probability러닝 에이전트 A가 주어 졌을때 ,
(파라메터가 고정된) 상대 B를 리그내 후보자 C로부터 다음과 같은 확률로 샘플링 한다.
f(P[A beats B]) / ∑ f(P[A beats C]) , f(A가 B를 이길 확률 )/ f(A가 리그내 어떤 에이전트 C를 이길 확률)의 총합 , C는 리그내의 모든 에이전트를 순환
Where f: [0, 1] → [0, ∞) is some weighting function. Choosing fhard(x) = (1 − x)p makes PFSP focus on the hardest
players, where p∈ℝ+ controls how entropic the resulting distribution is. As fhard(1) = 0, no games are played against
opponents that the agent already beats.
f[0,1] -> [0~∞]일때 fhard(x) = (1 − x)p 는 PFSP를 가장 어려운 상대에 포커싱 하게 한다. (P가(확률값이) 양의 실수이고 결과의 분포가 얼마나 엔트로픽 하냐에 따라).
fhard(1) = 0이면 이미 이긴 상대에 대해서는 어떤 게임도 진행하지 않는다.
By focusing on the hardest players, the agent must beat everyone in the league rather than maximizing average
performance, which is even more important in highly non-transitive games such as StarCraft(Extended Data Fig.
8), where the pursuit of the mean win rate might lead to policies that are easy to exploit. 가장 어려운 상대에 집중하면서 ,
에이전트는 평균 퍼포먼스를 높이기 보다는 리그 전체를 이겨야 합니다 , 이는 스타크래프트같은 매우 전이적이지 않은(하나의 게임에서 배운 전략이 다른 게임에서는 유용하지 않은
게임) 게임에서 더 중요합니다 . (Extended Data Fig. 8) 평균 승률만 추구하면(알파고(제로) 처럼 평균 승률을 기준으로 학습하면 exploit하기 쉬운 정책만 학습할 수 있습니다. (쉽게
이길 수 있는 방향으로 학습을 하고 그 방향으로만 계속 학습하게 됨 , 예를들면 초반 러쉬 전략으로 승률이 좋은 경우 그 전략만 우선해서 학습하고 나머지 전략은 사용하지 않게 됨
그래도 평균 승률은 높음)
Prioritized fictitious self-play #3
가장 어려운 상대에 집중하면서, 에이전트는 평균 퍼포먼스를 높이기 보다는 리그 전체를 이겨야 합니다 , 이는 스타크래프트같은 매우 전이적이지 않은(하나의
게임에서 배운 전략이 다음 게임에서는 유용하지 않은 게임) 게임에서 더 중요합니다.
This scheme is used as the default weighting of PFSP. Consequently, on the theoretical side, one can
view fhard as a form of smooth approximation of max–min optimization, as opposed to max–avg, which is
imposed by FSP. 이 구조는 PFSP에서 기본적인 가중치로 사용됩니다. 결과적으로 이론적인 측면에서 FSP가 목표로 하는 max-avg 방법과는
다르게 Fhard를 max-min optimization (최소 점수 최대화 최적화 , 가장 이기기 힘든 상대에 대한 점수를 올리기 위한 최적화) 의 부드러운 근사함수의
형태로 볼 수 있습니다.
In particular, this helps with integrating information from exploits, as these are strong but rare counter
strategies, and a uniform mixture would be able to just ignore them (Extended Data Fig. 5).
특히 이는 익스플로잇들로부터의 (uniform mixture에서는 무시될 수 있는 강력하지만 드문 카운터 전략이 있기 때문에) 정보를 통합하는 것을
도와준다.(Extended Data Fig. 5). (나의 카운터 전략을 플레이 하는 플레이어가 있어야 이 전략은 잘 동작하게 된다. 이부분을 익스플로이터로
해결하는데 다음 페이지 부터 설명)
Only playing against the hardest opponents can waste games against much stronger opponents, so PFSP
also uses an alternative curriculum, fvar(x) = x(1 − x), where the agent preferentially plays against
opponents around its own level. We use this curriculum for main exploiters and struggling main agents.
강한 상대만을 대상으로 싸울때 상대가 너무 강하면 (배우는것이 없이) 시간 낭비가 될 수 있다. 따라서 PFSP는 대안 커리큘럼(alternative curriculum)도
사용 한다 , fvar(x) = x(1-x) , 에이전트는 자신과 비슷한 상대를 위주로 싸우게 됩니다. 우리는 이방법을 main exploiters와 고전하고 있는 main
agent에게도 사용 합니다. (너무 강한 상대를 만나서 학습이 안되는 경우 f를 바꿔서 비슷한 상대를 만나게 한다.)
Populating the league
During training we used three agent types that differ only in the distribution of opponents they train
against, when they are snapshotted to create a new player, and the probability of resetting to the
supervised parameters.
트레이닝 동안 우리는 3가지 종류의 에이전트를 사용합니다. 이들의 차이점은
1. 상대 선수의 분포,
2. 언제 새로운 플레이어를 만들기 위해 새로운 스냅샷을 만들지,
3. 지도학습 파라매터의 리셋 확률입니다.
3가지 종류의 에이전트는
1. Main Agent : 학습하고자 하는 대상. (주인공)
2. League Exploiter : 리그내 모든 에이전트를 이기는 방향으로 학습 (엑스트라) - 일반적으로 승률이 높은
전략을 배움
3. Main Exploiter : 메인 에이전트를 이기는 방향으로 학습 (주인공의 라이벌) - 현재의 메인 에이전트를 이기기
위한 즉흥적이고 대담한 전략으로 학습
Populating the league - main agent
Main agents are trained with a proportion of 35% SP, 50% PFSP against all past players in the league, and an
additional 15% of PFSP matches against forgotten main players the agent can no longer beat and past main
exploiters. 메인 에이전트는 리그의 모든 과거 플레이어를 대상으로 35%의 SP(self-play)와 50%의 PFSP 를하고 나머지 15%는 에이전트가 더이상 이길 수 없는
잊혀진 메인 플레이어와 과거의 메인 익스플로이터를 상대로 매칭합니다. (잊혀진 플레이어 : 과거에는 이겼지만 학습이 진행되며 지게된(이기는 방법을 잊어버린)
플레이어)
If there are no forgotten players or strong exploiters, the 15% is used for self-play instead. Every 2 × 10^9 steps, a
copy of the agent is added as a new player to the league. Main agents never reset.
만약 더이상 잊혀진 플레이어나 강한 익스플로이터가 없으면 15%는 대신 self-play를 하게 됩니다. 메인 에이전트는 2X10^9 step(20억스탭) 마다 복사하여 새로운
플레이어를 리그에 추가합니다. 메인 에이전트는 리셋하지 않습니다.
● 사실 이모든 것에는 측정이 뒤따릅니다. 즉 각각의 에이전트들은 끊임없이 과거의 플레이어들과 평가 받게 됩니다.
● 이 측정은 이벨류에이터가 하게됩니다.
● 플레이어는 학습도중에 얻어진 에이전트들의 스냅샷을 의미합니다. 에이전트별로 스냅샷을 남기는 조건과 시기가 다릅니다.
● 플레이어는 학습은 더이상 하지 않고 에이전트의 학습 대상과 평가 대상으로 남게 됩니다.
Populating the league - League exploiters
League exploiters are trained using PFSP and their frozen copies are added to the league when they
defeat all players in the league in more than 70% of games, or after a timeout of 2 × 10^9 steps.
리그익스플로이터는PFSP를 통해 학습한다. 그리고 리그안에 있는 다른 플레이어들을대상으로 70%이상 이기거나 2x10^9 steps(20억 스탭) 이후
복제되어 리그에 추가된다.
At this point there is a 25% probability that the agent is reset to the supervised parameters. The intuition is
that league exploiters identify global blind spots in the league (strategies that no player in the league can
beat, but that are not necessarily robust themselves).
이 시점(리그에 추가되는 시점)에 25%의 확률로 슈퍼바이즈드 파라메터로 리셋됩니다.직감은 리그 익스플로이터는 리그의 전체적인 사각지대를 나타냅니다. (리그내 어떤 플레이어도 깨지 못한 전략, 하지만
그것들이 견고할 필요는 없습니다.)
● 슈퍼바이즈드 파라메터는 일종의 스타2 전략의 은행처럼 동작합니다.
리그 익스플로이터는 슈퍼바이즈드로 부터리셋될때 새로운 리플레이를 골라서 전략을 랜덤하게 선택해 리그 전체 에이전트의 약점을 공략합니다.
그리고 승률이 70%이상이면 플레이어로서 리그에 추가하게 됩니다. 리그내 전체 에이전트들의 학습으로 사용하게 됩니다.
Populating the league - main exploiters
Main exploiters play against main agents. Half of the time, and if the current probability of winning is lower
than 20%, exploiters use PFSP with fvar weighting over players created by the main agents. This forms a
curriculum that facilitates learning. Otherwise there is enough learning signal and it plays against the
current main agents.
메인 익스플로이터는메인 에이전트를 상대로 플레이 합니다. 전체 시간의 절반을 학습에 사용 한 후 승률이 20% 보다 낮으면 메인 에이전트가 생성했던
이전 플레이어들을대상으로 PFSP 방식을 이용해 학습합니다.(Fvar를 이용 비슷한 수준의 플레이어와 매칭될 확률이 높은 함수) 이건 마치 학습을
쉽게하기 위한 커리큘럼처럼작동합니다. 그렇지 않다면 ( 20% 보다 높다면) 계속해서 메인 에이전트를 대상으로 플레이 합니다.
These agents are added to the league whenever all three main agents are defeated in more than 70% of
games, or after a timeout of 4 × 109 steps. They are then reset to the supervised parameters. Main
exploiters identify weaknesses of main agents, and consequently make them more robust. For more
details refer to the Supplementary Data, Pseudocode
메인에이전트3종(3종족테란,프로토스,저그)을 70%이상으로 승리하면 언제든지 리그에 추가됩니다. 추가된 후 바로 슈퍼바이즈드파라메터로
리셋됩니다. 메인 익스플로이터는메인 에이전트의 약점을 공략해서 강하게만듭니다. 더 자세한 내용은 Supplementary Data, Pseudocode를 참고
하세요.
Extended Data Fig. 8 | Payoff matrix (limited to only Protoss versus Protoss games for simplicity) split into agent types of the league. Blue means a
row agent wins, red loses, and white draws. The main agents behave transitively: the more recent agents win consistently against older main
agents and exploiters. Interactions between exploiters are highly non-transitive: across the full payoff, there are around 3,000,000
rock–paper–scissor cycles (with requirement of at least 70% win rates to form a cycle) that involve at least one exploiter, and around 200 that
involve only main agents.
● pay off matrix ( 단순화를 위해 프로토스 vs
프로토스전으로제한)
● 에이전트 타입별로 분리 ,
● 파란색은 행쪽 에이전트의 승리 , 붉은 색은 패배를
의미 흰색은 무승부.
● main agent는 전이적으로 행동 : 최신 에이전트가
이전에이전트와익스플로이터에대해 지속적으로
승리함
● 익스플로이터간의상호작용은 매우 비전이적입니다. :
전체 리그를 통틀어 하나의 에이전트에 대략
300만개의 가위바위보 사이클이 존재 ( 전체 사이클에
대해 70%의 승률을 요구함) 그리고 오직 메인
에이전트 관련해서는 대략 200개 정도임.
● 전체 상성관계는 300만개 정도 인데 하나의 메인
에이전트는 200개 정도의 상성관계만을가집니다.
따라서 전체에 대해 70%의 승률을 요구하는
익스플로이터간의 전이성은 더 떨어짐. ( 이전 버전에
대한 승리보다 현재의 리그상의 다른 에이전트에 승리
하는것을 목표로 하고 있기 때문)
Payoff
● player 별 승률 정보
(home,away)를 나눠서 저장.
Ablations
a. exploiter들이 추가 됨에 따라 더 높은 ELO점수를 얻게 됨
b. 리그내의 플레이어 구성: main agent , main exploiter 와 league exploiters의 플레이어 상대적
생산 효율 , League exploter 로 부터 가장 많은 플레이어 생산 ( 2개이므로 )
c. c와 d는 멀티에이전트 러닝방법에 따른 비교. Self play만 했을때와 ELO점수의 차이는 크지
않지만 과거의 상대에 대한 승률(이전 상대와 싸우는 방법을 잊어버리는 정도)이 SP는 46%로
가장 낮음.(견고함이 떨어짐)
AlphaStar의 기여 (from nomoreid)
● deepmind는 경쟁적 강화학습에서 에이전트의 성능을 높이는 방법에 대해 연구하고 있었다.
● 경쟁적 멀티 에이전트 관점에서 alpha Go나 Alpha Go zero의 경우 symmetrical-game (상대와
내가 동일 한 룰안에서 플레이 하는 대칭형 게임) 에서 자동화된 curriculum learning을 하며 더
높은 지능을 얻는 방법에 대한 논문이다. (Self-play)
● 하지만 대부분의 리얼월드 환경은 대칭적(symmetrical)인 경우는 거의 없다.
● Alphastar의 가장 중요한 기여는 여러가지 전략들을 골고루 이겨야 하는 non-symmetrical한 경쟁
환경에서 강화학습으로 더 강한 지능을 확보하기 위한 multi-agent learning 방법으로 PFSP를
제시했다는 점이고 이로 사람 보다 뛰어난 수준의 에이전트를 완성했다는 점이다.
● PFSP의 본질은 여러 역할을 가진 멀티에이전트를 활용한 자동화된 커리큘럼 학습
● 다양한 리얼 월드 어플리케이션에서 자동화된 커리큘럼 환경을 구성하는 여러가지 방법들이
고차원의 지능을 요구하는 경우 많이 요구될 것이다.
● 자동화된 커리큘럼 환경 = 에이전트의 지능을 높이는 트레이닝 방법
○ 자동화된 학습 대상 생산 - Player로서 리그를 채움
○ 자동화된 메인 에이전트의 수준에 맞는 학습 대상의 선정

More Related Content

What's hot

GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception
GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with ExceptionGCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception
GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception상현 조
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げるWataru Terada
 
2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링Sukwoo Lee
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템QooJuice
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!Dongmin Lee
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展Deep Learning JP
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し増田 亨
 
[DL輪読会]Grandmaster level in StarCraft II using multi-agent reinforcement lear...
[DL輪読会]Grandmaster level in StarCraft II using multi-agent reinforcement lear...[DL輪読会]Grandmaster level in StarCraft II using multi-agent reinforcement lear...
[DL輪読会]Grandmaster level in StarCraft II using multi-agent reinforcement lear...Deep Learning JP
 
論文紹介 No-Reward Meta Learning (RL architecture勉強会)
論文紹介 No-Reward Meta Learning (RL architecture勉強会)論文紹介 No-Reward Meta Learning (RL architecture勉強会)
論文紹介 No-Reward Meta Learning (RL architecture勉強会)Yusuke Nakata
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)포프 김
 
Multithread & shared_ptr
Multithread & shared_ptrMultithread & shared_ptr
Multithread & shared_ptr내훈 정
 
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)drandom
 
配送ルート最適化の為のAI開発の今と未来
配送ルート最適化の為のAI開発の今と未来配送ルート最適化の為のAI開発の今と未来
配送ルート最適化の為のAI開発の今と未来Yosuke Takada
 
Unity ml agent quick guide
Unity ml agent quick guideUnity ml agent quick guide
Unity ml agent quick guideKyoungman Lee
 
Designing Virtual Currency by Breaking (Almost) Every Rule in the Economics T...
Designing Virtual Currency by Breaking (Almost) Every Rule in the Economics T...Designing Virtual Currency by Breaking (Almost) Every Rule in the Economics T...
Designing Virtual Currency by Breaking (Almost) Every Rule in the Economics T...Vili Lehdonvirta
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019devCAT Studio, NEXON
 
ヒット現象の数理モデル(2013 11-ニコニコ学会データ研究会)
ヒット現象の数理モデル(2013 11-ニコニコ学会データ研究会)ヒット現象の数理モデル(2013 11-ニコニコ学会データ研究会)
ヒット現象の数理モデル(2013 11-ニコニコ学会データ研究会)ishii-akira
 
What is Game Server ?
What is Game Server ?What is Game Server ?
What is Game Server ?흥배 최
 
Unite2019 HLOD를 활용한 대규모 씬 제작 방법
Unite2019 HLOD를 활용한 대규모 씬 제작 방법Unite2019 HLOD를 활용한 대규모 씬 제작 방법
Unite2019 HLOD를 활용한 대규모 씬 제작 방법장규 서
 

What's hot (20)

GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception
GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with ExceptionGCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception
GCGC- CGCII 서버 엔진에 적용된 기술 (5) - Executor with Exception
 
本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる本当のオブジェクト指向は可読性を上げる
本当のオブジェクト指向は可読性を上げる
 
2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링2018.02.03 이미지 텍스처링
2018.02.03 이미지 텍스처링
 
Athenz + SPIFFE によるアクセス制御
Athenz + SPIFFE によるアクセス制御Athenz + SPIFFE によるアクセス制御
Athenz + SPIFFE によるアクセス制御
 
테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템테라로 살펴본 MMORPG의 논타겟팅 시스템
테라로 살펴본 MMORPG의 논타겟팅 시스템
 
안.전.제.일. 강화학습!
안.전.제.일. 강화학습!안.전.제.일. 강화학습!
안.전.제.일. 강화학습!
 
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
【DL輪読会】マルチエージェント強化学習における近年の 協調的方策学習アルゴリズムの発展
 
リッチなドメインモデル 名前探し
リッチなドメインモデル 名前探しリッチなドメインモデル 名前探し
リッチなドメインモデル 名前探し
 
[DL輪読会]Grandmaster level in StarCraft II using multi-agent reinforcement lear...
[DL輪読会]Grandmaster level in StarCraft II using multi-agent reinforcement lear...[DL輪読会]Grandmaster level in StarCraft II using multi-agent reinforcement lear...
[DL輪読会]Grandmaster level in StarCraft II using multi-agent reinforcement lear...
 
論文紹介 No-Reward Meta Learning (RL architecture勉強会)
論文紹介 No-Reward Meta Learning (RL architecture勉強会)論文紹介 No-Reward Meta Learning (RL architecture勉強会)
論文紹介 No-Reward Meta Learning (RL architecture勉強会)
 
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
스크린 스페이스 데칼에 대해 자세히 알아보자(워햄머 40,000: 스페이스 마린)
 
Multithread & shared_ptr
Multithread & shared_ptrMultithread & shared_ptr
Multithread & shared_ptr
 
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)이은석   마비노기 영웅전 포스트모템 2부 (kgc 버전)
이은석 마비노기 영웅전 포스트모템 2부 (kgc 버전)
 
配送ルート最適化の為のAI開発の今と未来
配送ルート最適化の為のAI開発の今と未来配送ルート最適化の為のAI開発の今と未来
配送ルート最適化の為のAI開発の今と未来
 
Unity ml agent quick guide
Unity ml agent quick guideUnity ml agent quick guide
Unity ml agent quick guide
 
Designing Virtual Currency by Breaking (Almost) Every Rule in the Economics T...
Designing Virtual Currency by Breaking (Almost) Every Rule in the Economics T...Designing Virtual Currency by Breaking (Almost) Every Rule in the Economics T...
Designing Virtual Currency by Breaking (Almost) Every Rule in the Economics T...
 
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
김혁, <드래곤 하운드>의 PBR과 레이트레이싱 렌더링 기법, NDC2019
 
ヒット現象の数理モデル(2013 11-ニコニコ学会データ研究会)
ヒット現象の数理モデル(2013 11-ニコニコ学会データ研究会)ヒット現象の数理モデル(2013 11-ニコニコ学会データ研究会)
ヒット現象の数理モデル(2013 11-ニコニコ学会データ研究会)
 
What is Game Server ?
What is Game Server ?What is Game Server ?
What is Game Server ?
 
Unite2019 HLOD를 활용한 대규모 씬 제작 방법
Unite2019 HLOD를 활용한 대규모 씬 제작 방법Unite2019 HLOD를 활용한 대규모 씬 제작 방법
Unite2019 HLOD를 활용한 대규모 씬 제작 방법
 

Alphastar page 8 , Meaning of multi-agent in alphastar

  • 1. Alphastar Page 8 multi-agent learning PFSP Population the League 이경만 Alpha Star Grandmaster level in StarCraft II using multi-agent reinforcement learning
  • 2. deepmind에서 multi agent learning이란? ● 아이가 태어나자 마자 혼자서 고립되었다면 지능을 가지지 못했을것입니다. ● 사람은 경쟁과 협력을 통해 지능을 발전시켰습니다. 그자체로도 멀티 에이전트 학습입니다. ● 마찬가지로 초기 사람의 데이터로 학습해 지능을 키웠던 알파고는 셀프 플레이라는 멀티 에이전트 학습을 통해 사람 이상의 지능으로 발전했습니다. ● 인간의 독창성을위한 배수기(multiplier)로서의 AI-AlphaGo는 인간 역사에서 가장 많이 고려되는 게임 중 하나에 대한 새로운 통찰력을 우리에게 가르치고 있습니다. - 잘 만들어진 지능은 특정 분야에서 인간의 좋은 스승이 되고 영감을 준다. 더 뛰어난 지능으로 인간에게 영감을 준다 https://www.youtube.com/watch?v=CvL-KV3IBcM
  • 3. Deepmind에서 multi-agent learning 이란? ● Multi-agent learning is the use of machine learning in a multi-agent system.[1] Typically, agents improve their decisions via experience. In particular, an agent has to learn how to coordinate with the other agents. (wikipedia) ● 일반적으로 multi agent learning 이란 여러개의 agent간의 협력을 해 하나의 task를 잘하는 강화학습 알고리즘을 뜻하지만 deepmind에서는 협력과 경쟁을 통해 에이전트의 지능을 높이는 트레이닝 방법으로 보고있음, ● PBT를 생각해 보면 모델 웨이트와 하이퍼 파라메터를 정확성이라는 점수를 두고 여러개의 학습환경이 경쟁하는 구조라고 볼 수 있죠 이런방식으로 딥마인드는 자신들의 학습을 개선해 왔습니다.. (https://deepmind.com/blog/article/population-based-training-neural-networks)
  • 4. Population based training of neural networks
  • 5. 경쟁을 위한 환경 ● 퐁이나 스페이스 인베이더등은 고정된 게임 환경을 대상으로 하기 때문에 점수 경쟁을 통해 에이전트의 향상 시킬 수도 있지만 타인의 성장이 내 플레이에 영향을 주지는 않는다. ● 게임중 사람과 사람간 경쟁을 하는 게임 (player vs player )은 나와 게임을 하는 상대방의 전략과 성장이 나의 플레이에도 영향을 준다. (바둑,스타크래프트, 축구 , 야구 등등) 밤새 친구와 FIFA같은 게임을 하다보면 어느순간 친구와 나 모두 게임 수준이 성장해 있음을 느낄 것이다.
  • 6. 경쟁을 위한 공정한 평가 절대 평가 : 고정된 기준으로 평가 ● PBT에서는 Deep learning 의 정확도 ● 아타리 게임에서는 점수 상대 평가 : 평가 대상이 동일 룰로 게임을 플레이 하는 경우 ● 스타크래프트, 바둑, 체스의 ELO 상성관계인 경우 평가는 어렵다. ● 가위바위보에서 어떤게 가장 좋은 전략인지 알 수 없듯이 상대 평가 인 경우 평가 대상을 학습된 에이전트로 하면 평가 대상의 수준도 학습을 하면서 계속 올릴 수 있다. = 에이전트의 지능을 높이는 트레이닝 방법
  • 7.
  • 9. 멀티 에이전트 시스템의 교육 에이전트는 학습 경험을 생성하기 위해 팀원 및 상대와 같은 환경의 다른 에이전트를 인스턴스화해야합니다. 해결책은 Self play RL 일 수 있으며, 에이전트는 자체 정책에 따라 플레이함으로써 훈련됩니다. 셀프 플레이 변형이 일부 멀티 에이전트 게임 에서 효과적 일 수 있지만, 이러한 방법은 불안정 할 수 있으며 기본 형식에서는 동시 훈련을 지원하지 않으므로 확장성에 매우 중요합니다. 우리의 솔루션은 P 개의 다른 에이전트 집단을 동시에 훈련시키는 것입니다. 훈련을 안정시키기 위해 선수들 사이에 다양성을 도입하는 것이 모집단 내의 각 요원은 팀원 및 모집단에서 샘플링 한 상대와 게임을함으로써 생성 된 경험으로부터 배웁니다. fictitious self-play : PBT + self play
  • 10.
  • 11. FSP는 리그내 랜덤한 상대를 대상으로 학습을 진행한 후 승률이 높은 에이전트만 남기는 방식으로 학습을 진행했습니다. 하지만 스타크래프트에서는 통하지 않았습니다. Alphastar에서는 multi-agent로 리그를 구성해 커리큘럼을 자동으로 생성 하는 방법으로 FSP를 발전시켰습니다.
  • 12. Alpha star result https://www.youtube.com/watch?time_continue=3&v=xP7LwZxq0ss imitation learning + Reinforcement learning Reinforcement learning only may be vs built-in AI
  • 13. ● POMDP : 카메라뷰만 볼 수 있음. 돌발행동 ● 정보의 부족 : 내 유닛 근처에 있는 상대방 유닛만 볼 수 있음 ● 큰 액션 스페이스 : 공시에 수백개의 유닛을 컨트롤 ● 전략 사이클 : 20년 이상, 수많은 프로게이머들이개발한 상성 전략들. https://slideslive.com/38917653/alphastar-mastering-the-game-of-starcraft-ii David silver , ICML 2019
  • 15. SL + RL로 만든 에이전트는 ● 종족별 단일 모델 (3개의 종족, 3개의 모델) ● 인간 리플레이를 10만여개를 입력으로 받아 대부분의 전략을 실행이 가능한 상태의 에이전트(*) From each replay, we extract a statistic z that encodes each player’s build order, defined as the first 20 constructed buildings and units, and cumulative statistics, defined as the units, buildings, effects, and upgrades that were present during a game. ● 모든 전략에 대해 일정 수준이상으로 플레이 할 수 있는 수준의 에이전트 ● 이 에이전트는 멀티 에이전트의 초기 상태로 사용 됨
  • 16. 단일 모델로 (사람이 만든) 스타크래프트2의 모든 전략에 대해 대응 가능한 Agent의 학습 Multi Agent 학습의 목표
  • 17. Alpha star result https://www.youtube.com/watch?time_continue=3&v=xP7LwZxq0ss Multi Agent reinforcem Learning
  • 18. Multi-agent learning League training is a multi-agent reinforcement learning algorithm that is designed both to address the cycles commonly encountered during self-play training and to integrate a diverse range of strategies. 리그 트레이닝은 셀프 트레이닝 도중 일반적으로 생기는 Cycle을 해결하고 다양한 전략을 구사하도록 디자인된 멀티 에이전트 강화학습 알고리즘이다. During training, we populate the league by regularly saving the parameters from our agents (that are being trained by the RL algorithm) as new players (which have fixed, frozen parameters). 리그동안 , (RL Algorithm 으로 부터 학습 된) 에이전트로 부터 얻은 파라메터 저장해서 (파라메터가 고정된) 새로운 플레이어로 리그를 채운다. We also continuously re-evaluate the internal payoff estimation, giving agents up-to-date information about their performance against all players in the league (see evaluators in Extended Data Fig. 6). 우리는 또한 내부 (플레이어) 몸값(elo와 상대 승률) 추정(internal payoff estimation)를 지속적으로 해서 모든 에이전트들의 성과에 대한 최신 정보를 제공한다. - 커리큘럼을 짜기 위해 모든 플레이어간의 승률 정보를 제공함 (see evaluators in Extended Data Fig. 6)
  • 19. address the cycles commonly encountered during self-play training 가위 바위보 게임 처럼 서로간의 상성이 물리는 관계에서 Self-play는 더 배우기 쉬운쪽으로편향되어 버린다 (V : 공허포격기, S : 추적자 , I :불멸자 ) 윗 그림은 공허 포격기를 뽑는 쪽으로 편향되는 상황 , 불멸자는 대공이 전혀 되지 않아 공허 포격기를 상대할 수 없지만. 추적자에 강하고 , 공허 포격기는 추적자에는약하지만 불멸자에게강함 , 추적자는 불멸자에는약하지만 공허 포격기에는 강함 이미지 출처 : https://deepmind.com/blog/article/AlphaStar-Grandmaster-level-in-StarCraft-II-using-multi-agent-reinforcement-learning
  • 20. internal payoff estimation (see evaluators in Extended Data Fig. 6) 붉은 부분이 payoff estimation을 하기 위한 Evaluators (6K tasks, 스타2 6000판을 동시에 돌리고 있다) 알파스타 하루 학습에도 수천만원의 클라우드 사용 비용이 들어갈 것.
  • 21. Prioritized fictitious self-play Our self-play algorithm plays games between the latest agents for all three races. 우리의 셀프플레이 알고리즘은 최신의 에이전트와 3종족 간의 게임을 플레이 해야 한다. This approach may chase cycles in strategy space and does not work well in isolation (Fig. 3d). 이런 접근은 전략 공간의 순환 에 빠져서 격리되어 잘 작동하지 않는다. (전략간 상성관계에서 서로의 상성관계를 학습하다가 그 안에서 발전이 없게 된다 , A B C 라는 전략이 A>B>C>A 의 관계에 있을때 A를 이기기 위해 B를 배우고 B를 이기기 위해 C를 배우면서 다시 C를 이기기 위해 A를 배우는 경우 A를 이기는법을 학습하다 B를 이기는 방법을 까먹게 된다던지 하는식으로 계속 학습은 하지만 발전이 없는 상태가 됨. 또는 학습의 편차가 큰 경우 더 배우기 쉬운 한가지 방법으로만 학습이 되고 다른 하나는 전혀 배우지 못하는 상태가 됨) FSP avoids cycles by playing against all previous players in the league. However, many games are wasted against players that are defeated in almost 100% of games. FSP는 리그의 이전 플레이어들에 대해서 플레이 하면서 순환문제를 회피 할 수 있지만 거의 100%의 게임들에 대해서 패배함으로서 많은 게임들이 낭비 된다. (FSP는 상대를 랜덤하게 고르므로 너무 쎈 상대를 만나면 배우는것 없이 그냥 끝나고 너무 약한 상태를 만나도 크게 학습에 도움이 되지 않게 된다.) Consequently, we introduce PFSP. Instead of uniformly sampling opponents in the league, we use a matchmaking mechanism to provide a good learning signal 따라서 리그에서 상대를 유니폼 샘플링 하는 방법 대신 우리는 좋은 학습 시그널을 발견하기 위한 매치메이킹 메커니즘을 사용하는 PFSP를 소개한다.(상대를 랜덤하게 고르는 대신 에이전트간 승률 정보로 수학적으로 커리큘럼 러닝이 가능하도록 개선한 PFSP를 사용)
  • 22. Prioritized fictitious self-play #2 Given a learning agent A, we sample the frozen opponent B from a candidate set C with probability러닝 에이전트 A가 주어 졌을때 , (파라메터가 고정된) 상대 B를 리그내 후보자 C로부터 다음과 같은 확률로 샘플링 한다. f(P[A beats B]) / ∑ f(P[A beats C]) , f(A가 B를 이길 확률 )/ f(A가 리그내 어떤 에이전트 C를 이길 확률)의 총합 , C는 리그내의 모든 에이전트를 순환 Where f: [0, 1] → [0, ∞) is some weighting function. Choosing fhard(x) = (1 − x)p makes PFSP focus on the hardest players, where p∈ℝ+ controls how entropic the resulting distribution is. As fhard(1) = 0, no games are played against opponents that the agent already beats. f[0,1] -> [0~∞]일때 fhard(x) = (1 − x)p 는 PFSP를 가장 어려운 상대에 포커싱 하게 한다. (P가(확률값이) 양의 실수이고 결과의 분포가 얼마나 엔트로픽 하냐에 따라). fhard(1) = 0이면 이미 이긴 상대에 대해서는 어떤 게임도 진행하지 않는다. By focusing on the hardest players, the agent must beat everyone in the league rather than maximizing average performance, which is even more important in highly non-transitive games such as StarCraft(Extended Data Fig. 8), where the pursuit of the mean win rate might lead to policies that are easy to exploit. 가장 어려운 상대에 집중하면서 , 에이전트는 평균 퍼포먼스를 높이기 보다는 리그 전체를 이겨야 합니다 , 이는 스타크래프트같은 매우 전이적이지 않은(하나의 게임에서 배운 전략이 다른 게임에서는 유용하지 않은 게임) 게임에서 더 중요합니다 . (Extended Data Fig. 8) 평균 승률만 추구하면(알파고(제로) 처럼 평균 승률을 기준으로 학습하면 exploit하기 쉬운 정책만 학습할 수 있습니다. (쉽게 이길 수 있는 방향으로 학습을 하고 그 방향으로만 계속 학습하게 됨 , 예를들면 초반 러쉬 전략으로 승률이 좋은 경우 그 전략만 우선해서 학습하고 나머지 전략은 사용하지 않게 됨 그래도 평균 승률은 높음)
  • 23. Prioritized fictitious self-play #3 가장 어려운 상대에 집중하면서, 에이전트는 평균 퍼포먼스를 높이기 보다는 리그 전체를 이겨야 합니다 , 이는 스타크래프트같은 매우 전이적이지 않은(하나의 게임에서 배운 전략이 다음 게임에서는 유용하지 않은 게임) 게임에서 더 중요합니다. This scheme is used as the default weighting of PFSP. Consequently, on the theoretical side, one can view fhard as a form of smooth approximation of max–min optimization, as opposed to max–avg, which is imposed by FSP. 이 구조는 PFSP에서 기본적인 가중치로 사용됩니다. 결과적으로 이론적인 측면에서 FSP가 목표로 하는 max-avg 방법과는 다르게 Fhard를 max-min optimization (최소 점수 최대화 최적화 , 가장 이기기 힘든 상대에 대한 점수를 올리기 위한 최적화) 의 부드러운 근사함수의 형태로 볼 수 있습니다. In particular, this helps with integrating information from exploits, as these are strong but rare counter strategies, and a uniform mixture would be able to just ignore them (Extended Data Fig. 5). 특히 이는 익스플로잇들로부터의 (uniform mixture에서는 무시될 수 있는 강력하지만 드문 카운터 전략이 있기 때문에) 정보를 통합하는 것을 도와준다.(Extended Data Fig. 5). (나의 카운터 전략을 플레이 하는 플레이어가 있어야 이 전략은 잘 동작하게 된다. 이부분을 익스플로이터로 해결하는데 다음 페이지 부터 설명) Only playing against the hardest opponents can waste games against much stronger opponents, so PFSP also uses an alternative curriculum, fvar(x) = x(1 − x), where the agent preferentially plays against opponents around its own level. We use this curriculum for main exploiters and struggling main agents. 강한 상대만을 대상으로 싸울때 상대가 너무 강하면 (배우는것이 없이) 시간 낭비가 될 수 있다. 따라서 PFSP는 대안 커리큘럼(alternative curriculum)도 사용 한다 , fvar(x) = x(1-x) , 에이전트는 자신과 비슷한 상대를 위주로 싸우게 됩니다. 우리는 이방법을 main exploiters와 고전하고 있는 main agent에게도 사용 합니다. (너무 강한 상대를 만나서 학습이 안되는 경우 f를 바꿔서 비슷한 상대를 만나게 한다.)
  • 24.
  • 25. Populating the league During training we used three agent types that differ only in the distribution of opponents they train against, when they are snapshotted to create a new player, and the probability of resetting to the supervised parameters. 트레이닝 동안 우리는 3가지 종류의 에이전트를 사용합니다. 이들의 차이점은 1. 상대 선수의 분포, 2. 언제 새로운 플레이어를 만들기 위해 새로운 스냅샷을 만들지, 3. 지도학습 파라매터의 리셋 확률입니다. 3가지 종류의 에이전트는 1. Main Agent : 학습하고자 하는 대상. (주인공) 2. League Exploiter : 리그내 모든 에이전트를 이기는 방향으로 학습 (엑스트라) - 일반적으로 승률이 높은 전략을 배움 3. Main Exploiter : 메인 에이전트를 이기는 방향으로 학습 (주인공의 라이벌) - 현재의 메인 에이전트를 이기기 위한 즉흥적이고 대담한 전략으로 학습
  • 26.
  • 27. Populating the league - main agent Main agents are trained with a proportion of 35% SP, 50% PFSP against all past players in the league, and an additional 15% of PFSP matches against forgotten main players the agent can no longer beat and past main exploiters. 메인 에이전트는 리그의 모든 과거 플레이어를 대상으로 35%의 SP(self-play)와 50%의 PFSP 를하고 나머지 15%는 에이전트가 더이상 이길 수 없는 잊혀진 메인 플레이어와 과거의 메인 익스플로이터를 상대로 매칭합니다. (잊혀진 플레이어 : 과거에는 이겼지만 학습이 진행되며 지게된(이기는 방법을 잊어버린) 플레이어) If there are no forgotten players or strong exploiters, the 15% is used for self-play instead. Every 2 × 10^9 steps, a copy of the agent is added as a new player to the league. Main agents never reset. 만약 더이상 잊혀진 플레이어나 강한 익스플로이터가 없으면 15%는 대신 self-play를 하게 됩니다. 메인 에이전트는 2X10^9 step(20억스탭) 마다 복사하여 새로운 플레이어를 리그에 추가합니다. 메인 에이전트는 리셋하지 않습니다. ● 사실 이모든 것에는 측정이 뒤따릅니다. 즉 각각의 에이전트들은 끊임없이 과거의 플레이어들과 평가 받게 됩니다. ● 이 측정은 이벨류에이터가 하게됩니다. ● 플레이어는 학습도중에 얻어진 에이전트들의 스냅샷을 의미합니다. 에이전트별로 스냅샷을 남기는 조건과 시기가 다릅니다. ● 플레이어는 학습은 더이상 하지 않고 에이전트의 학습 대상과 평가 대상으로 남게 됩니다.
  • 28. Populating the league - League exploiters League exploiters are trained using PFSP and their frozen copies are added to the league when they defeat all players in the league in more than 70% of games, or after a timeout of 2 × 10^9 steps. 리그익스플로이터는PFSP를 통해 학습한다. 그리고 리그안에 있는 다른 플레이어들을대상으로 70%이상 이기거나 2x10^9 steps(20억 스탭) 이후 복제되어 리그에 추가된다. At this point there is a 25% probability that the agent is reset to the supervised parameters. The intuition is that league exploiters identify global blind spots in the league (strategies that no player in the league can beat, but that are not necessarily robust themselves). 이 시점(리그에 추가되는 시점)에 25%의 확률로 슈퍼바이즈드 파라메터로 리셋됩니다.직감은 리그 익스플로이터는 리그의 전체적인 사각지대를 나타냅니다. (리그내 어떤 플레이어도 깨지 못한 전략, 하지만 그것들이 견고할 필요는 없습니다.) ● 슈퍼바이즈드 파라메터는 일종의 스타2 전략의 은행처럼 동작합니다. 리그 익스플로이터는 슈퍼바이즈드로 부터리셋될때 새로운 리플레이를 골라서 전략을 랜덤하게 선택해 리그 전체 에이전트의 약점을 공략합니다. 그리고 승률이 70%이상이면 플레이어로서 리그에 추가하게 됩니다. 리그내 전체 에이전트들의 학습으로 사용하게 됩니다.
  • 29. Populating the league - main exploiters Main exploiters play against main agents. Half of the time, and if the current probability of winning is lower than 20%, exploiters use PFSP with fvar weighting over players created by the main agents. This forms a curriculum that facilitates learning. Otherwise there is enough learning signal and it plays against the current main agents. 메인 익스플로이터는메인 에이전트를 상대로 플레이 합니다. 전체 시간의 절반을 학습에 사용 한 후 승률이 20% 보다 낮으면 메인 에이전트가 생성했던 이전 플레이어들을대상으로 PFSP 방식을 이용해 학습합니다.(Fvar를 이용 비슷한 수준의 플레이어와 매칭될 확률이 높은 함수) 이건 마치 학습을 쉽게하기 위한 커리큘럼처럼작동합니다. 그렇지 않다면 ( 20% 보다 높다면) 계속해서 메인 에이전트를 대상으로 플레이 합니다. These agents are added to the league whenever all three main agents are defeated in more than 70% of games, or after a timeout of 4 × 109 steps. They are then reset to the supervised parameters. Main exploiters identify weaknesses of main agents, and consequently make them more robust. For more details refer to the Supplementary Data, Pseudocode 메인에이전트3종(3종족테란,프로토스,저그)을 70%이상으로 승리하면 언제든지 리그에 추가됩니다. 추가된 후 바로 슈퍼바이즈드파라메터로 리셋됩니다. 메인 익스플로이터는메인 에이전트의 약점을 공략해서 강하게만듭니다. 더 자세한 내용은 Supplementary Data, Pseudocode를 참고 하세요.
  • 30. Extended Data Fig. 8 | Payoff matrix (limited to only Protoss versus Protoss games for simplicity) split into agent types of the league. Blue means a row agent wins, red loses, and white draws. The main agents behave transitively: the more recent agents win consistently against older main agents and exploiters. Interactions between exploiters are highly non-transitive: across the full payoff, there are around 3,000,000 rock–paper–scissor cycles (with requirement of at least 70% win rates to form a cycle) that involve at least one exploiter, and around 200 that involve only main agents. ● pay off matrix ( 단순화를 위해 프로토스 vs 프로토스전으로제한) ● 에이전트 타입별로 분리 , ● 파란색은 행쪽 에이전트의 승리 , 붉은 색은 패배를 의미 흰색은 무승부. ● main agent는 전이적으로 행동 : 최신 에이전트가 이전에이전트와익스플로이터에대해 지속적으로 승리함 ● 익스플로이터간의상호작용은 매우 비전이적입니다. : 전체 리그를 통틀어 하나의 에이전트에 대략 300만개의 가위바위보 사이클이 존재 ( 전체 사이클에 대해 70%의 승률을 요구함) 그리고 오직 메인 에이전트 관련해서는 대략 200개 정도임. ● 전체 상성관계는 300만개 정도 인데 하나의 메인 에이전트는 200개 정도의 상성관계만을가집니다. 따라서 전체에 대해 70%의 승률을 요구하는 익스플로이터간의 전이성은 더 떨어짐. ( 이전 버전에 대한 승리보다 현재의 리그상의 다른 에이전트에 승리 하는것을 목표로 하고 있기 때문)
  • 31.
  • 32. Payoff ● player 별 승률 정보 (home,away)를 나눠서 저장.
  • 33.
  • 34.
  • 35. Ablations a. exploiter들이 추가 됨에 따라 더 높은 ELO점수를 얻게 됨 b. 리그내의 플레이어 구성: main agent , main exploiter 와 league exploiters의 플레이어 상대적 생산 효율 , League exploter 로 부터 가장 많은 플레이어 생산 ( 2개이므로 ) c. c와 d는 멀티에이전트 러닝방법에 따른 비교. Self play만 했을때와 ELO점수의 차이는 크지 않지만 과거의 상대에 대한 승률(이전 상대와 싸우는 방법을 잊어버리는 정도)이 SP는 46%로 가장 낮음.(견고함이 떨어짐)
  • 36. AlphaStar의 기여 (from nomoreid) ● deepmind는 경쟁적 강화학습에서 에이전트의 성능을 높이는 방법에 대해 연구하고 있었다. ● 경쟁적 멀티 에이전트 관점에서 alpha Go나 Alpha Go zero의 경우 symmetrical-game (상대와 내가 동일 한 룰안에서 플레이 하는 대칭형 게임) 에서 자동화된 curriculum learning을 하며 더 높은 지능을 얻는 방법에 대한 논문이다. (Self-play) ● 하지만 대부분의 리얼월드 환경은 대칭적(symmetrical)인 경우는 거의 없다. ● Alphastar의 가장 중요한 기여는 여러가지 전략들을 골고루 이겨야 하는 non-symmetrical한 경쟁 환경에서 강화학습으로 더 강한 지능을 확보하기 위한 multi-agent learning 방법으로 PFSP를 제시했다는 점이고 이로 사람 보다 뛰어난 수준의 에이전트를 완성했다는 점이다. ● PFSP의 본질은 여러 역할을 가진 멀티에이전트를 활용한 자동화된 커리큘럼 학습 ● 다양한 리얼 월드 어플리케이션에서 자동화된 커리큘럼 환경을 구성하는 여러가지 방법들이 고차원의 지능을 요구하는 경우 많이 요구될 것이다. ● 자동화된 커리큘럼 환경 = 에이전트의 지능을 높이는 트레이닝 방법 ○ 자동화된 학습 대상 생산 - Player로서 리그를 채움 ○ 자동화된 메인 에이전트의 수준에 맞는 학습 대상의 선정