SlideShare a Scribd company logo
1 of 29
Download to read offline
어떻게 동작할까요?
@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

Amortize analysis of Deque with 2 Stack
Amortize analysis of Deque with 2 StackAmortize analysis of Deque with 2 Stack
Amortize analysis of Deque with 2 StackKen Ogura
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Preferred Networks
 
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...Kei Nakagawa
 
Kaggle M5 Forecasting (日本語)
Kaggle M5 Forecasting (日本語)Kaggle M5 Forecasting (日本語)
Kaggle M5 Forecasting (日本語)Masakazu Mori
 
強化学習その1
強化学習その1強化学習その1
強化学習その1nishio
 
PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築Hirokazu Ogawa
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析Hirotaka Hachiya
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験克海 納谷
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechconDeNA
 
알파고 해부하기 2부
알파고 해부하기 2부알파고 해부하기 2부
알파고 해부하기 2부Donghun Lee
 
パターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データパターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データemonosuke
 
[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies
[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies
[DL輪読会]Reinforcement Learning with Deep Energy-Based PoliciesDeep Learning JP
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃trmr
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
NLU Tech Talk with KorBERT
NLU Tech Talk with KorBERTNLU Tech Talk with KorBERT
NLU Tech Talk with KorBERTLGCNSairesearch
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해Hee Won Park
 
TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化tetsuro ito
 
強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷Eiji Sekiya
 

What's hot (20)

Amortize analysis of Deque with 2 Stack
Amortize analysis of Deque with 2 StackAmortize analysis of Deque with 2 Stack
Amortize analysis of Deque with 2 Stack
 
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
Optunaを使ったHuman-in-the-loop最適化の紹介 - 2023/04/27 W&B 東京ミートアップ #3
 
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
RIC-NN: A Robust Transferable Deep Learning Framework for Cross-sectional Inv...
 
Kaggle M5 Forecasting (日本語)
Kaggle M5 Forecasting (日本語)Kaggle M5 Forecasting (日本語)
Kaggle M5 Forecasting (日本語)
 
Trianguler
TriangulerTrianguler
Trianguler
 
強化学習5章
強化学習5章強化学習5章
強化学習5章
 
強化学習その1
強化学習その1強化学習その1
強化学習その1
 
PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築PsychoPyを使った初学者向けの心理実験環境の構築
PsychoPyを使った初学者向けの心理実験環境の構築
 
データ解析6 重回帰分析
データ解析6 重回帰分析データ解析6 重回帰分析
データ解析6 重回帰分析
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
強化学習を利用した自律型GameAIの取り組み ~高速自動プレイによるステージ設計支援~ #denatechcon
 
알파고 해부하기 2부
알파고 해부하기 2부알파고 해부하기 2부
알파고 해부하기 2부
 
パターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データパターン認識と機械学習 13章 系列データ
パターン認識と機械学習 13章 系列データ
 
[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies
[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies
[DL輪読会]Reinforcement Learning with Deep Energy-Based Policies
 
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
katagaitai workshop #7 crypto ナップサック暗号と低密度攻撃
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
NLU Tech Talk with KorBERT
NLU Tech Talk with KorBERTNLU Tech Talk with KorBERT
NLU Tech Talk with KorBERT
 
딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해딥러닝 기본 원리의 이해
딥러닝 기본 원리의 이해
 
TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化TokyoR LT Rで連続データを離散化
TokyoR LT Rで連続データを離散化
 
強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷強化学習の分散アーキテクチャ変遷
強化学習の分散アーキテクチャ変遷
 

Viewers also liked

부동산 텔레그램봇 사내공유 @Tech
부동산 텔레그램봇 사내공유 @Tech부동산 텔레그램봇 사내공유 @Tech
부동산 텔레그램봇 사내공유 @TechHoChul Shin
 
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, ConvNetHyojun 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
통찰의연결 학습자료 04connect_foundation
 
재사용UI 컴포넌트설계
재사용UI 컴포넌트설계재사용UI 컴포넌트설계
재사용UI 컴포넌트설계지수 윤
 
바둑인을 위한 알파고
바둑인을 위한 알파고바둑인을 위한 알파고
바둑인을 위한 알파고Donghun Lee
 
왓슨컴퓨터의 인공지능
왓슨컴퓨터의 인공지능왓슨컴퓨터의 인공지능
왓슨컴퓨터의 인공지능SeokWon Kim
 
납땜하는 개발자 이야기 @Tech판교
납땜하는 개발자 이야기 @Tech판교납땜하는 개발자 이야기 @Tech판교
납땜하는 개발자 이야기 @Tech판교Lee Ji Eun
 
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 SearchKarel Ha
 
기술적 변화를 이끌어가기
기술적 변화를 이끌어가기기술적 변화를 이끌어가기
기술적 변화를 이끌어가기Jaewoo Ahn
 
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)
마이크로서비스 아키텍처와 DevOps 기술 - Amazon 사례를 중심으로 (윤석찬)Amazon Web Services Korea
 
Enterprise Docker
Enterprise DockerEnterprise Docker
Enterprise DockerLee Ji Eun
 
모두의 알파고
모두의 알파고모두의 알파고
모두의 알파고Donghun Lee
 

Viewers also liked (20)

부동산 텔레그램봇 사내공유 @Tech
부동산 텔레그램봇 사내공유 @Tech부동산 텔레그램봇 사내공유 @Tech
부동산 텔레그램봇 사내공유 @Tech
 
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판교
 
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 사례를 중심으로 (윤석찬)
 
Enterprise Docker
Enterprise DockerEnterprise Docker
Enterprise Docker
 
모두의 알파고
모두의 알파고모두의 알파고
모두의 알파고
 
How AlphaGo Works
How AlphaGo WorksHow AlphaGo Works
How AlphaGo Works
 

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

알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review상은 박
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 정주 김
 
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈
KGC 2014 가볍고 유연하게 데이터 분석하기 : 쿠키런 사례 중심 , 데브시스터즈Minwoo Kim
 
T ka kr_4th
T ka kr_4thT ka kr_4th
T ka kr_4thSubin 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, 어떻게 동작할까요? (8)

알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review알파고 풀어보기 / Alpha Technical Review
알파고 풀어보기 / Alpha Technical Review
 
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출 NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
 
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
 
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_techLee 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.2Lee 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.ioLee 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 (13)

유한 상태 기반의 한국어 형태소 분석기_이상호
유한 상태 기반의 한국어 형태소 분석기_이상호유한 상태 기반의 한국어 형태소 분석기_이상호
유한 상태 기반의 한국어 형태소 분석기_이상호
 
컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례 컨텐츠 기반 A/B 테스트 구현 사례
컨텐츠 기반 A/B 테스트 구현 사례
 
FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례FIDO 생체인증 기술 개발 사례
FIDO 생체인증 기술 개발 사례
 
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. 그래봤자 바둑. 그래도 바둑. - 조치훈 - 감사합니다