SlideShare a Scribd company logo
어떻게 동작할까요?
@Tech, 2016. 3. 31
Machine Intelligence Lab., 박준영
세계 바둑계의 흐름
이창호
이세돌
커제
박정환
http://www.goratings.org/history/
구리
스웨
AlphaGo
ELO rating (일종의 ranking point)
내맘대로 해석해본
대국별 하이라이트
1국 - 만만치 않은 알파고
• 이세돌 - 불리하면, 승부수를 날
릴 줄도 아네
• 알파고 - 이긴 듯
흑 이세돌 백 알파고
2, 3국 - 절대고수 알파고
이세돌 - 이런 수를? 잘 보니 좋은 수네
알파고 - 여기가 승리 확률이 제일 높군
흑 알파고 백 이세돌 흑 이세돌 백 알파고
4국 - 이세돌 신의 한수?
• 이세돌 - 이 수 밖에 없네
• 알파고 - 여기 둘 확률 만분의 일
에, 설령 둬도 별거없는 것 같아
서, 생각 안해봤는데 희한하네..
(8수 후…) 망했다!!
흑 알파고 백 이세돌
5국 - 알파고의 넘사벽 계산력
• 이세돌 - 불리한 것 같으니 변화를
일으켜보자
• 알파고 - 아무리 발버둥쳐봤자 어
차피 이길 듯.
흑 이세돌 백 알파고
AlphaGo는 어떻게 동작할
까요?
다 해보면 됩니다
Mini-max algorithm
http://snipd.net/minimax-algorithm-with-alpha-beta-pruning-in-c
Monte Carlo Tree Search
• 바둑 AI 에서 최근 10년간 주류인 접근법
• Monte Carlo?
• 많이 해본 후,
• 의미있는 수치를 얻어냄
• Tree Search?
• 아까 그 Tree
http://www.mathmisery.com/
AlphaGo 역시 MCTS
기반
MCTS의 기본 동작
https://en.wikipedia.org/wiki/Monte_Carlo_tree_search
Repeat
현재 판의 상태
1수 진행된 상태
2수 진행된 상태
3수 진행된 상태
MCTS in AlphaGo
https://en.wikipedia.org/wiki/Monte_Carlo_tree_search
Repeat
현재 판의 상태
1수 진행된 상태
2수 진행된 상태
3수 진행된 상태
• 아무 길이나 가보기엔 너무 경우의 수가 많다
• 누가 이길지 예측하기가 힘들다
• 어느 길로 가 볼지 알려주는 Policy net.을 만들자
• 누가 이길지 한방에 예측하는 Value net.을 만들자
• 빠르고 그럴듯하게 끝까지 둬볼수있는 Rollout policy 도 만들자
어떻게 만들었나
Training 과정
From AlphaGo Nature paper
(SL : Supervised Learning)
끝까지 둬봄
어느 길로 가볼지
결정
누가 이길지 판단
Value net.의
학습데이터 생성
: 각 모델의 역할
(RL : Reinforcement Learning)
Self Play
하나씩 좀더 자세히
Rollout policy
• 끝까지 둬봐서 누가 이길지 판단에 사용됨
• 다음 수를 어디 둘지 확률로 표시됨
• 끝까지 둬보려면 속도가 빨라야함
• 최근 2수 근처 정보만 입력하는 모델 사용
• 학습 데이터 : 인간의 기보 5만판
• 1 CPU 에서 초당 1000판 시뮬레이션 가능
• 24% 정확도 (사람이 둔 수에 대해)
From AlphaGo Nature paper
SL policy network
• 어떤 수를 생각해볼지 결정하는 데 사용됨
• 다음 수가 어디일지 확률로 출력됨
• 사용한 모델 : Convolutional Neural Network
• 영상 분야에 주로 사용되는 딥러닝 모델
• 인간의 기보 16만판 학습
• 입력 데이터의 형태
• 현재 판의 raw 상태 (각 위치에 흑백이 있는지)
• 수동으로 추가한 특성 (축 여부, 최근 수순 등)
• 57% 정확도 (사람이 둔 수에 대해)
From AlphaGo Nature paper
RL policy network
• Value net.의 학습데이터 생성에 사용됨
• SL Policy net.과 동일 형태의 모델
• Self-Play를 통해 학습
• 승자의 수는 장려 / 패자의 수는 억제
• 128만 판 학습
Self Play
SL vs RL
둘이 대결하면? RL 승률 > 80%
SL policy net. RL policy net.
입력 현재 판의 상태
출력 다음 수에 대한 확률
뭘 학습했나 사람이라면 어디 두었을까 어디 두어야 이길 확률이 높을까
어디다 쓰나 어떤 수를 생각해볼지 결정 Value net의 학습 데이터 생성
Self Play
Value network
• 현재 판의 승리 확률을 예측하는 데 사용
• SL/RL Policy net.와 유사한 딥러닝 모델
• 승리 확률이 [-1, 1] 사이 값으로 출력됨
• 학습 데이터의 형태
• 입력 - N수 째의 상황, 출력 - 승/패
• 인간의 기보는 부적절
• Self-play로 학습 데이터 생성
• 승패 예측 오차율 : 0.23 in MSE
From AlphaGo Nature paper
AlphaGo 알고리즘 요약
• MCTS Framework 에서
• 어느 길로 가볼지 : SL Policy network (사실은 다른 요소도 함께 고려하지만 생략)
• 그 길이 좋은 길인지 : Rollout policy + Value network
• 승리 확률을 최대화하는 수를 선택함 (사실은 가장 많이 방문한 노드를 선택하지만 생략)
• 몇 집을 이기느냐에는 관심이 없음
AlphaGo의 약점은?
• 사람이 두는 수를 학습한 SL Policy Network의 약점
• 현재 판 상태로만 유불리를 판단하는 Value Network의 약점
• 최근 2수 근처만 입력으로 받는 Rollout Policy의 약점
• 잘 떠오르지 않는 묘수가 필요한 장면 (복잡한 싸움)
• 현재 상태만으로는 판단이 힘든 상황 (초반, 복잡한 싸움)
• 멀리 떨어진 곳을 연달아 둬야하는 상황 (초반, 패)
불리할 때의 대처
• 사람이라면 어떤 수를 생각하나
• 최대한 따라붙어서 후일을 도모할 수 있는 수
• 서로 어려워지는 수
• AlphaGo는 어떤 수를 생각하나
• 서로 그럴듯하게 둘 때, 승리확률이 높은 수
그래봤자 바둑. 그래도 바둑.
- 조치훈 -
감사합니다

More Related Content

What's hot

2 4.devianceと尤度比検定
2 4.devianceと尤度比検定2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
logics-of-blue
 
一般化線形モデル
一般化線形モデル一般化線形モデル
一般化線形モデル
MatsuiRyo
 
正常稼働状態の表現学習に基づく風車異常検知
正常稼働状態の表現学習に基づく風車異常検知正常稼働状態の表現学習に基づく風車異常検知
正常稼働状態の表現学習に基づく風車異常検知
pcl-lab
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
Haruka Ozaki
 
第5章混合分布モデルによる逐次更新型異常検知
第5章混合分布モデルによる逐次更新型異常検知第5章混合分布モデルによる逐次更新型異常検知
第5章混合分布モデルによる逐次更新型異常検知
Tetsuma Tada
 
異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知
Ken'ichi Matsui
 
深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定
Masaaki Imaizumi
 
因果探索: 観察データから 因果仮説を探索する
因果探索: 観察データから因果仮説を探索する因果探索: 観察データから因果仮説を探索する
因果探索: 観察データから 因果仮説を探索する
Shiga University, RIKEN
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual TalksYuya Unno
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
Kenjiro Sugimoto
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
Tomoki Yoshida
 
多目的遺伝的アルゴリズム
多目的遺伝的アルゴリズム多目的遺伝的アルゴリズム
多目的遺伝的アルゴリズム
MatsuiRyo
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
Ken'ichi Matsui
 
[DL輪読会]Fast and Slow Learning of Recurrent Independent Mechanisms
[DL輪読会]Fast and Slow Learning of Recurrent Independent Mechanisms[DL輪読会]Fast and Slow Learning of Recurrent Independent Mechanisms
[DL輪読会]Fast and Slow Learning of Recurrent Independent Mechanisms
Deep Learning JP
 
5 クラスタリングと異常検出
5 クラスタリングと異常検出5 クラスタリングと異常検出
5 クラスタリングと異常検出
Seiichi Uchida
 
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
Ichigaku Takigawa
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
Deep Learning JP
 
集中不等式のすすめ [集中不等式本読み会#1]
集中不等式のすすめ [集中不等式本読み会#1]集中不等式のすすめ [集中不等式本読み会#1]
集中不等式のすすめ [集中不等式本読み会#1]
Kentaro Minami
 
グラフと木
グラフと木グラフと木
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
akira_11
 

What's hot (20)

2 4.devianceと尤度比検定
2 4.devianceと尤度比検定2 4.devianceと尤度比検定
2 4.devianceと尤度比検定
 
一般化線形モデル
一般化線形モデル一般化線形モデル
一般化線形モデル
 
正常稼働状態の表現学習に基づく風車異常検知
正常稼働状態の表現学習に基づく風車異常検知正常稼働状態の表現学習に基づく風車異常検知
正常稼働状態の表現学習に基づく風車異常検知
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
第5章混合分布モデルによる逐次更新型異常検知
第5章混合分布モデルによる逐次更新型異常検知第5章混合分布モデルによる逐次更新型異常検知
第5章混合分布モデルによる逐次更新型異常検知
 
異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知異常検知と変化検知 第4章 近傍法による異常検知
異常検知と変化検知 第4章 近傍法による異常検知
 
深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定深層学習による非滑らかな関数の推定
深層学習による非滑らかな関数の推定
 
因果探索: 観察データから 因果仮説を探索する
因果探索: 観察データから因果仮説を探索する因果探索: 観察データから因果仮説を探索する
因果探索: 観察データから 因果仮説を探索する
 
機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks機械学習チュートリアル@Jubatus Casual Talks
機械学習チュートリアル@Jubatus Casual Talks
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
凸最適化 〜 双対定理とソルバーCVXPYの紹介 〜
 
多目的遺伝的アルゴリズム
多目的遺伝的アルゴリズム多目的遺伝的アルゴリズム
多目的遺伝的アルゴリズム
 
15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学15分でわかる(範囲の)ベイズ統計学
15分でわかる(範囲の)ベイズ統計学
 
[DL輪読会]Fast and Slow Learning of Recurrent Independent Mechanisms
[DL輪読会]Fast and Slow Learning of Recurrent Independent Mechanisms[DL輪読会]Fast and Slow Learning of Recurrent Independent Mechanisms
[DL輪読会]Fast and Slow Learning of Recurrent Independent Mechanisms
 
5 クラスタリングと異常検出
5 クラスタリングと異常検出5 クラスタリングと異常検出
5 クラスタリングと異常検出
 
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
科学と機械学習のあいだ:変量の設計・変換・選択・交互作用・線形性
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
 
集中不等式のすすめ [集中不等式本読み会#1]
集中不等式のすすめ [集中不等式本読み会#1]集中不等式のすすめ [集中不等式本読み会#1]
集中不等式のすすめ [集中不等式本読み会#1]
 
グラフと木
グラフと木グラフと木
グラフと木
 
R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01R実践 機械学習による異常検知 01
R実践 機械学習による異常検知 01
 

Viewers also liked

부동산 텔레그램봇 사내공유 @Tech
부동산 텔레그램봇 사내공유 @Tech부동산 텔레그램봇 사내공유 @Tech
부동산 텔레그램봇 사내공유 @Tech
HoChul Shin
 
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부
Donghun Lee
 
AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약
Jooyoul Lee
 
인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)
SK(주) C&C - 강병호
 
Deep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNetDeep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNet
Hyojun Kim
 
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
Michael Jongho Moon
 
통찰의연결 학습자료 04
통찰의연결 학습자료 04통찰의연결 학습자료 04
통찰의연결 학습자료 04
connect_foundation
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘
SeokWon Kim
 
Hystrix소개
Hystrix소개Hystrix소개
Hystrix소개
Kyoungtae Cho
 
재사용UI 컴포넌트설계
재사용UI 컴포넌트설계재사용UI 컴포넌트설계
재사용UI 컴포넌트설계
지수 윤
 
바둑인을 위한 알파고
바둑인을 위한 알파고바둑인을 위한 알파고
바둑인을 위한 알파고
Donghun Lee
 
왓슨컴퓨터의 인공지능
왓슨컴퓨터의 인공지능왓슨컴퓨터의 인공지능
왓슨컴퓨터의 인공지능
SeokWon Kim
 
납땜하는 개발자 이야기 @Tech판교
납땜하는 개발자 이야기 @Tech판교납땜하는 개발자 이야기 @Tech판교
납땜하는 개발자 이야기 @Tech판교
Lee Ji Eun
 
알파고 해부하기 2부
알파고 해부하기 2부알파고 해부하기 2부
알파고 해부하기 2부
Donghun Lee
 
Syrup pay 인증 모듈 개발 사례
Syrup pay 인증 모듈 개발 사례Syrup pay 인증 모듈 개발 사례
Syrup pay 인증 모듈 개발 사례
HyungTae Lim
 
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
Lee Ji Eun
 
Front-End 개발의 괜찮은 선택 ES6 & React
Front-End 개발의 괜찮은 선택  ES6 & ReactFront-End 개발의 괜찮은 선택  ES6 & React
Front-End 개발의 괜찮은 선택 ES6 & React
지수 윤
 
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree SearchAlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
Karel Ha
 
기술적 변화를 이끌어가기
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기
Jaewoo Ahn
 
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
Amazon Web Services Korea
 

Viewers also liked (20)

부동산 텔레그램봇 사내공유 @Tech
부동산 텔레그램봇 사내공유 @Tech부동산 텔레그램봇 사내공유 @Tech
부동산 텔레그램봇 사내공유 @Tech
 
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부
 
AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약AlphaGo 알고리즘 요약
AlphaGo 알고리즘 요약
 
인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)인공지능개론 (머신러닝 중심)
인공지능개론 (머신러닝 중심)
 
Deep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNetDeep Learning Into Advance - 1. Image, ConvNet
Deep Learning Into Advance - 1. Image, ConvNet
 
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
AlphaGo: An AI Go player based on deep neural networks and monte carlo tree s...
 
통찰의연결 학습자료 04
통찰의연결 학습자료 04통찰의연결 학습자료 04
통찰의연결 학습자료 04
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘
 
Hystrix소개
Hystrix소개Hystrix소개
Hystrix소개
 
재사용UI 컴포넌트설계
재사용UI 컴포넌트설계재사용UI 컴포넌트설계
재사용UI 컴포넌트설계
 
바둑인을 위한 알파고
바둑인을 위한 알파고바둑인을 위한 알파고
바둑인을 위한 알파고
 
왓슨컴퓨터의 인공지능
왓슨컴퓨터의 인공지능왓슨컴퓨터의 인공지능
왓슨컴퓨터의 인공지능
 
납땜하는 개발자 이야기 @Tech판교
납땜하는 개발자 이야기 @Tech판교납땜하는 개발자 이야기 @Tech판교
납땜하는 개발자 이야기 @Tech판교
 
알파고 해부하기 2부
알파고 해부하기 2부알파고 해부하기 2부
알파고 해부하기 2부
 
Syrup pay 인증 모듈 개발 사례
Syrup pay 인증 모듈 개발 사례Syrup pay 인증 모듈 개발 사례
Syrup pay 인증 모듈 개발 사례
 
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기SK플래닛_README_마이크로서비스 아키텍처로 개발하기
SK플래닛_README_마이크로서비스 아키텍처로 개발하기
 
Front-End 개발의 괜찮은 선택 ES6 & React
Front-End 개발의 괜찮은 선택  ES6 & ReactFront-End 개발의 괜찮은 선택  ES6 & React
Front-End 개발의 괜찮은 선택 ES6 & React
 
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree SearchAlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
AlphaGo: Mastering the Game of Go with Deep Neural Networks and Tree Search
 
기술적 변화를 이끌어가기
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기
 
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
 

Similar to Google AlphaGo, 어떻게 동작할까요?

알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review
상은 박
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
정주 김
 
알파고 해부하기 3부
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부
Donghun Lee
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
Minwoo Kim
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4th
Subin An
 
(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
 
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
성재 최
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
Haesun Park
 
소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출
정주 김
 

Similar to Google AlphaGo, 어떻게 동작할까요? (9)

알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
 
알파고 해부하기 3부
알파고 해부하기 3부알파고 해부하기 3부
알파고 해부하기 3부
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4th
 
(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)
 
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
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 1장. 한눈에 보는 머신러닝
 
소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출소프트웨어 2.0을 활용한 게임 어뷰징 검출
소프트웨어 2.0을 활용한 게임 어뷰징 검출
 

More from Lee Ji Eun

유한 상태 기반의 한국어 형태소 분석기_이상호
유한 상태 기반의 한국어 형태소 분석기_이상호유한 상태 기반의 한국어 형태소 분석기_이상호
유한 상태 기반의 한국어 형태소 분석기_이상호
Lee Ji Eun
 
컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례 컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례
Lee Ji Eun
 
FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례
Lee Ji Eun
 
Enterprise Docker
Enterprise DockerEnterprise Docker
Enterprise Docker
Lee Ji Eun
 
T map network graph_t map spider 프로젝트 at_tech
T map network graph_t map spider 프로젝트 at_techT map network graph_t map spider 프로젝트 at_tech
T map network graph_t map spider 프로젝트 at_tech
Lee Ji Eun
 
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
Lee Ji Eun
 
Deep learning 기반TmapPOI 추천기술개발사례
Deep learning 기반TmapPOI 추천기술개발사례Deep learning 기반TmapPOI 추천기술개발사례
Deep learning 기반TmapPOI 추천기술개발사례
Lee Ji Eun
 
반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2
Lee Ji Eun
 
구글 인박스 히드라 프로그래밍
구글 인박스 히드라 프로그래밍구글 인박스 히드라 프로그래밍
구글 인박스 히드라 프로그래밍
Lee Ji Eun
 
세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안
Lee Ji Eun
 
세션2 sencha touch 클라우드, sencha.io
세션2 sencha touch 클라우드, sencha.io세션2 sencha touch 클라우드, sencha.io
세션2 sencha touch 클라우드, sencha.io
Lee Ji Eun
 
안드로이드 오픈마켓_보안이슈
안드로이드 오픈마켓_보안이슈안드로이드 오픈마켓_보안이슈
안드로이드 오픈마켓_보안이슈
Lee Ji Eun
 
모바일광고플랫폼
모바일광고플랫폼모바일광고플랫폼
모바일광고플랫폼
Lee Ji Eun
 
20120512 공개sw개발자대회 sk플래닛기업과제소개
20120512 공개sw개발자대회 sk플래닛기업과제소개20120512 공개sw개발자대회 sk플래닛기업과제소개
20120512 공개sw개발자대회 sk플래닛기업과제소개
Lee Ji Eun
 

More from Lee Ji Eun (14)

유한 상태 기반의 한국어 형태소 분석기_이상호
유한 상태 기반의 한국어 형태소 분석기_이상호유한 상태 기반의 한국어 형태소 분석기_이상호
유한 상태 기반의 한국어 형태소 분석기_이상호
 
컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례 컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례
 
FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례
 
Enterprise Docker
Enterprise DockerEnterprise Docker
Enterprise Docker
 
T map network graph_t map spider 프로젝트 at_tech
T map network graph_t map spider 프로젝트 at_techT map network graph_t map spider 프로젝트 at_tech
T map network graph_t map spider 프로젝트 at_tech
 
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
FIDO기반 생체인식 인증기술_SK플래닛@tech세미나판교
 
Deep learning 기반TmapPOI 추천기술개발사례
Deep learning 기반TmapPOI 추천기술개발사례Deep learning 기반TmapPOI 추천기술개발사례
Deep learning 기반TmapPOI 추천기술개발사례
 
반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2반응형 웹 기술 이해 V.2
반응형 웹 기술 이해 V.2
 
구글 인박스 히드라 프로그래밍
구글 인박스 히드라 프로그래밍구글 인박스 히드라 프로그래밍
구글 인박스 히드라 프로그래밍
 
세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안세션3 node.js의 의미와 자바의 대안
세션3 node.js의 의미와 자바의 대안
 
세션2 sencha touch 클라우드, sencha.io
세션2 sencha touch 클라우드, sencha.io세션2 sencha touch 클라우드, sencha.io
세션2 sencha touch 클라우드, sencha.io
 
안드로이드 오픈마켓_보안이슈
안드로이드 오픈마켓_보안이슈안드로이드 오픈마켓_보안이슈
안드로이드 오픈마켓_보안이슈
 
모바일광고플랫폼
모바일광고플랫폼모바일광고플랫폼
모바일광고플랫폼
 
20120512 공개sw개발자대회 sk플래닛기업과제소개
20120512 공개sw개발자대회 sk플래닛기업과제소개20120512 공개sw개발자대회 sk플래닛기업과제소개
20120512 공개sw개발자대회 sk플래닛기업과제소개
 

Google AlphaGo, 어떻게 동작할까요?

  • 1. 어떻게 동작할까요? @Tech, 2016. 3. 31 Machine Intelligence Lab., 박준영
  • 2.
  • 5. 1국 - 만만치 않은 알파고 • 이세돌 - 불리하면, 승부수를 날 릴 줄도 아네 • 알파고 - 이긴 듯 흑 이세돌 백 알파고
  • 6. 2, 3국 - 절대고수 알파고 이세돌 - 이런 수를? 잘 보니 좋은 수네 알파고 - 여기가 승리 확률이 제일 높군 흑 알파고 백 이세돌 흑 이세돌 백 알파고
  • 7. 4국 - 이세돌 신의 한수? • 이세돌 - 이 수 밖에 없네 • 알파고 - 여기 둘 확률 만분의 일 에, 설령 둬도 별거없는 것 같아 서, 생각 안해봤는데 희한하네.. (8수 후…) 망했다!! 흑 알파고 백 이세돌
  • 8. 5국 - 알파고의 넘사벽 계산력 • 이세돌 - 불리한 것 같으니 변화를 일으켜보자 • 알파고 - 아무리 발버둥쳐봤자 어 차피 이길 듯. 흑 이세돌 백 알파고
  • 10.
  • 13.
  • 14. Monte Carlo Tree Search • 바둑 AI 에서 최근 10년간 주류인 접근법 • Monte Carlo? • 많이 해본 후, • 의미있는 수치를 얻어냄 • Tree Search? • 아까 그 Tree http://www.mathmisery.com/
  • 16. MCTS의 기본 동작 https://en.wikipedia.org/wiki/Monte_Carlo_tree_search Repeat 현재 판의 상태 1수 진행된 상태 2수 진행된 상태 3수 진행된 상태
  • 17. MCTS in AlphaGo https://en.wikipedia.org/wiki/Monte_Carlo_tree_search Repeat 현재 판의 상태 1수 진행된 상태 2수 진행된 상태 3수 진행된 상태 • 아무 길이나 가보기엔 너무 경우의 수가 많다 • 누가 이길지 예측하기가 힘들다 • 어느 길로 가 볼지 알려주는 Policy net.을 만들자 • 누가 이길지 한방에 예측하는 Value net.을 만들자 • 빠르고 그럴듯하게 끝까지 둬볼수있는 Rollout policy 도 만들자
  • 19. Training 과정 From AlphaGo Nature paper (SL : Supervised Learning) 끝까지 둬봄 어느 길로 가볼지 결정 누가 이길지 판단 Value net.의 학습데이터 생성 : 각 모델의 역할 (RL : Reinforcement Learning) Self Play
  • 21. Rollout policy • 끝까지 둬봐서 누가 이길지 판단에 사용됨 • 다음 수를 어디 둘지 확률로 표시됨 • 끝까지 둬보려면 속도가 빨라야함 • 최근 2수 근처 정보만 입력하는 모델 사용 • 학습 데이터 : 인간의 기보 5만판 • 1 CPU 에서 초당 1000판 시뮬레이션 가능 • 24% 정확도 (사람이 둔 수에 대해) From AlphaGo Nature paper
  • 22. SL policy network • 어떤 수를 생각해볼지 결정하는 데 사용됨 • 다음 수가 어디일지 확률로 출력됨 • 사용한 모델 : Convolutional Neural Network • 영상 분야에 주로 사용되는 딥러닝 모델 • 인간의 기보 16만판 학습 • 입력 데이터의 형태 • 현재 판의 raw 상태 (각 위치에 흑백이 있는지) • 수동으로 추가한 특성 (축 여부, 최근 수순 등) • 57% 정확도 (사람이 둔 수에 대해) From AlphaGo Nature paper
  • 23. RL policy network • Value net.의 학습데이터 생성에 사용됨 • SL Policy net.과 동일 형태의 모델 • Self-Play를 통해 학습 • 승자의 수는 장려 / 패자의 수는 억제 • 128만 판 학습 Self Play
  • 24. SL vs RL 둘이 대결하면? RL 승률 > 80% SL policy net. RL policy net. 입력 현재 판의 상태 출력 다음 수에 대한 확률 뭘 학습했나 사람이라면 어디 두었을까 어디 두어야 이길 확률이 높을까 어디다 쓰나 어떤 수를 생각해볼지 결정 Value net의 학습 데이터 생성 Self Play
  • 25. Value network • 현재 판의 승리 확률을 예측하는 데 사용 • SL/RL Policy net.와 유사한 딥러닝 모델 • 승리 확률이 [-1, 1] 사이 값으로 출력됨 • 학습 데이터의 형태 • 입력 - N수 째의 상황, 출력 - 승/패 • 인간의 기보는 부적절 • Self-play로 학습 데이터 생성 • 승패 예측 오차율 : 0.23 in MSE From AlphaGo Nature paper
  • 26. AlphaGo 알고리즘 요약 • MCTS Framework 에서 • 어느 길로 가볼지 : SL Policy network (사실은 다른 요소도 함께 고려하지만 생략) • 그 길이 좋은 길인지 : Rollout policy + Value network • 승리 확률을 최대화하는 수를 선택함 (사실은 가장 많이 방문한 노드를 선택하지만 생략) • 몇 집을 이기느냐에는 관심이 없음
  • 27. AlphaGo의 약점은? • 사람이 두는 수를 학습한 SL Policy Network의 약점 • 현재 판 상태로만 유불리를 판단하는 Value Network의 약점 • 최근 2수 근처만 입력으로 받는 Rollout Policy의 약점 • 잘 떠오르지 않는 묘수가 필요한 장면 (복잡한 싸움) • 현재 상태만으로는 판단이 힘든 상황 (초반, 복잡한 싸움) • 멀리 떨어진 곳을 연달아 둬야하는 상황 (초반, 패)
  • 28. 불리할 때의 대처 • 사람이라면 어떤 수를 생각하나 • 최대한 따라붙어서 후일을 도모할 수 있는 수 • 서로 어려워지는 수 • AlphaGo는 어떤 수를 생각하나 • 서로 그럴듯하게 둘 때, 승리확률이 높은 수
  • 29. 그래봤자 바둑. 그래도 바둑. - 조치훈 - 감사합니다