SlideShare a Scribd company logo
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
1
스타크래프트2 강화학습
송호연
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
2
송호연
(주) 카카오 R&D Data Engineer
Microsoft AI MVP
Google Tensorflow Contributor
Tensorflow-KR 운영진
KAIST 전산학, 경영과학 학사
KAIST 기술경영 석사
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
3
"만약 당신이 AI 전략을
갖고 있지 않다면
당신은 다가올 세상에서
죽을 것입니다"
Devin Wenig,
CEO, eBay
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
4
프로덕트 매니저와 개발자는 새로운 서비스를 기획할 때
구현 가능한 범위를 논의합니다.
아이디어 구현 가능
프로덕트 매니저 ­ 아이디어
고객 문제점 ­
개선 아이디어 ­
새로운 상품 ­
엔지니어 - 구현 가능성
- 구현 기술
- 구현 난이도
- 프로젝트 일정
고객에게 제공이 가능한
상품과 서비스
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
5
인공지능은
상상할 수 없었던 새로운 역량을 Unlock했습니다
아이디어 구현 가능
프로덕트 매니저 ­ 아이디어
고객 문제점 ­
개선 아이디어 ­
새로운 상품 ­
엔지니어 - 구현 가능성
- 구현 기술
- 구현 난이도
- 프로젝트 일정
기존에는 상상도 못하던
상품과 서비스
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
6
Outline
범용 인공지능
General Artificial Intelligence
강화학습 기본
Reinforcement Learning Basics
스타크래프트2 강화학습
StarCraft II Reinforcement Learning
Azure Batch로 에이전트 학습 시키기
Train Agents on Azure Batch
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
7
The Imitation Game
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
8
"사람이 그렇게 행동했다면
지능적이라고 말할 수 있는 행동을
하는 기계를 만드는 것"
- John McCarthy,
Father of AI and Lisp
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
9
"머신러닝과 인공지능은
불과 몇 년 전만해도
우리가 상상할 수 없었던
역량을 열어주었습니다"
Sundar Pichai, CEO, Google Inc.
"만약 컴퓨터가 인간을 속여 자신을
마치 인간인 것처럼 믿게 할 수 있다면
컴퓨터를 ‘인텔리전트’ 하다고
부를만한 가치가 충분히 있다."
Alan Turing(1912~1954)
세계 최초의 컴퓨터를 만든 천재 수학자
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
10
당신은 지능이 대단한 컴퓨터를
만들고 싶다고 했는데요,
구체적으로 당신이 만들고 싶어하는
컴퓨터는 도대체 어떤 건가요?
난 대단한 지능의 컴퓨터를 만드는 데
는 별 관심이 없습니다.
내가 정말 추구하는 컴퓨터는
평범한 지능을 갖춘 컴퓨터입니다.
마치 미국의 AT&T의 사장과
같은 그러한 지능의 컴퓨터를
만들고 싶습니다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
11
마치 스티브 잡스와
같은 지능의 컴퓨터를
만들고 싶습니다.
당시 AT&T의 사업과 영향력을
고려했을 때, 앨런 튜닝의 말은
이런 느낌이었을 것이다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
12
"사실 정말 이해하고 싶었던 것은 뇌다.
근데 그것을 이해하기 위해서
컴퓨터 구조를 만들고 설계했는데
가만히 생각해보니까 실수한 것 같다 "
- 사망 전 병원에서 집필한 [컴퓨터와 뇌] 원고 중,
폰 노이만(John von Neumann)
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
13
뇌를 모방해 현대 컴퓨터 구조를 설계한 '폰 노이만'은
컴퓨터와 인간의 뇌에 본질적인 차이가 있다는 것을 깨달았다.
느리고, 정확도가 낮지만
연결성이 깊음
빠르고, 정확도가 높지만
연결성이 낮음
출처 : 김대식의 인간 vs 기계, 김대식, 동아시아
이미지 출처 : Illustration of a network of nerve cells in the brain. Credit: Benedict Campbell, Wellcome Images.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
14
사람의 뇌와 컴퓨터가 1+1=2 이라는
문제를 푸는 방식은 전혀 다르다.
수 많은 뉴론들이 시각 신호를 통해 들
어온 문제를 해석하고 관련된 뉴런들
을 찾아 운동신경으로 해답을 말한다.
값 1과 값 2를 입력 값으로 넣고
산술논리장치가 계산을 한 후
출력값을 내놓는다.
출처 : 김대식의 인간 vs 기계, 김대식, 동아시아
이미지 출처 : Illustration of a network of nerve cells in the brain. Credit: Benedict Campbell, Wellcome Images.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
15
범용 인공 지능
Artificial General Intelligence
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
16
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
17
강화 학습
Reinforcement Learning
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
18
범용 인공지능의 시작, 강화 학습
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
19
아기는 아무런 가르침을 받지 않고서도,
환경과의 상호작용으로 세상을 이해하기 시작한다
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
20
Deepmind의 강화학습 알고리즘 DQN
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
21
강화학습 어렵지 않아요! 외우세요!
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
22
농담입니다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
23
백날 자습해도 이해가 안되던 "강화학습"
머리 속에 인스톨 시켜드립니다 feat. 드래곤타이거
알파고의 알고리즘을 이해해보자!!!
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
24
강화학습의 두가지 흐름
•  가치 기반 강화학습 (Value-based Reinforcement Learning)
–  DQN, Deep-Sarsa, Sarsa, Q-learning
•  정책 기반 강화학습 (Policy-based Reinforcement Learning)
–  Actor-Critic(A3C), REINFORCE, MCTS(Monte-Carlo Tree Search, AlphaGo)
DQN, Deep-Sarsa,
Sarsa, Q-learning
Actor-Critic(A3C)
REINFORCE
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
25
강화학습 History
순차적
프로그래밍
마르코프
의사결정
프로세스
정책 이터레이션
(벨만 기대 방정식)
가치 이터레이션
(벨만 최적 방정식)
다이나믹 프로그래밍
SARSA
(벨만 기대 방정식)
큐러닝
(벨만 최적 방정식)
2. 몬테카를로 근사,
3. TD(시간차)-학습
on-policy
4. off-policy
1. Model free
Q
Q
5. Replay Memory
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
26
강화학습 History
딥살사
(가치 기반 강화학습)
REINFORCE
(정책 기반 강화학습)
6. 딥러닝
policy gradient
DQN
(가치 기반 강화학습)
Actor-Critic(A3C)
(정책 기반 강화학습)
policy gradient
TD(시간차) 학습
Q Q
π
Multi-Agent
Learning
ACKTR ...π
Hot 스타크래프트
π
A3C 스타일이 주류
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
27
AlphaGo는
두 가지 질문에
답하는 능력을 가지고 있습니다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
28
Q1. 가치 함수 :
지금 내가 얼마나 이기고 있나?
Q2. 정책 함수 :
지금 내가 무슨 행동을 해야하나?
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
29
Q1. 가치 함수 : 지금 내가 얼마나 이기고 있나?
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
30
Q1. 가치 함수 : 지금 내가 얼마나 이기고 있나?
가치 함수
흑 : 0 백 : 0
무승부로 예측
가치 함수
흑 : 0.85 백 : -0.85
흑이 실수만 안하면 이김
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
31
Q1. 가치 함수 : 그래, 그럼 가치 함수는 어떻게 구하지?
A. Convolution Neural Network
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
32
Q1. 가치 함수 : 가치함수 어떻게 업데이트하지?
A. Convolution Neural Network
인공신경망
θ
v
목표 함수 J(θ)를 향해
학습 속도만큼
인공신경망 θ의
Weight을 업데이트
s
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
33
Q1. 가치 함수 : 그래, 그럼 가치 함수는 어떻게 구하지?
B. 몬테카를로 근사(Approximation)
가치 함수
0.85
흑이 실수만 안하면 이김
바둑을 여러판을 했을 때,
이 상태를 내가 100번 겪어봤다.
이 상태를 거쳐서 내가
이긴 적이 90번 (+1)
진 적이 5번 (-1)
비긴 적이 5번 (+0)
85 / 100 = 0.85
몬테카를로 예측, 어려운 공식일 줄 알았는데..
단순무식한 방법.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
34
Q1. 가치 함수 : 그래, 그럼 가치 함수는 어떻게 구하지?
B. 몬테카를로 근사(Approximation)
가치 함수 <= 예측값 + 학습속도(실제값­ 예측값)
몬테카를로 예측의 가치함수 업데이트 식
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
35
Q2. 정책 함수 : 나는 무슨 행동을 해야 하지?
오목에서 흑이 다음 바둑돌을
어디에 두면 좋을까?
오목 초보도,
a1 a3에 두면 안좋다는 건 안다
적어도 a1나 a3보단
a2가 좋은 선택이지 않을까?
a1
a2
a3
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
36
Q2. 정책 함수 : 나는 무슨 행동을 해야 하지?
정책 함수
a1에 둘 확률 예측 : 0.5
a2에 둘 확률 예측 : 0.2
a3에 둘 확률 예측 : 0.3
각 행동을 할 확률
(Softmax, 총 합 1.0)
s
π(a1| s) = 0.5
π(a2| s) = 0.2
π(a3| s) = 0.3
a1
a2
a3
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
37
Q2. 정책 함수 : 나는 무슨 행동을 해야 하지?
헐, 직접 해보니까 예측값이랑 다르잖아!! 이상해!!
정책 함수
s
a1에 둘 확률 예측 : 0.5
a2에 둘 확률 예측 : 0.2
a3에 둘 확률 예측 : 0.3
각 행동을 할 확률
(Softmax, 총 합 1.0)
a1
a2
a3
π(a1| s) = 0.5
π(a2| s) = 0.2
π(a3| s) = 0.3
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
38
Q2. 정책 함수 : 나는 무슨 행동을 해야 하지?
누적 보상이 높은 방향으로 정책 함수를 업데이트 하자
정책 함수
s
a1에 둘 확률 예측 : 0.5 0.1
a2에 둘 확률 예측 : 0.2 0.6
a2에 둘 확률 예측 : 0.3 0.3
각 행동을 할 확률
(Softmax, 총 합 1.0)
a1
a2
a3
π(a1| s) = 0.1
π(a2| s) = 0.6
π(a3| s) = 0.3
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
39
Q2. 나는 무슨 행동을 해야 하지?
누적 보상이 높은 방향으로 정책 함수를 업데이트 하자
인공신경망
θ
a1
a2
a3
목표 함수 J(θ)를 향해
학습 속도만큼
인공신경망 θ의
Weight을 업데이트
s
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
40
다시 두 가지 질문
현재 상태를 객관적으로 살펴보면..
가치 함수
Value Network
음.. 헛!! 좋아! 진실은 언제나 하나!!
정책 함수
Policy Network
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
41
딥마인드의 DQN은
한 가지 질문에
대답하는 능력을 갖고 있습니다
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
42
Q 함수 : RGB 픽셀을 줄테니 행동을 말해줘
Q 함수
오른쪽!!
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
43
Q 함수 : RGB 픽셀을 줄테니 행동을 말해줘
Q 함수
a1행동 누적 보상 예측 : 31
a2 행동 누적 보상 예측 : 102
행동을 하면 얻을
누적 보상 예측 값
s
Q(a1| s) = 31
Q(a2| s) = 102a2
a1
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
44
Q 함수 : RGB 픽셀을 줄테니 행동을 말해줘
음 오른쪽 갔더니 예측한 것보다 더 잘되네?
Q 함수
a1행동 누적 보상 예측 : 31
a2 행동 누적 보상 예측 : 102
150
행동을 하면 얻을
누적 보상 예측 값
s
Q(a1| s) = 31
Q(a2| s) = 102 150a2
a1
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
45
보상 많이 받는 쪽으로 Q 함수를 업데이트 하자
Q 함수
a2 행동 누적 보상 예측 : 102
150
행동을 하면 얻을
누적 보상 예측 값
s
Q(a2| s) = 102 150a2
큐함수 업데이트 식
Q <= 예측값 + 학습속도(실제값­ 예측값)
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
46
Q 함수 : RGB 픽셀을 줄테니 행동을 말해줘
Q 함수
오른쪽!!
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
47
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
48
최신 강화학습 트렌드 : 분산 학습 시스템 A3C
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
49
스타크래프트2 강화 학습
StarCraft II Reinforcement Learning
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
50
솔직히, 딥마인드의 천재 엔지니어들을 보면 무섭습니다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
51
우리가 어떤 민족입니까?
전 세계에서 스타크래프트를 가장 잘하는 민족
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
52
전 세계에서 스타크래프트를 가장 잘하는 민족, Korea
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
53
문제1. 누구한테 먼저, 어떤 순서로 명령을 내려야 하지?
•  명령을 내려야할 대상이 여러 유닛이 되었다. 누구에게 명령을 내릴 것인가?
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
54
문제2. Action Space가 1억 가지 이상인데,
Policy Network를 어떻게 표현하지?
•  Atari game, 바둑과는 차원이 다른 경우의 수가 나타났다.
•  실시간 전략 게임인데, 한 프레임에 내릴 수 있는 명령의 수가 1억 개 이상이다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
55
문제3. Reward를 어떻게 설정하지? (Reward Shaping)
•  현재, Deepmind가 활용하고 있는 Reward는 Blizzard Score
•  하지만 위 블리자드 스코어를 높이도록 Agent를 훈련시키니, 자원만 열심히 캐더라
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
56
문제4. Deepmind 장비빨 ㅠㅠㅠㅠ
•  Learning Rate = 10e-5 ~ 10e-3 Random
•  Steps : 250M = 2억 5천만 Step (제 컴퓨터로 천만 스텝 한번 돌리려면 2-3일..)
•  A3C Agents : 64개의 비동기 쓰레드 = 스타크래프트2를 64개 띄움 (제 컴퓨터에선 띄울 수도 없음)
•  Algorithm : A3C
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
57
스타크래프트2 강화학습 전략 IDEA
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
58
IDEA1. 딥마인드 Baseline ­ A. Observation Space
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
59
IDEA1. 딥마인드 Baseline ­ B. Action Space
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
60
IDEA1. 딥마인드 Baseline ­ C. 강화학습 baseline 아키텍쳐
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
61
경제
Economy
전략
Strategy 정찰
Recon
전술
Tactics
생산
Production
Agent
스타크래프트의 문제들
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
62
인공지능이 스스로 게임을 플레이하게 만들기 위해선
전략, 전술, 경제, 생산, 정찰 문제를 동시에 풀어야함
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
63
알리바바 AI 팀이 만든 스타크래프트 강화학습은 전술(Tactics) 문제
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
64
경제
전략
정찰
전술
생산
Agent
IDEA 1. 내가 생각하는 스타크래프트의 문제 접근 법
Specialized agents for common goal
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
65
경제 Agent
전략 Agent
정찰 Agent
전술 Agent
생산 Agent
Master Agent
유비
제갈량
방통
마량
조운
마량
장비
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
66
경제 Agent
전략 Agent
정찰 Agent
전술 Agent
생산 Agent
유비 Master Agent
목표 : 승리!!
제갈량
목표 : 빌드 최적화
방통
목표 : 자원 최적화
마량
조운
목표 : 적 전략 인지
마량
목표 : 생산 최적화
장비
목표 : 마이크로 콘트롤
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
67
스타크래프트의 문제들
경제
전략 정찰
전술
생산
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
68
IDEA 2. 스타크래프트 1 BWAPI(인공지능 인터페이스)의
우수한 구현체를 스타2에 똑같이 만들어낸다
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
69
스타2 강화학습 스터디원 김세옥님의 벌쳐 마인 콘트롤 영상
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
70
스타1 BWAPI 프로토스 질럿 러시 전략 정의 JSON
{
"Protoss_ZealotRush":{
"Race":"Protoss",
"OpeningBuildOrder":[
"Probe", "Probe", "Probe", "Probe", "Pylon", "Probe", "Gateway", "Gateway",
"Probe", "Probe", "Zealot", "Pylon", "Zealot", "Zealot", "Probe", "Zealot", "Zealot",
"Probe", "Pylon", "Zealot", "Gateway", "Probe", "Pylon", "Probe", "Zealot", "Probe",
"Zealot", "Zealot", "Zealot", "Zealot", "Pylon", "Probe", "Zealot", "Zealot", "Zealot"
]
}
}
reference : https://github.com/davechurchill/ualbertabot/
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
71
스타1 BWAPI 저그 초반 저글링 러시 전략 정의 JSON
{
"Zerg_ZerglingRush":{
"Race":"Zerg",
"OpeningBuildOrder":[
"Drone", "Spawning Pool", "Zergling", "Zergling", "Zergling", "Zergling"
]
}
}
reference : https://github.com/davechurchill/ualbertabot/
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
72
스타1 BWAPI 저그 9드론 저글링 히드라 러시 전략 정의 JSON
{
"Zerg_ZerglingRush":{
"Race":"Zerg",
"OpeningBuildOrder":[
"Drone", "Drone", "Drone", "Drone", "Drone", "Spawning Pool", "Drone",
"Extractor", "Overlord", "Drone", "Zergling", "Zergling", "Zergling", "Hydralisk Den",
"Drone", "Drone", "Drone", "Drone"
]
}
}
reference : https://github.com/davechurchill/ualbertabot/
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
73
IDEA 3. Optimal Scripted Agent를 프로그램으로 만들고
이 행동을 A3C 에이전트가 따라하도록 학습시킨다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
74
스타2 강화학습 삽질 노하우
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
75
노하우1. 유닛마다 고유 아이디는 없다. 부대 단위 컨트롤만 가능하다.
•  개발자 마인드로 유닛의 ID를 구하려고 노력
했다.
•  하지만 딥마인드의 강화학습 환경은
최대한 인간과 동일한 인터페이스만 제공한
다.
•  부대를 지정하고 트레이닝을 시작해야 했다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
76
노하우2. 스타2 강화학습 기본 베이스라인 전략은
replay를 통한 사전 학습이 답이다.
•  Deepmind의 스타2 논문 마지막에
인간의 경기를 똑같이 모방하는 예시
가 나온다.
•  사람의 경기 결과를 Supervised
Learning으로 그대로 따라하는 에이
전트는 그럴듯하게 게임을 재현한다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
77
노하우3. 스타2에서는 OpenAI gym 안쓰는 게 답
•  OpenAI의 Gym은 Observation Space와 Action Space가 제한적이다.
•  현재 사용가능한 available actions 에 대한 개념이 없다.
•  Gym의 아키텍쳐는 아타리 게임 정도의 복잡도에서 사용하기에는 적합하지만,
스타2의 복잡도에서는 충분히 활용가능하지가 않다.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
78
노하우4. 강화학습 공부는 Sutton Book
그리고 모두의 연구소 강아지 책 추천 !!
•  파이썬과 케라스로 배우는 강화학습
이 책 정말 좋습니다. 사세요!
•  그리고 더 배우시려면,
Sutton 교수님의 강화학습 교재가 스탠다드.
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
79
노하우5. 머신러닝 구현체 코드가 이해 안되면,
영어 단어 암기하듯이 따라서 타이핑해라.
•  우리가 맨 처음 프로그래밍 언어 배울 때를 생각해보자.
•  대체 왜 System.out 을 앞에 붙이는거지?
•  include는 대체 뭐지?
•  원래 이해 안된다. 그냥 따라 치는 거다.ㅋㅋㅋㅋ
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
80
경제 Agent
전략 Agent
암살 Agent
전술 Agent
생산 Agent
Master Agent
목표 : 지구 정복
목표 : 빌드 최적화
목표 : 자원 최적화
마량
T-1000
목표 : 사라 코너를 없앤다
목표 : 생산 최적화
목표 : 마이크로 콘트롤
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
81
Azure Batch로 에이전트 학습 시키기
Train Agents on Azure Batch
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
82
GPU 장비 받으면 막상 기분이 엄청 좋다.
근데 사실 본인도 평소에는 접속 안한다. (유지비 엄청 비싸다)
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
83
ML 학습 작업을 돌릴 때는 Spot Instance로 하면 그뤠잇
•  대부분 GPU 장비는 평소에 사실 필요없다.
모델을 완성한 후 빡세게 돌릴 때는 장비가
많을 수록 좋다.
•  이런 경우에는 Azure Batch를 추천한다
Python script로 스타2 바이너리를 올리고
학습 명령을 수행한 후, 완료되면 인스턴스
를 죽인다.
•  개인적으로 공부하신다면, 돈을 최대한 아
낄 수 있도록 필요할 때만 인스턴스를 생성
해 학습시키는 방식을 추천
•  콜라 한 캔 가격
–  6코어 GPU RAM 56 G = ₩1,080/시간!
–  12코어 GPU RAM 112G = ₩2,160/시간
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
84
무료 크레딧만 받아서 Spot Instance로 쓰자
돈은 안쓰는 것이다
Chris Hoyean Song, Microsoft AI MVP
sjhshy@gmail.com
85
Thanks
sjhshy@gmail.com
https://github.com/chris-chris
https://www.facebook.com/ai.chris.chris
http://chris-chris.ai
https://brunch.co.kr/@chris-song/
https://www.linkedin.com/in/chris-song-0bb03439/

More Related Content

What's hot

自然方策勾配法の基礎と応用
自然方策勾配法の基礎と応用自然方策勾配法の基礎と応用
自然方策勾配法の基礎と応用
Ryo Iwaki
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
Akira Miyazawa
 
第2回nips読み会・関西資料『unsupervised learning for physical interaction through video ...
第2回nips読み会・関西資料『unsupervised learning for physical interaction through video ...第2回nips読み会・関西資料『unsupervised learning for physical interaction through video ...
第2回nips読み会・関西資料『unsupervised learning for physical interaction through video ...
koji ochiai
 
[DL輪読会]マルチエージェント強化学習と⼼の理論 〜Hanabiゲームにおけるベイズ推論を⽤いたマルチエージェント 強化学習⼿法〜
[DL輪読会]マルチエージェント強化学習と⼼の理論 〜Hanabiゲームにおけるベイズ推論を⽤いたマルチエージェント 強化学習⼿法〜 [DL輪読会]マルチエージェント強化学習と⼼の理論 〜Hanabiゲームにおけるベイズ推論を⽤いたマルチエージェント 強化学習⼿法〜
[DL輪読会]マルチエージェント強化学習と⼼の理論 〜Hanabiゲームにおけるベイズ推論を⽤いたマルチエージェント 強化学習⼿法〜
Deep Learning JP
 
Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定
Nagi Teramo
 
因果推論の基礎
因果推論の基礎因果推論の基礎
因果推論の基礎
Hatsuru Morita
 
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
Zansa
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
Kyunghwan Kim
 
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
Shiga University, RIKEN
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
y-uti
 
機械学習の未解決課題
機械学習の未解決課題機械学習の未解決課題
機械学習の未解決課題
Hiroyuki Masuda
 
Chapter7 回帰分析の悩みどころ
Chapter7 回帰分析の悩みどころChapter7 回帰分析の悩みどころ
Chapter7 回帰分析の悩みどころ
itoyan110
 
貪欲法による
単調劣モジュラ関数の最大化
貪欲法による
単調劣モジュラ関数の最大化貪欲法による
単調劣モジュラ関数の最大化
貪欲法による
単調劣モジュラ関数の最大化
Ikumi Shimizu
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
Yoichi Iwata
 
【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...
【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...
【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...
Deep Learning JP
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
Mitsuhisa Ohta
 
論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation
Katsuki Ohto
 
A3C解説
A3C解説A3C解説
A3C解説
harmonylab
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
Yasunori Ozaki
 
クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法
クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法
クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法
Hiroshi Nakagawa
 

What's hot (20)

自然方策勾配法の基礎と応用
自然方策勾配法の基礎と応用自然方策勾配法の基礎と応用
自然方策勾配法の基礎と応用
 
スペクトラル・クラスタリング
スペクトラル・クラスタリングスペクトラル・クラスタリング
スペクトラル・クラスタリング
 
第2回nips読み会・関西資料『unsupervised learning for physical interaction through video ...
第2回nips読み会・関西資料『unsupervised learning for physical interaction through video ...第2回nips読み会・関西資料『unsupervised learning for physical interaction through video ...
第2回nips読み会・関西資料『unsupervised learning for physical interaction through video ...
 
[DL輪読会]マルチエージェント強化学習と⼼の理論 〜Hanabiゲームにおけるベイズ推論を⽤いたマルチエージェント 強化学習⼿法〜
[DL輪読会]マルチエージェント強化学習と⼼の理論 〜Hanabiゲームにおけるベイズ推論を⽤いたマルチエージェント 強化学習⼿法〜 [DL輪読会]マルチエージェント強化学習と⼼の理論 〜Hanabiゲームにおけるベイズ推論を⽤いたマルチエージェント 強化学習⼿法〜
[DL輪読会]マルチエージェント強化学習と⼼の理論 〜Hanabiゲームにおけるベイズ推論を⽤いたマルチエージェント 強化学習⼿法〜
 
Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定Rで学ぶ回帰分析と単位根検定
Rで学ぶ回帰分析と単位根検定
 
因果推論の基礎
因果推論の基礎因果推論の基礎
因果推論の基礎
 
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
【Zansa】 人工社会-複雑系とマルチエージェントシミュレーションの紹介-
 
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
강화학습 해부학 교실: Rainbow 이론부터 구현까지 (2nd dlcat in Daejeon)
 
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
 
分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用分類問題 - 機械学習ライブラリ scikit-learn の活用
分類問題 - 機械学習ライブラリ scikit-learn の活用
 
機械学習の未解決課題
機械学習の未解決課題機械学習の未解決課題
機械学習の未解決課題
 
Chapter7 回帰分析の悩みどころ
Chapter7 回帰分析の悩みどころChapter7 回帰分析の悩みどころ
Chapter7 回帰分析の悩みどころ
 
貪欲法による
単調劣モジュラ関数の最大化
貪欲法による
単調劣モジュラ関数の最大化貪欲法による
単調劣モジュラ関数の最大化
貪欲法による
単調劣モジュラ関数の最大化
 
指数時間アルゴリズム入門
指数時間アルゴリズム入門指数時間アルゴリズム入門
指数時間アルゴリズム入門
 
【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...
【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...
【DL輪読会】Standardized Max Logits: A Simple yet Effective Approach for Identifyi...
 
TensorFlowで逆強化学習
TensorFlowで逆強化学習TensorFlowで逆強化学習
TensorFlowで逆強化学習
 
論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation論文紹介 : Unifying count based exploration and intrinsic motivation
論文紹介 : Unifying count based exploration and intrinsic motivation
 
A3C解説
A3C解説A3C解説
A3C解説
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 
クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法
クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法
クラシックな機械学習の入門  10. マルコフ連鎖モンテカルロ 法
 

Similar to 스타크래프트2 강화학습(StarCraft II Reinforcement Learning)

인공지능과 사업기회 (AI and Opportunities)
인공지능과 사업기회 (AI and Opportunities)인공지능과 사업기회 (AI and Opportunities)
인공지능과 사업기회 (AI and Opportunities)
Chris Hoyean Song
 
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
강 민우
 
[NDC2017] 뜻밖의 텍스트마이닝
[NDC2017] 뜻밖의 텍스트마이닝[NDC2017] 뜻밖의 텍스트마이닝
[NDC2017] 뜻밖의 텍스트마이닝
Kim DaeYoung
 
머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)
Byung-han Lee
 
Coding interview
Coding interviewCoding interview
Coding interview
Soohan Ahn
 
Natural intelligence 최종발표ppt_ver13
Natural intelligence 최종발표ppt_ver13Natural intelligence 최종발표ppt_ver13
Natural intelligence 최종발표ppt_ver13
Min Jeong Kim
 
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
Hoyeon Kim
 
창발 세미나 - Bing에서의 머신러닝
창발 세미나 - Bing에서의 머신러닝창발 세미나 - Bing에서의 머신러닝
창발 세미나 - Bing에서의 머신러닝
Sang-Min Park
 
비즈니스 데이터 크롤링
비즈니스 데이터 크롤링비즈니스 데이터 크롤링
비즈니스 데이터 크롤링
완선 이
 
Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)
NAVER Engineering
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
Kay Kim
 
Machine learning and deep learning (AiBB Lab)
Machine learning and deep learning (AiBB Lab)Machine learning and deep learning (AiBB Lab)
Machine learning and deep learning (AiBB Lab)
Don Chang
 
SageMaker를 활용한 엔터프라이즈 머신러닝 도입 및 프로세스 개선 방법 (김필호 AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS) ...
SageMaker를 활용한 엔터프라이즈 머신러닝 도입 및 프로세스 개선 방법 (김필호 AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS) ...SageMaker를 활용한 엔터프라이즈 머신러닝 도입 및 프로세스 개선 방법 (김필호 AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS) ...
SageMaker를 활용한 엔터프라이즈 머신러닝 도입 및 프로세스 개선 방법 (김필호 AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS) ...
Amazon Web Services Korea
 
Ai&ML Seminar in N3N cloud
Ai&ML Seminar in N3N cloudAi&ML Seminar in N3N cloud
Ai&ML Seminar in N3N cloud
HWANGTAEYONG
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?
Kay Kim
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
창완 장
 
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
Donghwa Kim
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
hoondong kim
 
[오컴 Clip IT 세미나] 머신러닝과 인공지능의 현재와 미래
[오컴 Clip IT 세미나] 머신러닝과 인공지능의 현재와 미래[오컴 Clip IT 세미나] 머신러닝과 인공지능의 현재와 미래
[오컴 Clip IT 세미나] 머신러닝과 인공지능의 현재와 미래
Taehoon Ko
 
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
강 민우
 

Similar to 스타크래프트2 강화학습(StarCraft II Reinforcement Learning) (20)

인공지능과 사업기회 (AI and Opportunities)
인공지능과 사업기회 (AI and Opportunities)인공지능과 사업기회 (AI and Opportunities)
인공지능과 사업기회 (AI and Opportunities)
 
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
[IGC2018] 엔씨소프트 이경종 - 심층강화학습을 활용한 프로게이머 수준의 AI 만들기
 
[NDC2017] 뜻밖의 텍스트마이닝
[NDC2017] 뜻밖의 텍스트마이닝[NDC2017] 뜻밖의 텍스트마이닝
[NDC2017] 뜻밖의 텍스트마이닝
 
머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)머신러닝(딥러닝 요약)
머신러닝(딥러닝 요약)
 
Coding interview
Coding interviewCoding interview
Coding interview
 
Natural intelligence 최종발표ppt_ver13
Natural intelligence 최종발표ppt_ver13Natural intelligence 최종발표ppt_ver13
Natural intelligence 최종발표ppt_ver13
 
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
[NDC2014]쉽게 따라 할 수있는 "꽤" 훌륭한 유저 동향 분석 시스템
 
창발 세미나 - Bing에서의 머신러닝
창발 세미나 - Bing에서의 머신러닝창발 세미나 - Bing에서의 머신러닝
창발 세미나 - Bing에서의 머신러닝
 
비즈니스 데이터 크롤링
비즈니스 데이터 크롤링비즈니스 데이터 크롤링
비즈니스 데이터 크롤링
 
Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)Open domain dialogue Chatbot(잡담봇 삽질기)
Open domain dialogue Chatbot(잡담봇 삽질기)
 
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
 
Machine learning and deep learning (AiBB Lab)
Machine learning and deep learning (AiBB Lab)Machine learning and deep learning (AiBB Lab)
Machine learning and deep learning (AiBB Lab)
 
SageMaker를 활용한 엔터프라이즈 머신러닝 도입 및 프로세스 개선 방법 (김필호 AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS) ...
SageMaker를 활용한 엔터프라이즈 머신러닝 도입 및 프로세스 개선 방법 (김필호 AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS) ...SageMaker를 활용한 엔터프라이즈 머신러닝 도입 및 프로세스 개선 방법 (김필호 AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS) ...
SageMaker를 활용한 엔터프라이즈 머신러닝 도입 및 프로세스 개선 방법 (김필호 AI/ML 스페셜리스트 솔루션즈 아키텍트, AWS) ...
 
Ai&ML Seminar in N3N cloud
Ai&ML Seminar in N3N cloudAi&ML Seminar in N3N cloud
Ai&ML Seminar in N3N cloud
 
애자일 게임 개발이란?
애자일 게임 개발이란?애자일 게임 개발이란?
애자일 게임 개발이란?
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
 
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
머신러닝으로 쏟아지는 유저 CS 답변하기 DEVIEW 2017
 
100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System100% Serverless big data scale production Deep Learning System
100% Serverless big data scale production Deep Learning System
 
[오컴 Clip IT 세미나] 머신러닝과 인공지능의 현재와 미래
[오컴 Clip IT 세미나] 머신러닝과 인공지능의 현재와 미래[오컴 Clip IT 세미나] 머신러닝과 인공지능의 현재와 미래
[오컴 Clip IT 세미나] 머신러닝과 인공지능의 현재와 미래
 
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
[IGC] 엔씨소프트 이경종 - 강화 학습을 이용한 NPC AI 구현
 

스타크래프트2 강화학습(StarCraft II Reinforcement Learning)

  • 1. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 1 스타크래프트2 강화학습 송호연
  • 2. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 2 송호연 (주) 카카오 R&D Data Engineer Microsoft AI MVP Google Tensorflow Contributor Tensorflow-KR 운영진 KAIST 전산학, 경영과학 학사 KAIST 기술경영 석사
  • 3. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 3 "만약 당신이 AI 전략을 갖고 있지 않다면 당신은 다가올 세상에서 죽을 것입니다" Devin Wenig, CEO, eBay
  • 4. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 4 프로덕트 매니저와 개발자는 새로운 서비스를 기획할 때 구현 가능한 범위를 논의합니다. 아이디어 구현 가능 프로덕트 매니저 ­ 아이디어 고객 문제점 ­ 개선 아이디어 ­ 새로운 상품 ­ 엔지니어 - 구현 가능성 - 구현 기술 - 구현 난이도 - 프로젝트 일정 고객에게 제공이 가능한 상품과 서비스
  • 5. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 5 인공지능은 상상할 수 없었던 새로운 역량을 Unlock했습니다 아이디어 구현 가능 프로덕트 매니저 ­ 아이디어 고객 문제점 ­ 개선 아이디어 ­ 새로운 상품 ­ 엔지니어 - 구현 가능성 - 구현 기술 - 구현 난이도 - 프로젝트 일정 기존에는 상상도 못하던 상품과 서비스
  • 6. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 6 Outline 범용 인공지능 General Artificial Intelligence 강화학습 기본 Reinforcement Learning Basics 스타크래프트2 강화학습 StarCraft II Reinforcement Learning Azure Batch로 에이전트 학습 시키기 Train Agents on Azure Batch
  • 7. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 7 The Imitation Game
  • 8. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 8 "사람이 그렇게 행동했다면 지능적이라고 말할 수 있는 행동을 하는 기계를 만드는 것" - John McCarthy, Father of AI and Lisp
  • 9. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 9 "머신러닝과 인공지능은 불과 몇 년 전만해도 우리가 상상할 수 없었던 역량을 열어주었습니다" Sundar Pichai, CEO, Google Inc. "만약 컴퓨터가 인간을 속여 자신을 마치 인간인 것처럼 믿게 할 수 있다면 컴퓨터를 ‘인텔리전트’ 하다고 부를만한 가치가 충분히 있다." Alan Turing(1912~1954) 세계 최초의 컴퓨터를 만든 천재 수학자
  • 10. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 10 당신은 지능이 대단한 컴퓨터를 만들고 싶다고 했는데요, 구체적으로 당신이 만들고 싶어하는 컴퓨터는 도대체 어떤 건가요? 난 대단한 지능의 컴퓨터를 만드는 데 는 별 관심이 없습니다. 내가 정말 추구하는 컴퓨터는 평범한 지능을 갖춘 컴퓨터입니다. 마치 미국의 AT&T의 사장과 같은 그러한 지능의 컴퓨터를 만들고 싶습니다.
  • 11. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 11 마치 스티브 잡스와 같은 지능의 컴퓨터를 만들고 싶습니다. 당시 AT&T의 사업과 영향력을 고려했을 때, 앨런 튜닝의 말은 이런 느낌이었을 것이다.
  • 12. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 12 "사실 정말 이해하고 싶었던 것은 뇌다. 근데 그것을 이해하기 위해서 컴퓨터 구조를 만들고 설계했는데 가만히 생각해보니까 실수한 것 같다 " - 사망 전 병원에서 집필한 [컴퓨터와 뇌] 원고 중, 폰 노이만(John von Neumann)
  • 13. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 13 뇌를 모방해 현대 컴퓨터 구조를 설계한 '폰 노이만'은 컴퓨터와 인간의 뇌에 본질적인 차이가 있다는 것을 깨달았다. 느리고, 정확도가 낮지만 연결성이 깊음 빠르고, 정확도가 높지만 연결성이 낮음 출처 : 김대식의 인간 vs 기계, 김대식, 동아시아 이미지 출처 : Illustration of a network of nerve cells in the brain. Credit: Benedict Campbell, Wellcome Images.
  • 14. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 14 사람의 뇌와 컴퓨터가 1+1=2 이라는 문제를 푸는 방식은 전혀 다르다. 수 많은 뉴론들이 시각 신호를 통해 들 어온 문제를 해석하고 관련된 뉴런들 을 찾아 운동신경으로 해답을 말한다. 값 1과 값 2를 입력 값으로 넣고 산술논리장치가 계산을 한 후 출력값을 내놓는다. 출처 : 김대식의 인간 vs 기계, 김대식, 동아시아 이미지 출처 : Illustration of a network of nerve cells in the brain. Credit: Benedict Campbell, Wellcome Images.
  • 15. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 15 범용 인공 지능 Artificial General Intelligence
  • 16. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 16
  • 17. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 17 강화 학습 Reinforcement Learning
  • 18. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 18 범용 인공지능의 시작, 강화 학습
  • 19. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 19 아기는 아무런 가르침을 받지 않고서도, 환경과의 상호작용으로 세상을 이해하기 시작한다
  • 20. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 20 Deepmind의 강화학습 알고리즘 DQN
  • 21. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 21 강화학습 어렵지 않아요! 외우세요!
  • 22. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 22 농담입니다.
  • 23. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 23 백날 자습해도 이해가 안되던 "강화학습" 머리 속에 인스톨 시켜드립니다 feat. 드래곤타이거 알파고의 알고리즘을 이해해보자!!!
  • 24. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 24 강화학습의 두가지 흐름 •  가치 기반 강화학습 (Value-based Reinforcement Learning) –  DQN, Deep-Sarsa, Sarsa, Q-learning •  정책 기반 강화학습 (Policy-based Reinforcement Learning) –  Actor-Critic(A3C), REINFORCE, MCTS(Monte-Carlo Tree Search, AlphaGo) DQN, Deep-Sarsa, Sarsa, Q-learning Actor-Critic(A3C) REINFORCE
  • 25. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 25 강화학습 History 순차적 프로그래밍 마르코프 의사결정 프로세스 정책 이터레이션 (벨만 기대 방정식) 가치 이터레이션 (벨만 최적 방정식) 다이나믹 프로그래밍 SARSA (벨만 기대 방정식) 큐러닝 (벨만 최적 방정식) 2. 몬테카를로 근사, 3. TD(시간차)-학습 on-policy 4. off-policy 1. Model free Q Q 5. Replay Memory
  • 26. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 26 강화학습 History 딥살사 (가치 기반 강화학습) REINFORCE (정책 기반 강화학습) 6. 딥러닝 policy gradient DQN (가치 기반 강화학습) Actor-Critic(A3C) (정책 기반 강화학습) policy gradient TD(시간차) 학습 Q Q π Multi-Agent Learning ACKTR ...π Hot 스타크래프트 π A3C 스타일이 주류
  • 27. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 27 AlphaGo는 두 가지 질문에 답하는 능력을 가지고 있습니다.
  • 28. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 28 Q1. 가치 함수 : 지금 내가 얼마나 이기고 있나? Q2. 정책 함수 : 지금 내가 무슨 행동을 해야하나?
  • 29. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 29 Q1. 가치 함수 : 지금 내가 얼마나 이기고 있나?
  • 30. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 30 Q1. 가치 함수 : 지금 내가 얼마나 이기고 있나? 가치 함수 흑 : 0 백 : 0 무승부로 예측 가치 함수 흑 : 0.85 백 : -0.85 흑이 실수만 안하면 이김
  • 31. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 31 Q1. 가치 함수 : 그래, 그럼 가치 함수는 어떻게 구하지? A. Convolution Neural Network
  • 32. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 32 Q1. 가치 함수 : 가치함수 어떻게 업데이트하지? A. Convolution Neural Network 인공신경망 θ v 목표 함수 J(θ)를 향해 학습 속도만큼 인공신경망 θ의 Weight을 업데이트 s
  • 33. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 33 Q1. 가치 함수 : 그래, 그럼 가치 함수는 어떻게 구하지? B. 몬테카를로 근사(Approximation) 가치 함수 0.85 흑이 실수만 안하면 이김 바둑을 여러판을 했을 때, 이 상태를 내가 100번 겪어봤다. 이 상태를 거쳐서 내가 이긴 적이 90번 (+1) 진 적이 5번 (-1) 비긴 적이 5번 (+0) 85 / 100 = 0.85 몬테카를로 예측, 어려운 공식일 줄 알았는데.. 단순무식한 방법.
  • 34. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 34 Q1. 가치 함수 : 그래, 그럼 가치 함수는 어떻게 구하지? B. 몬테카를로 근사(Approximation) 가치 함수 <= 예측값 + 학습속도(실제값­ 예측값) 몬테카를로 예측의 가치함수 업데이트 식
  • 35. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 35 Q2. 정책 함수 : 나는 무슨 행동을 해야 하지? 오목에서 흑이 다음 바둑돌을 어디에 두면 좋을까? 오목 초보도, a1 a3에 두면 안좋다는 건 안다 적어도 a1나 a3보단 a2가 좋은 선택이지 않을까? a1 a2 a3
  • 36. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 36 Q2. 정책 함수 : 나는 무슨 행동을 해야 하지? 정책 함수 a1에 둘 확률 예측 : 0.5 a2에 둘 확률 예측 : 0.2 a3에 둘 확률 예측 : 0.3 각 행동을 할 확률 (Softmax, 총 합 1.0) s π(a1| s) = 0.5 π(a2| s) = 0.2 π(a3| s) = 0.3 a1 a2 a3
  • 37. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 37 Q2. 정책 함수 : 나는 무슨 행동을 해야 하지? 헐, 직접 해보니까 예측값이랑 다르잖아!! 이상해!! 정책 함수 s a1에 둘 확률 예측 : 0.5 a2에 둘 확률 예측 : 0.2 a3에 둘 확률 예측 : 0.3 각 행동을 할 확률 (Softmax, 총 합 1.0) a1 a2 a3 π(a1| s) = 0.5 π(a2| s) = 0.2 π(a3| s) = 0.3
  • 38. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 38 Q2. 정책 함수 : 나는 무슨 행동을 해야 하지? 누적 보상이 높은 방향으로 정책 함수를 업데이트 하자 정책 함수 s a1에 둘 확률 예측 : 0.5 0.1 a2에 둘 확률 예측 : 0.2 0.6 a2에 둘 확률 예측 : 0.3 0.3 각 행동을 할 확률 (Softmax, 총 합 1.0) a1 a2 a3 π(a1| s) = 0.1 π(a2| s) = 0.6 π(a3| s) = 0.3
  • 39. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 39 Q2. 나는 무슨 행동을 해야 하지? 누적 보상이 높은 방향으로 정책 함수를 업데이트 하자 인공신경망 θ a1 a2 a3 목표 함수 J(θ)를 향해 학습 속도만큼 인공신경망 θ의 Weight을 업데이트 s
  • 40. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 40 다시 두 가지 질문 현재 상태를 객관적으로 살펴보면.. 가치 함수 Value Network 음.. 헛!! 좋아! 진실은 언제나 하나!! 정책 함수 Policy Network
  • 41. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 41 딥마인드의 DQN은 한 가지 질문에 대답하는 능력을 갖고 있습니다
  • 42. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 42 Q 함수 : RGB 픽셀을 줄테니 행동을 말해줘 Q 함수 오른쪽!!
  • 43. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 43 Q 함수 : RGB 픽셀을 줄테니 행동을 말해줘 Q 함수 a1행동 누적 보상 예측 : 31 a2 행동 누적 보상 예측 : 102 행동을 하면 얻을 누적 보상 예측 값 s Q(a1| s) = 31 Q(a2| s) = 102a2 a1
  • 44. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 44 Q 함수 : RGB 픽셀을 줄테니 행동을 말해줘 음 오른쪽 갔더니 예측한 것보다 더 잘되네? Q 함수 a1행동 누적 보상 예측 : 31 a2 행동 누적 보상 예측 : 102 150 행동을 하면 얻을 누적 보상 예측 값 s Q(a1| s) = 31 Q(a2| s) = 102 150a2 a1
  • 45. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 45 보상 많이 받는 쪽으로 Q 함수를 업데이트 하자 Q 함수 a2 행동 누적 보상 예측 : 102 150 행동을 하면 얻을 누적 보상 예측 값 s Q(a2| s) = 102 150a2 큐함수 업데이트 식 Q <= 예측값 + 학습속도(실제값­ 예측값)
  • 46. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 46 Q 함수 : RGB 픽셀을 줄테니 행동을 말해줘 Q 함수 오른쪽!!
  • 47. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 47
  • 48. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 48 최신 강화학습 트렌드 : 분산 학습 시스템 A3C
  • 49. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 49 스타크래프트2 강화 학습 StarCraft II Reinforcement Learning
  • 50. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 50 솔직히, 딥마인드의 천재 엔지니어들을 보면 무섭습니다.
  • 51. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 51 우리가 어떤 민족입니까? 전 세계에서 스타크래프트를 가장 잘하는 민족
  • 52. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 52 전 세계에서 스타크래프트를 가장 잘하는 민족, Korea
  • 53. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 53 문제1. 누구한테 먼저, 어떤 순서로 명령을 내려야 하지? •  명령을 내려야할 대상이 여러 유닛이 되었다. 누구에게 명령을 내릴 것인가?
  • 54. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 54 문제2. Action Space가 1억 가지 이상인데, Policy Network를 어떻게 표현하지? •  Atari game, 바둑과는 차원이 다른 경우의 수가 나타났다. •  실시간 전략 게임인데, 한 프레임에 내릴 수 있는 명령의 수가 1억 개 이상이다.
  • 55. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 55 문제3. Reward를 어떻게 설정하지? (Reward Shaping) •  현재, Deepmind가 활용하고 있는 Reward는 Blizzard Score •  하지만 위 블리자드 스코어를 높이도록 Agent를 훈련시키니, 자원만 열심히 캐더라
  • 56. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 56 문제4. Deepmind 장비빨 ㅠㅠㅠㅠ •  Learning Rate = 10e-5 ~ 10e-3 Random •  Steps : 250M = 2억 5천만 Step (제 컴퓨터로 천만 스텝 한번 돌리려면 2-3일..) •  A3C Agents : 64개의 비동기 쓰레드 = 스타크래프트2를 64개 띄움 (제 컴퓨터에선 띄울 수도 없음) •  Algorithm : A3C
  • 57. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 57 스타크래프트2 강화학습 전략 IDEA
  • 58. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 58 IDEA1. 딥마인드 Baseline ­ A. Observation Space
  • 59. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 59 IDEA1. 딥마인드 Baseline ­ B. Action Space
  • 60. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 60 IDEA1. 딥마인드 Baseline ­ C. 강화학습 baseline 아키텍쳐
  • 61. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 61 경제 Economy 전략 Strategy 정찰 Recon 전술 Tactics 생산 Production Agent 스타크래프트의 문제들
  • 62. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 62 인공지능이 스스로 게임을 플레이하게 만들기 위해선 전략, 전술, 경제, 생산, 정찰 문제를 동시에 풀어야함
  • 63. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 63 알리바바 AI 팀이 만든 스타크래프트 강화학습은 전술(Tactics) 문제
  • 64. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 64 경제 전략 정찰 전술 생산 Agent IDEA 1. 내가 생각하는 스타크래프트의 문제 접근 법 Specialized agents for common goal
  • 65. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 65 경제 Agent 전략 Agent 정찰 Agent 전술 Agent 생산 Agent Master Agent 유비 제갈량 방통 마량 조운 마량 장비
  • 66. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 66 경제 Agent 전략 Agent 정찰 Agent 전술 Agent 생산 Agent 유비 Master Agent 목표 : 승리!! 제갈량 목표 : 빌드 최적화 방통 목표 : 자원 최적화 마량 조운 목표 : 적 전략 인지 마량 목표 : 생산 최적화 장비 목표 : 마이크로 콘트롤
  • 67. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 67 스타크래프트의 문제들 경제 전략 정찰 전술 생산
  • 68. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 68 IDEA 2. 스타크래프트 1 BWAPI(인공지능 인터페이스)의 우수한 구현체를 스타2에 똑같이 만들어낸다
  • 69. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 69 스타2 강화학습 스터디원 김세옥님의 벌쳐 마인 콘트롤 영상
  • 70. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 70 스타1 BWAPI 프로토스 질럿 러시 전략 정의 JSON { "Protoss_ZealotRush":{ "Race":"Protoss", "OpeningBuildOrder":[ "Probe", "Probe", "Probe", "Probe", "Pylon", "Probe", "Gateway", "Gateway", "Probe", "Probe", "Zealot", "Pylon", "Zealot", "Zealot", "Probe", "Zealot", "Zealot", "Probe", "Pylon", "Zealot", "Gateway", "Probe", "Pylon", "Probe", "Zealot", "Probe", "Zealot", "Zealot", "Zealot", "Zealot", "Pylon", "Probe", "Zealot", "Zealot", "Zealot" ] } } reference : https://github.com/davechurchill/ualbertabot/
  • 71. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 71 스타1 BWAPI 저그 초반 저글링 러시 전략 정의 JSON { "Zerg_ZerglingRush":{ "Race":"Zerg", "OpeningBuildOrder":[ "Drone", "Spawning Pool", "Zergling", "Zergling", "Zergling", "Zergling" ] } } reference : https://github.com/davechurchill/ualbertabot/
  • 72. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 72 스타1 BWAPI 저그 9드론 저글링 히드라 러시 전략 정의 JSON { "Zerg_ZerglingRush":{ "Race":"Zerg", "OpeningBuildOrder":[ "Drone", "Drone", "Drone", "Drone", "Drone", "Spawning Pool", "Drone", "Extractor", "Overlord", "Drone", "Zergling", "Zergling", "Zergling", "Hydralisk Den", "Drone", "Drone", "Drone", "Drone" ] } } reference : https://github.com/davechurchill/ualbertabot/
  • 73. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 73 IDEA 3. Optimal Scripted Agent를 프로그램으로 만들고 이 행동을 A3C 에이전트가 따라하도록 학습시킨다.
  • 74. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 74 스타2 강화학습 삽질 노하우
  • 75. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 75 노하우1. 유닛마다 고유 아이디는 없다. 부대 단위 컨트롤만 가능하다. •  개발자 마인드로 유닛의 ID를 구하려고 노력 했다. •  하지만 딥마인드의 강화학습 환경은 최대한 인간과 동일한 인터페이스만 제공한 다. •  부대를 지정하고 트레이닝을 시작해야 했다.
  • 76. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 76 노하우2. 스타2 강화학습 기본 베이스라인 전략은 replay를 통한 사전 학습이 답이다. •  Deepmind의 스타2 논문 마지막에 인간의 경기를 똑같이 모방하는 예시 가 나온다. •  사람의 경기 결과를 Supervised Learning으로 그대로 따라하는 에이 전트는 그럴듯하게 게임을 재현한다.
  • 77. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 77 노하우3. 스타2에서는 OpenAI gym 안쓰는 게 답 •  OpenAI의 Gym은 Observation Space와 Action Space가 제한적이다. •  현재 사용가능한 available actions 에 대한 개념이 없다. •  Gym의 아키텍쳐는 아타리 게임 정도의 복잡도에서 사용하기에는 적합하지만, 스타2의 복잡도에서는 충분히 활용가능하지가 않다.
  • 78. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 78 노하우4. 강화학습 공부는 Sutton Book 그리고 모두의 연구소 강아지 책 추천 !! •  파이썬과 케라스로 배우는 강화학습 이 책 정말 좋습니다. 사세요! •  그리고 더 배우시려면, Sutton 교수님의 강화학습 교재가 스탠다드.
  • 79. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 79 노하우5. 머신러닝 구현체 코드가 이해 안되면, 영어 단어 암기하듯이 따라서 타이핑해라. •  우리가 맨 처음 프로그래밍 언어 배울 때를 생각해보자. •  대체 왜 System.out 을 앞에 붙이는거지? •  include는 대체 뭐지? •  원래 이해 안된다. 그냥 따라 치는 거다.ㅋㅋㅋㅋ
  • 80. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 80 경제 Agent 전략 Agent 암살 Agent 전술 Agent 생산 Agent Master Agent 목표 : 지구 정복 목표 : 빌드 최적화 목표 : 자원 최적화 마량 T-1000 목표 : 사라 코너를 없앤다 목표 : 생산 최적화 목표 : 마이크로 콘트롤
  • 81. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 81 Azure Batch로 에이전트 학습 시키기 Train Agents on Azure Batch
  • 82. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 82 GPU 장비 받으면 막상 기분이 엄청 좋다. 근데 사실 본인도 평소에는 접속 안한다. (유지비 엄청 비싸다)
  • 83. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 83 ML 학습 작업을 돌릴 때는 Spot Instance로 하면 그뤠잇 •  대부분 GPU 장비는 평소에 사실 필요없다. 모델을 완성한 후 빡세게 돌릴 때는 장비가 많을 수록 좋다. •  이런 경우에는 Azure Batch를 추천한다 Python script로 스타2 바이너리를 올리고 학습 명령을 수행한 후, 완료되면 인스턴스 를 죽인다. •  개인적으로 공부하신다면, 돈을 최대한 아 낄 수 있도록 필요할 때만 인스턴스를 생성 해 학습시키는 방식을 추천 •  콜라 한 캔 가격 –  6코어 GPU RAM 56 G = ₩1,080/시간! –  12코어 GPU RAM 112G = ₩2,160/시간
  • 84. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 84 무료 크레딧만 받아서 Spot Instance로 쓰자 돈은 안쓰는 것이다
  • 85. Chris Hoyean Song, Microsoft AI MVP sjhshy@gmail.com 85 Thanks sjhshy@gmail.com https://github.com/chris-chris https://www.facebook.com/ai.chris.chris http://chris-chris.ai https://brunch.co.kr/@chris-song/ https://www.linkedin.com/in/chris-song-0bb03439/