SlideShare a Scribd company logo
1 of 32
Download to read offline
Copyright © 2015 S-Core. Confidential and Proprietary.
Value Creator through Advanced Technology
ECP Group, S-Core
박상은 프로 (edberg.bak@samsung.com)
AlphaGo – Technical Review
2016.03
1
신의 한 수 – AlphaGo vs. 이세돌, 제 1국
• 대부분의 해설자 曰 “신의 한수와
같다.”
• 프로 기사 조차도 상상하기 힘든 수
 아마도 학습 데이터 셋에 이런
패턴은 없었을 것이다
질문.
알파고의 힘은 어디서 왔는가?
2
Agenda
1. 기존의 인공지능 플레이어의 방식 (AlphaGo의 선배들은?)
2. 인간 플레이어의 바둑
3. AlphaGo의 바둑
4. 이벤트와 가십
이 발표자료 및 세미나는 Nature의 AlphaGo 논문 [“Mastering the game Go with deep neural
networks and tree search”, David Silver, Aja Huang, etc…, Nature 529, 484-489 (28 January
2016)] 에 근거하고 있습니다. 특별히 출처가 명시되지 않은 이미지의 출처는 제가 직접
만들었거나 혹은 알파고 논문에서 발췌하였음을 밝혀 둡니다.
AlphaGo 논문은 유료 판매되는 논문입니다. 관심이 있으신 분들은 Nature에서 구입하여 보시기
바랍니다.
3
Exhaustive Key Search를 쓰면? (1)
I. Legacy AI Go Player
State of Now
a b c z… Possible Next Move
Subc Subz
Subtree of Possible
Following Moves
Exhaustive Key Search
최고점을 낼 수 있는 child node의 sequence를 선택
Min-max Algorithm
(바둑과 같은 턴제 게임을 위한
개선된 Exhaustive Key Search)
A
B C
D:
10
E:
-7
F:
9
G:
7
My Turn
Enemy Turn
My Turn
 턴 교대를 고려한 최고점을 낼 수 있는 child를 선택
 내 턴에서는 최선의 child, 상대 턴에는 최악의 child를 선택
Simple EKS Min-max
4
Exhaustive Key Search를 쓰면? (2)
I. Legacy AI Go Player
• 바둑 게임의 복잡도complexity
• 일반적으로 EKS의 복잡도는 𝑶 𝒃 𝒅
로 정의됨 (b : tree의 폭, d : tree의 깊이)
• 바둑에서는 보통 𝒃, 𝒅 ≈ 𝟐𝟓𝟎, 𝟏𝟓𝟎 라고 하며 이에 따른 복잡도는 𝒃 𝒅
≈ 𝟓 × 𝟏𝟎 𝟑𝟓𝟗
• Chess : 𝒃, 𝒅 ≈ 𝟑𝟓, 𝟖𝟎 , 𝒃 𝒅
≈ 𝟑 × 𝟏𝟎 𝟏𝟐𝟑
• 바둑에서 EKS를 사용하는 것은 적절치 못함
• 체스도 마찬가지  Deep Blue (1997)는 12수 앞까지만 내다 봄
Image from http://thenewstack.io/google-ai-beats-human-champion-complex-game-ever-invented/
5
그러면 써 봄직한 기존 AI 플레이어의 접근 방법은?
I. Legacy AI Go Player
• 인간의 스타일을 학습해 보면?
• 휴리스틱의 형태로 일부 반영하기도 함
• 룰이나 네트워크로 인간의 스타일을 표현하는데 표현력의 한계가 있음  잘 사용하기 힘듦
• 좀 더 현실적인 접근 방법은
• 게임 트리에서 유효하지 않는 부분을 제거하고
• 게임 트리의 폭과 깊이를 계산이 가능한 수준까지 줄여보기
6
전략들
I. Legacy AI Go Player
• 깊이를 줄이는 전략
• 만약 바둑판의 판세를 바로 평가할 수 있다면?
• 승패를 확정적으로 확인할 수 있는 상태 이후로는 더 이상 child의 시퀀스를 찾아다닐 필요가 없음
• 체스Chess, 체커Checker, 오델로Othello와 같은 게임에 좋은 결과를 보임
• 바둑에 적용하면?
• 게임의 초반에 상태를 평가하기가 너무 모호함
• 심지어 알파고조차도 판세 예측의 정확도가 77%에 머뭄
• 폭을 줄이는 전략
• Alphabeta 가지치기 전략
• Min-max 알고리즘의 max phase에 Alpha 가지치기, min phase에 Beta 가지치기를 하는 전략
• 게임의 결과를 쉽게 계산할 수 있는 경우에 유용함 (역시 바둑은……)
• 몬테카를로 트리 검색Monte Carlo Tree Search (MCTS)
• 바둑과 같은 예측하기 힘든 게임을 위한 검색 방법
• 수많은 무작위 선택지를 사용하여 수많은 무작위 시뮬레이션의 결과로부터 예측
• 백가몬Backgammon이나 스크레블Scrabble과 같은 게임에 좋은 결과를 보임
• 바둑에 적용해 보면 약한 아마추어 정도의 기력을 구현할 수 있음
7
몬테카를로 방법과 몬테카를로 롤아웃
I. Legacy AI Go Player
• 몬테카를로 방법
• 통계 물리학에서 흔히 쓰이는 방법론
• 통계적 모델에서는, 많은 무작위 선택으로 자연의 특성을 잘 설명할 수 있음
• 예제 : 𝜋 계산하기
• 몬테카를로 롤아웃과 몬테카를로 트리 검색
• 트리 검색에 몬테카를로 방법을 적용하기 위한 작업
• 몬테카를로 롤아웃 : 전체 트리에서 무작위로 끝까지 골라낸 하나의 무작위 시퀀스 Ex> 로또 숫자
6개를 무작위로 고른 각각
• 몬테카를로 트리 검색 : 수많은 몬테카를로 롤아웃을 시뮬레이션
• 몬테카를로 트리 검색의 기본 아이디어
• 시뮬레이션을 통해 몬테카를로 롤아웃 중 최고를 선택
from wikipedia
𝜋 ≈
# 𝑜𝑓 𝑟𝑒𝑑 𝑝𝑜𝑖𝑛𝑡𝑠
# 𝑜𝑓 𝑡𝑜𝑡𝑎𝑙 𝑝𝑜𝑖𝑛𝑡𝑠 × 4
8
몬테카를로 트리 검색 (1)
I. Legacy AI Go Player
1. 선택Selection  2. 확장Expansion  3. 시뮬레이션Simulation  4. 역전파Backpropagation
Example of MTCS – from Wikipedia Monte Carlo tree search
 선택과 시뮬레이션 단계에서 무작위로 샘플링함
 k번의 시뮬레이션 이후, 문제에 맞는 평가 기준에 따라 가장 적당한 노드를 선택 (k가 충분히
크면 시뮬레이션 결과는 최적값으로 수렴함)
9
몬테카를로 트리 검색 (2)
I. Legacy AI Go Player
• MCTS 평가
• 이점
• 시뮬레이션을 언제 중단하더라도 그때까지의 결과 중에서 선택이 가능
• 바둑과 같이 시간 제한이 있는 게임에 적당한 방법
• 단점
• 무작위 선택을 활용한 방법으로 임의성으로 인한 노이즈와 오버헤드가 발생
• 초반 몇 번의 시뮬레이션 결과로 최종 결과가 쏠려 버리는 경향이 있음
• 기존 AI 바둑 프로그램은 (최신 AI 포함)
• MCTS를 고성능으로 구현하였음
• 최고의 AI 바둑 프로그램인 Crazy Stone (MCTS 사용) 조차도 아마추어 5~6단 수준에 머무르는데, 이는
프로 바둑 기사 1段보다 매우 약한 실력임
10
인간 플레이어의 바둑 (1)
II. Human Player
• 바둑과 건축의 비교
설계
기초공사
시공
마감 공사
준공 공사
건축 바둑
포석 : 영역의 설계
세력의 구축
사활 싸움 :
세력의 결정
계가 : 집을 세고 승패를 결정
11
인간 플레이어의 바둑 (2)
II. Human Player
• 사람이 바둑을 둘 때의 3가지 주요 키워드
• 정석 : “바둑의 교과서”
• 수천년 바둑 역사를 통해서 만들어진 진형과 패턴
• 바둑 게임 진행의 청사진
• 바둑 인간 데이터 그 자체
• 수순 : “돌을 놓아가는 순서”
• 살아있는 집을 만들기 위해서, 수순을 통해 튼튼한 울타리를 만들어야 함
• 상대방이 내 계획을 방대하므로, 이를 무력화시키는 수순이 매우 중요
• 절차의 합리성
• 연결 : 어떤 지점의 주위 지점과의 관계 (내 돌, 상대 돌 모두 포함)
• 바둑에서는 돌 하나는 의미가 없음
• 돌 간의 연결만이 의미를 지님
• 제한된 시간 안에 인간 플레이어를 이기기 위해서는
• 인간 플레이어의 방식을 휴리스틱의 형태로 받아들이거나
• 인간 플레이어를 뛰어넘는 우월한 전략을 만들어내야 함
12
AlphaGo의 전략
III. AlphaGo
• 정석을 반영하기 위해서  인간 플레이 데이터로 학습한 신경망을 사용
• 정확도와 검색 비용 양 측면의 효율성을 달성
• 성격이 다른 네트워크의 조합을 통한 인간 플레이를 뛰어넘는 영리한 신경망을 창조
• 수순을 반영하기 위해서  튜닝한 몬테카를로 트리 검색을 사용
• 탐색(Traverse)에 페널티를 도입하여 인간 데이터에 속박 받지 않는 유연함을 획득
• 거듭된 인간 데이터 왜곡을 통해 AlphaGo 그녀 만의 기풍과 합리성을 확보
• 연결을 반영하기 위해서  딥 러닝 – 컨볼루션convolutional filtering – 을 사용
• Deep Neural Network using CNN
13
AlphaGo의 신경망들 (1)
III. AlphaGo
• 학습 데이터셋
• 기존의 인공지능 바둑 프로그램은 과거 인간 데이터를 거의 사용하지 않음
• AlphaGo는 KGS Go Server의 3000만개의 바둑 position data를 사용
• KGS 평가 기준 6단에서 9단 데이터
• 프로기사의 실력에 못미치는 아마추어들의 데이터 (프로 초段 >> 아마 고단)
• (현재 판의 모양, 다음 수)의 페어 데이터를 각각 입력과 타겟값으로 경기의 승패와 상관없이 사용
• 4개의 신경망
• 정책 네트워크
• (인간 데이터에) 충실한 네트워크 - 𝒑 𝝈
• 빠른 네트워크 - 𝒑 𝝅
• 시뮬레이션 게임 네트워크 - 𝒑 𝝆
• 평가 네트워크 - 𝒗 𝜽
14
AlphaGo의 신경망들 (2)
III. AlphaGo
• 충실한 네트워크 (𝒑 𝝈)
• KGS Go Server에서 가져온 인간 데이터로부터 직접 학습
• 과거 인간 플레이 데이터에 가장 충실한 네트워크
• 48개의 특징을 13개의 컨볼루션 레이어에서 학습 (19X19X48 Tensor)
• 테스트 데이터셋 상에서 57%의 예측 정확도
• 빠른 네트워크 (𝒑 𝝅)
• 마찬가지로 인간 데이터로부터 직접 학습하지만
• 충실한 네트워크보다 네트워크 구조도 단순하고 특징도 단순화시킴
• 24.2%의 정확도에 머물지만 훨씬 빠름 : 다음 수를 예측하는데 2μ𝑠 (충실한 네트워크 : 3𝑚𝑠)
• 시뮬레이션 게임 네트워크 (𝒑 𝝆) : 강화 학습
• 최종 𝒑 𝝈와 임의 선택한 중간 단계의 𝒑 𝝈간에 싸움을 붙여서 새로운 학습 데이터를 생성
• 인간 데이터 왜곡의 시도  합리적인 노이즈를 섞어 과적합을 방지
• 새로운 학습 데이터셋 : (현재 판의 모양, 게임 종국의 결과)를 입력으로, 다음 수를 타겟값으로 사용
• 게임 종국의 결과를 학습 단계에서 + 또는 – 피드백으로 사용
• 𝒑 𝝈를 상대로 80%의 승률을 기록 : 강화 학습의 힘
• “정책 네트워크” – 위의 3종의 네트워크는 다음 수를 두는 정책을 제시할 수 있음
15
AlphaGo의 신경망들 (3)
III. AlphaGo
• 평가 네트워크 (𝒗 𝜽)
• 현재 바둑판의 모양으로 게임의 최종 결과를 바로 예측해내는 네트워크
• 이어진 수순을 구성하지 않고 결과를 바로 예측한다는 의미
• 2개의 시뮬레이션 게임 네트워크 간의 모의시합을 통해서 새로운 학습 데이터셋을 생성
• 새로운 학습 데이터셋 : 현재 판의 모양을 입력으로, 게임의 승패를 타겟값으로 사용
• 최종 결과를 단일한 스칼라 값으로 만들기 위해서 탄젠트 하이퍼볼릭Tangent Hyperbolic을 Activation
Function으로 사용
• 평가 네트워크의 예측과 실제 게임 사이의 오판단률 : 0.234
• 이 4종의 네트워크를 어떻게 사용되는가?
• 튜닝된 몬테카를로 트리 검색에 사용함
16
요약 : AlphaGo의 네트워크들
III. AlphaGo
빠른 네트워크. 몬테카를로
롤아웃을 생성하는데 사용
충실한 네트워크. 몬테카를로 트리 검색의
확장 단계에서 확률 값을 계산하는데 사용
시뮬레이션 게임 네트워크. 평가 네트워크에
사용할 학습 데이터셋을 생성하는데 사용
최종 𝑝 𝜎 대 중간 𝑝 𝜎 간의 게임 데이터를
사용하여 게임 결과에 따라 +/-
피드백으로 반영하면서 학습
KGS Go Server의 6단 ~ 9단
게임의 판세 데이터
3000만개를 사용하여 학습
최종 𝒑 𝝆 대 최종 𝒑 𝝆간의
게임 데이터로 학습.
승률에 대한 회귀 분석
24.2% correct
prediction, 2μs
57.0%, 3ms +80% Winning Rate for SL
Prediction GAP = 0.234
평가 네트워크. 현재
판세를 평가하는데 사용
17
AlphaGo에 사용된 튜닝한 몬테카를로 트리 검색
III. AlphaGo
0. current status s
1. 선택 : Q(st, a)+u(st, a)를 최대로 만드는 시퀀스를 찾고 이 시퀀스 상에서 이 값이 최대인 노드를 선택 (u : 𝒑 𝝈로
구한 확률에 비례하고 탐색 시 방문 빈도에 반비례하는 보너스  방문 빈도가 덜한 착수지점을 시도해 보도록
장려)
2. 확장 : 일반적인 MCTS가 무작위로 확장하는데 비해, AlphaGo는 확장 child를 𝒑 𝝈의 판단에 의거하여 선택
3. 평가 : 평가 네트워크(𝒗 𝜽)의 평가 V와 빠른 네트워크(𝒑 𝝅)로 만든 fast roll-out의 승패 결과 Z를 가중치합 하여 평가
(λV+(1- λ)Z). Nature 논문에 사용된 가중치는 1:1, 즉 λ는 0.5
4. 역전파 : 평가 결과를 선택된 시퀀스의 각각의 Q에 반영 (Q는 과거 시뮬레이션 이력)
5. 가장 많이 방문된 노드를 다음 수로 선택 (많은 서브 프로세스의 투표를 시뮬레이션)
Using 𝒑 𝝈
Using 𝒗 𝜽 which using data from 𝒑 𝝆Using 𝒑 𝝅 +
Using 𝒑 𝝈
18
다음 수의 예측도 (Data from AlphaGo Paper)
III. AlphaGo
a. 평가 네트워크 + 시뮬레이션 결과 b. 평가 네트워크 c. Fast Roll-out을 사용한 시뮬레이션 결과
d. 충실한 네트워크 e. MCTS 과정의 방문 빈도 (%) f. 다음 수
19
연결의 반영 – 신경망 내부 (CNN) (1)
III. AlphaGo
• CNNConvolutional Neural Network : 이미지나 동영상을 위한 딥러닝 기법
• 주위 이웃으로부터의 정보를 사용
• 바둑과 CNN
• 바둑 판을 흰색, 검은색, 중립색을 가진 19X19 이미지로 간주
• 현재 판의 돌 간의 연결성을 추출해낼 수 있는 유용한 필터가 존재할 수 있다.
필터와 서브샘플링을 반복하여 적용
From http://deeplearning.net/tutorial/lenet.html
필터 예제 – 수직/수평 연결성을 찾아내기.
원 이미지의 2X2 서브윈도우를 필터와
합성곱(Convoluition)하여 그 결과를 사용
from :
http://www.kdnuggets.com/2015/04/inside-
deep-learning-computer-vision-
convolutional-neural-networks.html
20
연결의 반영 – 신경망 내부 (CNN) (2)
III. AlphaGo
19X19X48 Input Feature
경계 지역의 동일한 처리를 위해 가장자리에
2줄의 비어있는 가상 착수지점을 추가
…
Convolution
19X19X192
Convolution Layer5X5의 Convolution
Filter 192개
…
Convolution
19X19X192
Convolution Layer
3X3의 Convolution
Filter (192)
총 13층의
Convolution 레이어
정책 네트워크
(Softmax)
평가 네트워크
다음 수를 결정하기
위한 확률 분포
…
완전히 연결된 256
노드로 구성된 레이어
스칼라 값이 나오는
Activation Function
(Tangent Hyperbolic)
# - 평가값
19X19X192
Convolution Layer
5x5
3x3
3x3
Architecture of AlphaGo Convolution Network
21
연결의 반영 – 신경망 내부 (CNN) (3)
III. AlphaGo
• 필터를 통해 추출한 지역적 구조를 사용 (연결을 의미함)
• 13층의 중간 레이어를 거치면서, 각각의 레이어마다 하나씩의 가장자리 정보를 추가로
받아들이게 됨  가까운 연결 구조는 강하게, 먼 연결 구조는 약하게 반영
5X5의 지역 연결 구조에서
추출한 특징
∗
3X3의 “잠재적“ 지역 연결
구조에서 추출한 특징
∗
Feed Forward
22
CNN에 사용된 학습 데이터셋의 특징
III. AlphaGo
• 19X19 판 위의 11종, 총 49개의 특징 (49 Planes)
 돌의 색깔 (3 Planes – Player / Opponent / Empty)
 “1” (1 Plane, 상수값 1로 채워짐)
 현재 턴 (8 Planes)
 Liberties (8 Planes, 주위의 빈 자리의 정보)
 내가 잡은 돌의 수(8 Planes)
 상대가 잡은 돌의 수 (8 Planes)
 Liberties after move (8 Planes, 착수한 경우의 주위의 빈 자리의 정보)
 축 성사 여부 (1 Plane)
 축 탈출 여부 (1 Plane)
 착수 가능 여부 (1 Plane)
 “0” (1 Plane, 상수값 0으로 채워짐)
 내가 쥔 돌의 색 (1 Plane, 흑돌인 경우 상수 1로 채워짐)
23
AlphaGo의 핵심, 요약
III. AlphaGo
1. Tuned-up
Monte Carlo Tree Search
Go Game Tree
MGS Go Server
30M Position Data
SL
SL
Fast Policy
Expansion Policy Generating
Game Data
(Semi-self-play)
Semi-Self-play
Position Data
RL
Test Policy
(Strongest Policy)
SL Value
For Tree Expansion
: Expansion Policy
Simulation
Termination
For the Simulation
: Fast PolicyEvaluation of this Move
: λSimulation Result + (1- λ )Value
Next Move
: Most Visited Node in Search
3. Deep Learning
using CNN
2. Learning Pipeline : Well-designed Learning Strategy
Generating
Game Data
(Self-play)
Self-play
(Position, Win/lose)
Data
완전히 새로운 것이라고는 할 수 없지만,
기존과 최신 기술을 혼합해
매우 잘 사용한 성과물
24
타임라인
IV. Event and Gossips
2015. 10. 5 ~ 9
2016. 1. 27
2016. 3. 9 ~ 15
……
 판후이 2段과의 시합 - 5:0, AlphaGo 승
 1202 CPU, 187 GPU를 가지고 40개의 쓰레드를 사용한 분산 AlphaGo Ver. 13
 ELO Point : 3140
 속기로 경기한 비공식 매치에서는 3:2로 AlphaGo 승
 Nature 논문 발행
 엠바고로 감춰져 있던 판후이와의 시합 결과가 알려짐
 Google Deepmind Challege – 이세돌 9段과의 경기 : 4:1, AlphaGo 승
 1920 CPU, 280 GPU를 가지고 64개의 쓰레드를 사용한 분산 AlphaGo Ver. 18
 ELO Point : 4500 (4개의 돌을 깔아주고도 AlphaGo Ver. 13에 이길 수 있는 수준)
 2016. 3. 13, 이세돌 프로가 AlphaGo를 상대로 승리 (제 4국)
25
Paper at Nature
IV. Event and Gossips
• “Mastering the game Go with deep neural networks and tree search”, David Silver, Aja
Huang, etc…, Nature 529, 484-489 (28 January 2016)
26
Data from the Paper
IV. Event and Gossips
• Self-evaluation and Simulation Game
 ELO 레이팅을 사용해 알파고와 다른 바둑 AI 등을
비교
 경쟁자들과의 시합
 분산 AlphaGo는 비분산 AlphaGo의 77%의 승률,
나머지를 상대로는 전승을 거둠
 비분산 AlphaGo는 PC4, ZN4, CS4를 상대로
각각 99%, 86%, 77%의 승률
27
Deepmind Challenge 예측 (시합 이전)
IV. Event and Gossips
• 나의 예측과 예측의 근거
• Nature 논문을 읽고 내린 판단
• AlphaGo는 아마추어 6단 ~ 9단의 데이터로 학습했는데, 이 데이터는 프로 기사들의 기력에 미치지
못함
• AlphaGo는 이런 인간 데이터로 프로 기사인 판후이 2段을 상대로 승리  AlphaGo는 학습 데이터
를 뛰어 넘는 유연성을 확보하였음
• 즉, 자체 플레이와 강화 학습을 통해서 교사 학습의 한계를 극복하였음
• 그래서 4:1로 예상하였음
• 논문에 사용된 데이터(판후이와의 대전)과 이세돌과의 시합 사이의 5개월은 모든 인간을 이길 수
있도록 학습하는데 충분한 시간으로 추측  당시 프로 기사들의 예측과 정반대
• 그래서, 프로 기사들은 그녀를 이기기 힘들 것이다
• 다만, 세계 챔피언인 이세돌 정도라면, 4국 정도 진행한 다음에는 AlphaGo 학습의 문제점과
AlphaGo Intelligence의 약점을 찾아낼 지도 모른다는 추측
• 실제 경기 결과
• AlphaGo가 4:1로 승리
• Demis Hassabis, Deepmind CEO는 이세돌과 시합한 AlphaGo가 판후이 전때보다 훨씬 강해졌다고 밝
힘
28
Deepmind Challenge, 제 4국 (1)
IV. Event and Gossips
• 이세돌 9段이 180수 만에 불계승
• 제 78수 – 이 대국 최고의 한 수
 78수 이전에 승리 예측은 70%였으나 이후 점점 낮
아지기 시작해서 87수에 이르러서는 승리 예측이
50% 아래로 떨어짐 (Hassabis의 트윗)
 이는 78수는 매우 치명적인 위치였음에도 불구하
고 MCTS에서 탐사되지 않은 지점이라는 뜻 
AlphaGo의 약점을 찾는다면 여기서 찾아야 하지 않
을까?
29
Deepmind Challenge, 제 4국 (2)
IV. Event and Gossips
• 그래프 : 각 수를 두는데 걸린 시간
https://www.reddit.com/r/dataisbeautiful/comments/4a8336/lee_sedol_vs_alphago_4th_game_thinking_time_in/
• 경기 후반의 AlphaGo의 어이없는 착수들
• 수평선 효과?
• MCTS로 계산해 보니 뭘 해도 묘수건 악수건 결과가 별반 차이가 없어서 생긴 일로 추측
30
마치며 – AlphaGo가 보여준 것
IV. Event and Gossips
• 인간과 인공지능 사이의 관계 재설정의 여지
• 인간은 AI를 전문가 시스템으로 사용하기 위해서 인간 지식을 구축하는 노력을 경주해 왔음
• AlphaGo는 symbol이나 인간의 직접적인 입력을 배제하면서도 인간의 지식을 추출할 수 있는 스마
트한 전략을 보여줌
• 세상이 복잡해질수록 데이터는 증가하고 복잡해져 가면서, 이 데이터를 효율적으로 다룰 능력은 떨
어져 간다.
• 심지어 인간 지식의 구축 마저도 기계 지능의 역할이 되지 않을까?
• 향후 인간과 AI의 적절한 역할 분담은 어떻게 될 것인가를 고민해봐야 함
• 완전히 새로운 과정의 합리성
• AlphaGo는 예상하지 못한 수순으로 인간을 이김
• 이는 인간이 상상하지 못했지만 더 효율적이고 이성적인 또 다른 합리적인 과정이 있음을 의미
• 인간이 이해할 수 없고 받아드릴 수 없는 기계 지능에 대한 적절한 자세는?
• 기계 지능에 수동적인 인류의 가능성도 배제하지 못함
31
Who Am I
 About S-Core (에스코어)
 에스코어는 국/내외 다양한 사업, 고객사에 기업혁신을 견인하는 Business Professional Service를 제
공합니다.
Management Consulting Service + Software R&D Service = Digital Service
 국/내외 다양한 산업, 고객사에 World Best Level 전문 서비스를 제공합니다.
 http://www.s-core.co.kr/
 About Me
 S-Core Enterprise Common Platform Group, Pro
 Big Data Architecture 및 Hadoop Eco-system 개발/구축
 쉽고 튼튼하고 빠른 빅 데이터 플랫폼 – SDP (S-Core Data Platform) Product Management
 SDP : Cloudera와 Hotronworks의 Hadoop Platform과 비교하여 실시간 분석에 강점을 가진 Hadoop
Eco-system Platform

More Related Content

What's hot

딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
 
[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기Chris Ohk
 
인공신경망
인공신경망인공신경망
인공신경망종열 현
 
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017Taehoon Kim
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝찬웅 주
 
톤톤해적단 게임소개서
톤톤해적단 게임소개서톤톤해적단 게임소개서
톤톤해적단 게임소개서DrukHigh
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명홍배 김
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)Dong Guo
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들Chris Ohk
 
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017Taehoon Kim
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기NAVER D2
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기Kwangsik Lee
 
테일즈위버 합성 시스템 역 기획
테일즈위버 합성 시스템 역 기획테일즈위버 합성 시스템 역 기획
테일즈위버 합성 시스템 역 기획Jun Geun Lee
 
메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템
메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템 메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템
메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템 ByungTak Kang
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)Hyeyon Kwon
 
[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피
[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피
[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피Jeong Seoyeon
 

What's hot (20)

딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기[RLKorea] <하스스톤> 강화학습 환경 개발기
[RLKorea] <하스스톤> 강화학습 환경 개발기
 
인공신경망
인공신경망인공신경망
인공신경망
 
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝텐서플로우로 배우는 딥러닝
텐서플로우로 배우는 딥러닝
 
톤톤해적단 게임소개서
톤톤해적단 게임소개서톤톤해적단 게임소개서
톤톤해적단 게임소개서
 
Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명Recurrent Neural Net의 이론과 설명
Recurrent Neural Net의 이론과 설명
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)
 
AlphaGo and AlphaGo Zero
AlphaGo and AlphaGo ZeroAlphaGo and AlphaGo Zero
AlphaGo and AlphaGo Zero
 
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
고려대학교 컴퓨터학과 특강 - 대학생 때 알았더라면 좋았을 것들
 
Understanding AlphaGo
Understanding AlphaGoUnderstanding AlphaGo
Understanding AlphaGo
 
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017알아두면 쓸데있는 신기한 강화학습 NAVER 2017
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
 
알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기알아두면 쓸데있는 신비한 딥러닝 이야기
알아두면 쓸데있는 신비한 딥러닝 이야기
 
테일즈위버 합성 시스템 역 기획
테일즈위버 합성 시스템 역 기획테일즈위버 합성 시스템 역 기획
테일즈위버 합성 시스템 역 기획
 
메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템
메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템 메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템
메이플스토리 사례를 통해 살펴보는 서버사이드 봇/핵 탐지 시스템
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
 
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
 
[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피
[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피
[NDC2017 정서연] 몬스터 슈퍼리그 리텐션 15% 개선 리포트 - 숫자보다 매력적인 감성 테라피
 

Viewers also liked

Deep Learning, Where Are You Going?
Deep Learning, Where Are You Going?Deep Learning, Where Are You Going?
Deep Learning, Where Are You Going?NAVER Engineering
 
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망NAVER Engineering
 
Introduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningIntroduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningNAVER Engineering
 
Step-by-step approach to question answering
Step-by-step approach to question answeringStep-by-step approach to question answering
Step-by-step approach to question answeringNAVER Engineering
 
바둑인을 위한 알파고
바둑인을 위한 알파고바둑인을 위한 알파고
바둑인을 위한 알파고Donghun Lee
 
Multimodal Sequential Learning for Video QA
Multimodal Sequential Learning for Video QAMultimodal Sequential Learning for Video QA
Multimodal Sequential Learning for Video QANAVER Engineering
 
조음 Goodness-Of-Pronunciation 자질을 이용한 영어 학습자의 조음 오류 진단
조음 Goodness-Of-Pronunciation 자질을 이용한 영어 학습자의 조음 오류 진단조음 Goodness-Of-Pronunciation 자질을 이용한 영어 학습자의 조음 오류 진단
조음 Goodness-Of-Pronunciation 자질을 이용한 영어 학습자의 조음 오류 진단NAVER Engineering
 
Video Object Segmentation in Videos
Video Object Segmentation in VideosVideo Object Segmentation in Videos
Video Object Segmentation in VideosNAVER Engineering
 
Online video object segmentation via convolutional trident network
Online video object segmentation via convolutional trident networkOnline video object segmentation via convolutional trident network
Online video object segmentation via convolutional trident networkNAVER Engineering
 
Finding connections among images using CycleGAN
Finding connections among images using CycleGANFinding connections among images using CycleGAN
Finding connections among images using CycleGANNAVER Engineering
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기Woong won Lee
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기NAVER Engineering
 
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기이 의령
 
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...Jeongkyu Shin
 
what is_tabs_share
what is_tabs_sharewhat is_tabs_share
what is_tabs_shareNAVER D2
 
[132]웨일 브라우저 1년 그리고 미래
[132]웨일 브라우저 1년 그리고 미래[132]웨일 브라우저 1년 그리고 미래
[132]웨일 브라우저 1년 그리고 미래NAVER D2
 
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라NAVER D2
 
[124]자율주행과 기계학습
[124]자율주행과 기계학습[124]자율주행과 기계학습
[124]자율주행과 기계학습NAVER D2
 
[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기
[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기
[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기NAVER D2
 
밑바닥부터시작하는360뷰어
밑바닥부터시작하는360뷰어밑바닥부터시작하는360뷰어
밑바닥부터시작하는360뷰어NAVER D2
 

Viewers also liked (20)

Deep Learning, Where Are You Going?
Deep Learning, Where Are You Going?Deep Learning, Where Are You Going?
Deep Learning, Where Are You Going?
 
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
 
Introduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement LearningIntroduction of Deep Reinforcement Learning
Introduction of Deep Reinforcement Learning
 
Step-by-step approach to question answering
Step-by-step approach to question answeringStep-by-step approach to question answering
Step-by-step approach to question answering
 
바둑인을 위한 알파고
바둑인을 위한 알파고바둑인을 위한 알파고
바둑인을 위한 알파고
 
Multimodal Sequential Learning for Video QA
Multimodal Sequential Learning for Video QAMultimodal Sequential Learning for Video QA
Multimodal Sequential Learning for Video QA
 
조음 Goodness-Of-Pronunciation 자질을 이용한 영어 학습자의 조음 오류 진단
조음 Goodness-Of-Pronunciation 자질을 이용한 영어 학습자의 조음 오류 진단조음 Goodness-Of-Pronunciation 자질을 이용한 영어 학습자의 조음 오류 진단
조음 Goodness-Of-Pronunciation 자질을 이용한 영어 학습자의 조음 오류 진단
 
Video Object Segmentation in Videos
Video Object Segmentation in VideosVideo Object Segmentation in Videos
Video Object Segmentation in Videos
 
Online video object segmentation via convolutional trident network
Online video object segmentation via convolutional trident networkOnline video object segmentation via convolutional trident network
Online video object segmentation via convolutional trident network
 
Finding connections among images using CycleGAN
Finding connections among images using CycleGANFinding connections among images using CycleGAN
Finding connections among images using CycleGAN
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
 
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기
[2017 PYCON 튜토리얼]OpenAI Gym을 이용한 강화학습 에이전트 만들기
 
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
Let Android dream electric sheep: Making emotion model for chat-bot with Pyth...
 
what is_tabs_share
what is_tabs_sharewhat is_tabs_share
what is_tabs_share
 
[132]웨일 브라우저 1년 그리고 미래
[132]웨일 브라우저 1년 그리고 미래[132]웨일 브라우저 1년 그리고 미래
[132]웨일 브라우저 1년 그리고 미래
 
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
[141] 오픈소스를 쓰려는 자, 리베이스의 무게를 견뎌라
 
[124]자율주행과 기계학습
[124]자율주행과 기계학습[124]자율주행과 기계학습
[124]자율주행과 기계학습
 
[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기
[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기
[142] 생체 이해에 기반한 로봇 – 고성능 로봇에게 인간의 유연함과 안전성 부여하기
 
밑바닥부터시작하는360뷰어
밑바닥부터시작하는360뷰어밑바닥부터시작하는360뷰어
밑바닥부터시작하는360뷰어
 

Similar to 알파고 풀어보기 / Alpha Technical Review

Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?Lee Ji Eun
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘SeokWon Kim
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4thSubin An
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 정주 김
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈Minwoo Kim
 
[RLPR] Mastering the game of go with deep neural networks and tree search
[RLPR] Mastering the game of go with deep neural networks and tree search[RLPR] Mastering the game of go with deep neural networks and tree search
[RLPR] Mastering the game of go with deep neural networks and tree searchKorea University
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝Jinwon Lee
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)창완 장
 
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가Hwanhee Kim
 
기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작Do Hoerin
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출정주 김
 
Multiagent Cooperative and Competition with Deep Reinforcement Learning
Multiagent Cooperative and Competition with Deep Reinforcement LearningMultiagent Cooperative and Competition with Deep Reinforcement Learning
Multiagent Cooperative and Competition with Deep Reinforcement LearningYeChan(Paul) Kim
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement LearningKiho Suh
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning성재 최
 
Fraud Detection - online game 과 결제를 중심으로
Fraud Detection - online game 과 결제를 중심으로Fraud Detection - online game 과 결제를 중심으로
Fraud Detection - online game 과 결제를 중심으로NAVER Engineering
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)MYEONGGYU LEE
 
"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper ReviewLEE HOSEONG
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 

Similar to 알파고 풀어보기 / Alpha Technical Review (20)

Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?Google AlphaGo, 어떻게 동작할까요?
Google AlphaGo, 어떻게 동작할까요?
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4th
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
 
[RLPR] Mastering the game of go with deep neural networks and tree search
[RLPR] Mastering the game of go with deep neural networks and tree search[RLPR] Mastering the game of go with deep neural networks and tree search
[RLPR] Mastering the game of go with deep neural networks and tree search
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
NDC17 장창완(최종)
NDC17 장창완(최종)NDC17 장창완(최종)
NDC17 장창완(최종)
 
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가
[NDC2016] 신경망은컨텐츠자동생성의꿈을꾸는가
 
기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작기계학습을 이용한 숫자인식기 제작
기계학습을 이용한 숫자인식기 제작
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
AlphagoZero
AlphagoZeroAlphagoZero
AlphagoZero
 
소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출
 
Multiagent Cooperative and Competition with Deep Reinforcement Learning
Multiagent Cooperative and Competition with Deep Reinforcement LearningMultiagent Cooperative and Competition with Deep Reinforcement Learning
Multiagent Cooperative and Competition with Deep Reinforcement Learning
 
[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning[한국어] Neural Architecture Search with Reinforcement Learning
[한국어] Neural Architecture Search with Reinforcement Learning
 
Imagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement LearningImagination-Augmented Agents for Deep Reinforcement Learning
Imagination-Augmented Agents for Deep Reinforcement Learning
 
Fraud Detection - online game 과 결제를 중심으로
Fraud Detection - online game 과 결제를 중심으로Fraud Detection - online game 과 결제를 중심으로
Fraud Detection - online game 과 결제를 중심으로
 
(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)(Book Summary) Classification and ensemble(book review)
(Book Summary) Classification and ensemble(book review)
 
"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review"Dataset and metrics for predicting local visible differences" Paper Review
"Dataset and metrics for predicting local visible differences" Paper Review
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 

알파고 풀어보기 / Alpha Technical Review

  • 1. Copyright © 2015 S-Core. Confidential and Proprietary. Value Creator through Advanced Technology ECP Group, S-Core 박상은 프로 (edberg.bak@samsung.com) AlphaGo – Technical Review 2016.03
  • 2. 1 신의 한 수 – AlphaGo vs. 이세돌, 제 1국 • 대부분의 해설자 曰 “신의 한수와 같다.” • 프로 기사 조차도 상상하기 힘든 수  아마도 학습 데이터 셋에 이런 패턴은 없었을 것이다 질문. 알파고의 힘은 어디서 왔는가?
  • 3. 2 Agenda 1. 기존의 인공지능 플레이어의 방식 (AlphaGo의 선배들은?) 2. 인간 플레이어의 바둑 3. AlphaGo의 바둑 4. 이벤트와 가십 이 발표자료 및 세미나는 Nature의 AlphaGo 논문 [“Mastering the game Go with deep neural networks and tree search”, David Silver, Aja Huang, etc…, Nature 529, 484-489 (28 January 2016)] 에 근거하고 있습니다. 특별히 출처가 명시되지 않은 이미지의 출처는 제가 직접 만들었거나 혹은 알파고 논문에서 발췌하였음을 밝혀 둡니다. AlphaGo 논문은 유료 판매되는 논문입니다. 관심이 있으신 분들은 Nature에서 구입하여 보시기 바랍니다.
  • 4. 3 Exhaustive Key Search를 쓰면? (1) I. Legacy AI Go Player State of Now a b c z… Possible Next Move Subc Subz Subtree of Possible Following Moves Exhaustive Key Search 최고점을 낼 수 있는 child node의 sequence를 선택 Min-max Algorithm (바둑과 같은 턴제 게임을 위한 개선된 Exhaustive Key Search) A B C D: 10 E: -7 F: 9 G: 7 My Turn Enemy Turn My Turn  턴 교대를 고려한 최고점을 낼 수 있는 child를 선택  내 턴에서는 최선의 child, 상대 턴에는 최악의 child를 선택 Simple EKS Min-max
  • 5. 4 Exhaustive Key Search를 쓰면? (2) I. Legacy AI Go Player • 바둑 게임의 복잡도complexity • 일반적으로 EKS의 복잡도는 𝑶 𝒃 𝒅 로 정의됨 (b : tree의 폭, d : tree의 깊이) • 바둑에서는 보통 𝒃, 𝒅 ≈ 𝟐𝟓𝟎, 𝟏𝟓𝟎 라고 하며 이에 따른 복잡도는 𝒃 𝒅 ≈ 𝟓 × 𝟏𝟎 𝟑𝟓𝟗 • Chess : 𝒃, 𝒅 ≈ 𝟑𝟓, 𝟖𝟎 , 𝒃 𝒅 ≈ 𝟑 × 𝟏𝟎 𝟏𝟐𝟑 • 바둑에서 EKS를 사용하는 것은 적절치 못함 • 체스도 마찬가지  Deep Blue (1997)는 12수 앞까지만 내다 봄 Image from http://thenewstack.io/google-ai-beats-human-champion-complex-game-ever-invented/
  • 6. 5 그러면 써 봄직한 기존 AI 플레이어의 접근 방법은? I. Legacy AI Go Player • 인간의 스타일을 학습해 보면? • 휴리스틱의 형태로 일부 반영하기도 함 • 룰이나 네트워크로 인간의 스타일을 표현하는데 표현력의 한계가 있음  잘 사용하기 힘듦 • 좀 더 현실적인 접근 방법은 • 게임 트리에서 유효하지 않는 부분을 제거하고 • 게임 트리의 폭과 깊이를 계산이 가능한 수준까지 줄여보기
  • 7. 6 전략들 I. Legacy AI Go Player • 깊이를 줄이는 전략 • 만약 바둑판의 판세를 바로 평가할 수 있다면? • 승패를 확정적으로 확인할 수 있는 상태 이후로는 더 이상 child의 시퀀스를 찾아다닐 필요가 없음 • 체스Chess, 체커Checker, 오델로Othello와 같은 게임에 좋은 결과를 보임 • 바둑에 적용하면? • 게임의 초반에 상태를 평가하기가 너무 모호함 • 심지어 알파고조차도 판세 예측의 정확도가 77%에 머뭄 • 폭을 줄이는 전략 • Alphabeta 가지치기 전략 • Min-max 알고리즘의 max phase에 Alpha 가지치기, min phase에 Beta 가지치기를 하는 전략 • 게임의 결과를 쉽게 계산할 수 있는 경우에 유용함 (역시 바둑은……) • 몬테카를로 트리 검색Monte Carlo Tree Search (MCTS) • 바둑과 같은 예측하기 힘든 게임을 위한 검색 방법 • 수많은 무작위 선택지를 사용하여 수많은 무작위 시뮬레이션의 결과로부터 예측 • 백가몬Backgammon이나 스크레블Scrabble과 같은 게임에 좋은 결과를 보임 • 바둑에 적용해 보면 약한 아마추어 정도의 기력을 구현할 수 있음
  • 8. 7 몬테카를로 방법과 몬테카를로 롤아웃 I. Legacy AI Go Player • 몬테카를로 방법 • 통계 물리학에서 흔히 쓰이는 방법론 • 통계적 모델에서는, 많은 무작위 선택으로 자연의 특성을 잘 설명할 수 있음 • 예제 : 𝜋 계산하기 • 몬테카를로 롤아웃과 몬테카를로 트리 검색 • 트리 검색에 몬테카를로 방법을 적용하기 위한 작업 • 몬테카를로 롤아웃 : 전체 트리에서 무작위로 끝까지 골라낸 하나의 무작위 시퀀스 Ex> 로또 숫자 6개를 무작위로 고른 각각 • 몬테카를로 트리 검색 : 수많은 몬테카를로 롤아웃을 시뮬레이션 • 몬테카를로 트리 검색의 기본 아이디어 • 시뮬레이션을 통해 몬테카를로 롤아웃 중 최고를 선택 from wikipedia 𝜋 ≈ # 𝑜𝑓 𝑟𝑒𝑑 𝑝𝑜𝑖𝑛𝑡𝑠 # 𝑜𝑓 𝑡𝑜𝑡𝑎𝑙 𝑝𝑜𝑖𝑛𝑡𝑠 × 4
  • 9. 8 몬테카를로 트리 검색 (1) I. Legacy AI Go Player 1. 선택Selection  2. 확장Expansion  3. 시뮬레이션Simulation  4. 역전파Backpropagation Example of MTCS – from Wikipedia Monte Carlo tree search  선택과 시뮬레이션 단계에서 무작위로 샘플링함  k번의 시뮬레이션 이후, 문제에 맞는 평가 기준에 따라 가장 적당한 노드를 선택 (k가 충분히 크면 시뮬레이션 결과는 최적값으로 수렴함)
  • 10. 9 몬테카를로 트리 검색 (2) I. Legacy AI Go Player • MCTS 평가 • 이점 • 시뮬레이션을 언제 중단하더라도 그때까지의 결과 중에서 선택이 가능 • 바둑과 같이 시간 제한이 있는 게임에 적당한 방법 • 단점 • 무작위 선택을 활용한 방법으로 임의성으로 인한 노이즈와 오버헤드가 발생 • 초반 몇 번의 시뮬레이션 결과로 최종 결과가 쏠려 버리는 경향이 있음 • 기존 AI 바둑 프로그램은 (최신 AI 포함) • MCTS를 고성능으로 구현하였음 • 최고의 AI 바둑 프로그램인 Crazy Stone (MCTS 사용) 조차도 아마추어 5~6단 수준에 머무르는데, 이는 프로 바둑 기사 1段보다 매우 약한 실력임
  • 11. 10 인간 플레이어의 바둑 (1) II. Human Player • 바둑과 건축의 비교 설계 기초공사 시공 마감 공사 준공 공사 건축 바둑 포석 : 영역의 설계 세력의 구축 사활 싸움 : 세력의 결정 계가 : 집을 세고 승패를 결정
  • 12. 11 인간 플레이어의 바둑 (2) II. Human Player • 사람이 바둑을 둘 때의 3가지 주요 키워드 • 정석 : “바둑의 교과서” • 수천년 바둑 역사를 통해서 만들어진 진형과 패턴 • 바둑 게임 진행의 청사진 • 바둑 인간 데이터 그 자체 • 수순 : “돌을 놓아가는 순서” • 살아있는 집을 만들기 위해서, 수순을 통해 튼튼한 울타리를 만들어야 함 • 상대방이 내 계획을 방대하므로, 이를 무력화시키는 수순이 매우 중요 • 절차의 합리성 • 연결 : 어떤 지점의 주위 지점과의 관계 (내 돌, 상대 돌 모두 포함) • 바둑에서는 돌 하나는 의미가 없음 • 돌 간의 연결만이 의미를 지님 • 제한된 시간 안에 인간 플레이어를 이기기 위해서는 • 인간 플레이어의 방식을 휴리스틱의 형태로 받아들이거나 • 인간 플레이어를 뛰어넘는 우월한 전략을 만들어내야 함
  • 13. 12 AlphaGo의 전략 III. AlphaGo • 정석을 반영하기 위해서  인간 플레이 데이터로 학습한 신경망을 사용 • 정확도와 검색 비용 양 측면의 효율성을 달성 • 성격이 다른 네트워크의 조합을 통한 인간 플레이를 뛰어넘는 영리한 신경망을 창조 • 수순을 반영하기 위해서  튜닝한 몬테카를로 트리 검색을 사용 • 탐색(Traverse)에 페널티를 도입하여 인간 데이터에 속박 받지 않는 유연함을 획득 • 거듭된 인간 데이터 왜곡을 통해 AlphaGo 그녀 만의 기풍과 합리성을 확보 • 연결을 반영하기 위해서  딥 러닝 – 컨볼루션convolutional filtering – 을 사용 • Deep Neural Network using CNN
  • 14. 13 AlphaGo의 신경망들 (1) III. AlphaGo • 학습 데이터셋 • 기존의 인공지능 바둑 프로그램은 과거 인간 데이터를 거의 사용하지 않음 • AlphaGo는 KGS Go Server의 3000만개의 바둑 position data를 사용 • KGS 평가 기준 6단에서 9단 데이터 • 프로기사의 실력에 못미치는 아마추어들의 데이터 (프로 초段 >> 아마 고단) • (현재 판의 모양, 다음 수)의 페어 데이터를 각각 입력과 타겟값으로 경기의 승패와 상관없이 사용 • 4개의 신경망 • 정책 네트워크 • (인간 데이터에) 충실한 네트워크 - 𝒑 𝝈 • 빠른 네트워크 - 𝒑 𝝅 • 시뮬레이션 게임 네트워크 - 𝒑 𝝆 • 평가 네트워크 - 𝒗 𝜽
  • 15. 14 AlphaGo의 신경망들 (2) III. AlphaGo • 충실한 네트워크 (𝒑 𝝈) • KGS Go Server에서 가져온 인간 데이터로부터 직접 학습 • 과거 인간 플레이 데이터에 가장 충실한 네트워크 • 48개의 특징을 13개의 컨볼루션 레이어에서 학습 (19X19X48 Tensor) • 테스트 데이터셋 상에서 57%의 예측 정확도 • 빠른 네트워크 (𝒑 𝝅) • 마찬가지로 인간 데이터로부터 직접 학습하지만 • 충실한 네트워크보다 네트워크 구조도 단순하고 특징도 단순화시킴 • 24.2%의 정확도에 머물지만 훨씬 빠름 : 다음 수를 예측하는데 2μ𝑠 (충실한 네트워크 : 3𝑚𝑠) • 시뮬레이션 게임 네트워크 (𝒑 𝝆) : 강화 학습 • 최종 𝒑 𝝈와 임의 선택한 중간 단계의 𝒑 𝝈간에 싸움을 붙여서 새로운 학습 데이터를 생성 • 인간 데이터 왜곡의 시도  합리적인 노이즈를 섞어 과적합을 방지 • 새로운 학습 데이터셋 : (현재 판의 모양, 게임 종국의 결과)를 입력으로, 다음 수를 타겟값으로 사용 • 게임 종국의 결과를 학습 단계에서 + 또는 – 피드백으로 사용 • 𝒑 𝝈를 상대로 80%의 승률을 기록 : 강화 학습의 힘 • “정책 네트워크” – 위의 3종의 네트워크는 다음 수를 두는 정책을 제시할 수 있음
  • 16. 15 AlphaGo의 신경망들 (3) III. AlphaGo • 평가 네트워크 (𝒗 𝜽) • 현재 바둑판의 모양으로 게임의 최종 결과를 바로 예측해내는 네트워크 • 이어진 수순을 구성하지 않고 결과를 바로 예측한다는 의미 • 2개의 시뮬레이션 게임 네트워크 간의 모의시합을 통해서 새로운 학습 데이터셋을 생성 • 새로운 학습 데이터셋 : 현재 판의 모양을 입력으로, 게임의 승패를 타겟값으로 사용 • 최종 결과를 단일한 스칼라 값으로 만들기 위해서 탄젠트 하이퍼볼릭Tangent Hyperbolic을 Activation Function으로 사용 • 평가 네트워크의 예측과 실제 게임 사이의 오판단률 : 0.234 • 이 4종의 네트워크를 어떻게 사용되는가? • 튜닝된 몬테카를로 트리 검색에 사용함
  • 17. 16 요약 : AlphaGo의 네트워크들 III. AlphaGo 빠른 네트워크. 몬테카를로 롤아웃을 생성하는데 사용 충실한 네트워크. 몬테카를로 트리 검색의 확장 단계에서 확률 값을 계산하는데 사용 시뮬레이션 게임 네트워크. 평가 네트워크에 사용할 학습 데이터셋을 생성하는데 사용 최종 𝑝 𝜎 대 중간 𝑝 𝜎 간의 게임 데이터를 사용하여 게임 결과에 따라 +/- 피드백으로 반영하면서 학습 KGS Go Server의 6단 ~ 9단 게임의 판세 데이터 3000만개를 사용하여 학습 최종 𝒑 𝝆 대 최종 𝒑 𝝆간의 게임 데이터로 학습. 승률에 대한 회귀 분석 24.2% correct prediction, 2μs 57.0%, 3ms +80% Winning Rate for SL Prediction GAP = 0.234 평가 네트워크. 현재 판세를 평가하는데 사용
  • 18. 17 AlphaGo에 사용된 튜닝한 몬테카를로 트리 검색 III. AlphaGo 0. current status s 1. 선택 : Q(st, a)+u(st, a)를 최대로 만드는 시퀀스를 찾고 이 시퀀스 상에서 이 값이 최대인 노드를 선택 (u : 𝒑 𝝈로 구한 확률에 비례하고 탐색 시 방문 빈도에 반비례하는 보너스  방문 빈도가 덜한 착수지점을 시도해 보도록 장려) 2. 확장 : 일반적인 MCTS가 무작위로 확장하는데 비해, AlphaGo는 확장 child를 𝒑 𝝈의 판단에 의거하여 선택 3. 평가 : 평가 네트워크(𝒗 𝜽)의 평가 V와 빠른 네트워크(𝒑 𝝅)로 만든 fast roll-out의 승패 결과 Z를 가중치합 하여 평가 (λV+(1- λ)Z). Nature 논문에 사용된 가중치는 1:1, 즉 λ는 0.5 4. 역전파 : 평가 결과를 선택된 시퀀스의 각각의 Q에 반영 (Q는 과거 시뮬레이션 이력) 5. 가장 많이 방문된 노드를 다음 수로 선택 (많은 서브 프로세스의 투표를 시뮬레이션) Using 𝒑 𝝈 Using 𝒗 𝜽 which using data from 𝒑 𝝆Using 𝒑 𝝅 + Using 𝒑 𝝈
  • 19. 18 다음 수의 예측도 (Data from AlphaGo Paper) III. AlphaGo a. 평가 네트워크 + 시뮬레이션 결과 b. 평가 네트워크 c. Fast Roll-out을 사용한 시뮬레이션 결과 d. 충실한 네트워크 e. MCTS 과정의 방문 빈도 (%) f. 다음 수
  • 20. 19 연결의 반영 – 신경망 내부 (CNN) (1) III. AlphaGo • CNNConvolutional Neural Network : 이미지나 동영상을 위한 딥러닝 기법 • 주위 이웃으로부터의 정보를 사용 • 바둑과 CNN • 바둑 판을 흰색, 검은색, 중립색을 가진 19X19 이미지로 간주 • 현재 판의 돌 간의 연결성을 추출해낼 수 있는 유용한 필터가 존재할 수 있다. 필터와 서브샘플링을 반복하여 적용 From http://deeplearning.net/tutorial/lenet.html 필터 예제 – 수직/수평 연결성을 찾아내기. 원 이미지의 2X2 서브윈도우를 필터와 합성곱(Convoluition)하여 그 결과를 사용 from : http://www.kdnuggets.com/2015/04/inside- deep-learning-computer-vision- convolutional-neural-networks.html
  • 21. 20 연결의 반영 – 신경망 내부 (CNN) (2) III. AlphaGo 19X19X48 Input Feature 경계 지역의 동일한 처리를 위해 가장자리에 2줄의 비어있는 가상 착수지점을 추가 … Convolution 19X19X192 Convolution Layer5X5의 Convolution Filter 192개 … Convolution 19X19X192 Convolution Layer 3X3의 Convolution Filter (192) 총 13층의 Convolution 레이어 정책 네트워크 (Softmax) 평가 네트워크 다음 수를 결정하기 위한 확률 분포 … 완전히 연결된 256 노드로 구성된 레이어 스칼라 값이 나오는 Activation Function (Tangent Hyperbolic) # - 평가값 19X19X192 Convolution Layer 5x5 3x3 3x3 Architecture of AlphaGo Convolution Network
  • 22. 21 연결의 반영 – 신경망 내부 (CNN) (3) III. AlphaGo • 필터를 통해 추출한 지역적 구조를 사용 (연결을 의미함) • 13층의 중간 레이어를 거치면서, 각각의 레이어마다 하나씩의 가장자리 정보를 추가로 받아들이게 됨  가까운 연결 구조는 강하게, 먼 연결 구조는 약하게 반영 5X5의 지역 연결 구조에서 추출한 특징 ∗ 3X3의 “잠재적“ 지역 연결 구조에서 추출한 특징 ∗ Feed Forward
  • 23. 22 CNN에 사용된 학습 데이터셋의 특징 III. AlphaGo • 19X19 판 위의 11종, 총 49개의 특징 (49 Planes)  돌의 색깔 (3 Planes – Player / Opponent / Empty)  “1” (1 Plane, 상수값 1로 채워짐)  현재 턴 (8 Planes)  Liberties (8 Planes, 주위의 빈 자리의 정보)  내가 잡은 돌의 수(8 Planes)  상대가 잡은 돌의 수 (8 Planes)  Liberties after move (8 Planes, 착수한 경우의 주위의 빈 자리의 정보)  축 성사 여부 (1 Plane)  축 탈출 여부 (1 Plane)  착수 가능 여부 (1 Plane)  “0” (1 Plane, 상수값 0으로 채워짐)  내가 쥔 돌의 색 (1 Plane, 흑돌인 경우 상수 1로 채워짐)
  • 24. 23 AlphaGo의 핵심, 요약 III. AlphaGo 1. Tuned-up Monte Carlo Tree Search Go Game Tree MGS Go Server 30M Position Data SL SL Fast Policy Expansion Policy Generating Game Data (Semi-self-play) Semi-Self-play Position Data RL Test Policy (Strongest Policy) SL Value For Tree Expansion : Expansion Policy Simulation Termination For the Simulation : Fast PolicyEvaluation of this Move : λSimulation Result + (1- λ )Value Next Move : Most Visited Node in Search 3. Deep Learning using CNN 2. Learning Pipeline : Well-designed Learning Strategy Generating Game Data (Self-play) Self-play (Position, Win/lose) Data 완전히 새로운 것이라고는 할 수 없지만, 기존과 최신 기술을 혼합해 매우 잘 사용한 성과물
  • 25. 24 타임라인 IV. Event and Gossips 2015. 10. 5 ~ 9 2016. 1. 27 2016. 3. 9 ~ 15 ……  판후이 2段과의 시합 - 5:0, AlphaGo 승  1202 CPU, 187 GPU를 가지고 40개의 쓰레드를 사용한 분산 AlphaGo Ver. 13  ELO Point : 3140  속기로 경기한 비공식 매치에서는 3:2로 AlphaGo 승  Nature 논문 발행  엠바고로 감춰져 있던 판후이와의 시합 결과가 알려짐  Google Deepmind Challege – 이세돌 9段과의 경기 : 4:1, AlphaGo 승  1920 CPU, 280 GPU를 가지고 64개의 쓰레드를 사용한 분산 AlphaGo Ver. 18  ELO Point : 4500 (4개의 돌을 깔아주고도 AlphaGo Ver. 13에 이길 수 있는 수준)  2016. 3. 13, 이세돌 프로가 AlphaGo를 상대로 승리 (제 4국)
  • 26. 25 Paper at Nature IV. Event and Gossips • “Mastering the game Go with deep neural networks and tree search”, David Silver, Aja Huang, etc…, Nature 529, 484-489 (28 January 2016)
  • 27. 26 Data from the Paper IV. Event and Gossips • Self-evaluation and Simulation Game  ELO 레이팅을 사용해 알파고와 다른 바둑 AI 등을 비교  경쟁자들과의 시합  분산 AlphaGo는 비분산 AlphaGo의 77%의 승률, 나머지를 상대로는 전승을 거둠  비분산 AlphaGo는 PC4, ZN4, CS4를 상대로 각각 99%, 86%, 77%의 승률
  • 28. 27 Deepmind Challenge 예측 (시합 이전) IV. Event and Gossips • 나의 예측과 예측의 근거 • Nature 논문을 읽고 내린 판단 • AlphaGo는 아마추어 6단 ~ 9단의 데이터로 학습했는데, 이 데이터는 프로 기사들의 기력에 미치지 못함 • AlphaGo는 이런 인간 데이터로 프로 기사인 판후이 2段을 상대로 승리  AlphaGo는 학습 데이터 를 뛰어 넘는 유연성을 확보하였음 • 즉, 자체 플레이와 강화 학습을 통해서 교사 학습의 한계를 극복하였음 • 그래서 4:1로 예상하였음 • 논문에 사용된 데이터(판후이와의 대전)과 이세돌과의 시합 사이의 5개월은 모든 인간을 이길 수 있도록 학습하는데 충분한 시간으로 추측  당시 프로 기사들의 예측과 정반대 • 그래서, 프로 기사들은 그녀를 이기기 힘들 것이다 • 다만, 세계 챔피언인 이세돌 정도라면, 4국 정도 진행한 다음에는 AlphaGo 학습의 문제점과 AlphaGo Intelligence의 약점을 찾아낼 지도 모른다는 추측 • 실제 경기 결과 • AlphaGo가 4:1로 승리 • Demis Hassabis, Deepmind CEO는 이세돌과 시합한 AlphaGo가 판후이 전때보다 훨씬 강해졌다고 밝 힘
  • 29. 28 Deepmind Challenge, 제 4국 (1) IV. Event and Gossips • 이세돌 9段이 180수 만에 불계승 • 제 78수 – 이 대국 최고의 한 수  78수 이전에 승리 예측은 70%였으나 이후 점점 낮 아지기 시작해서 87수에 이르러서는 승리 예측이 50% 아래로 떨어짐 (Hassabis의 트윗)  이는 78수는 매우 치명적인 위치였음에도 불구하 고 MCTS에서 탐사되지 않은 지점이라는 뜻  AlphaGo의 약점을 찾는다면 여기서 찾아야 하지 않 을까?
  • 30. 29 Deepmind Challenge, 제 4국 (2) IV. Event and Gossips • 그래프 : 각 수를 두는데 걸린 시간 https://www.reddit.com/r/dataisbeautiful/comments/4a8336/lee_sedol_vs_alphago_4th_game_thinking_time_in/ • 경기 후반의 AlphaGo의 어이없는 착수들 • 수평선 효과? • MCTS로 계산해 보니 뭘 해도 묘수건 악수건 결과가 별반 차이가 없어서 생긴 일로 추측
  • 31. 30 마치며 – AlphaGo가 보여준 것 IV. Event and Gossips • 인간과 인공지능 사이의 관계 재설정의 여지 • 인간은 AI를 전문가 시스템으로 사용하기 위해서 인간 지식을 구축하는 노력을 경주해 왔음 • AlphaGo는 symbol이나 인간의 직접적인 입력을 배제하면서도 인간의 지식을 추출할 수 있는 스마 트한 전략을 보여줌 • 세상이 복잡해질수록 데이터는 증가하고 복잡해져 가면서, 이 데이터를 효율적으로 다룰 능력은 떨 어져 간다. • 심지어 인간 지식의 구축 마저도 기계 지능의 역할이 되지 않을까? • 향후 인간과 AI의 적절한 역할 분담은 어떻게 될 것인가를 고민해봐야 함 • 완전히 새로운 과정의 합리성 • AlphaGo는 예상하지 못한 수순으로 인간을 이김 • 이는 인간이 상상하지 못했지만 더 효율적이고 이성적인 또 다른 합리적인 과정이 있음을 의미 • 인간이 이해할 수 없고 받아드릴 수 없는 기계 지능에 대한 적절한 자세는? • 기계 지능에 수동적인 인류의 가능성도 배제하지 못함
  • 32. 31 Who Am I  About S-Core (에스코어)  에스코어는 국/내외 다양한 사업, 고객사에 기업혁신을 견인하는 Business Professional Service를 제 공합니다. Management Consulting Service + Software R&D Service = Digital Service  국/내외 다양한 산업, 고객사에 World Best Level 전문 서비스를 제공합니다.  http://www.s-core.co.kr/  About Me  S-Core Enterprise Common Platform Group, Pro  Big Data Architecture 및 Hadoop Eco-system 개발/구축  쉽고 튼튼하고 빠른 빅 데이터 플랫폼 – SDP (S-Core Data Platform) Product Management  SDP : Cloudera와 Hotronworks의 Hadoop Platform과 비교하여 실시간 분석에 강점을 가진 Hadoop Eco-system Platform