SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
발표자: 문승환
PhD	
  student
Language	
  Technologies	
  Institute,	
  School	
  of	
  Computer	
  Science
Carnegie	
  Mellon	
  University
3/2/2016
작동원리
알파고 vs	
  유럽챔피언 (판 후이 2단)
2015년 10월 5일 – 9일
<공식경기>
-­‐ 제한시간 1시간, 30초 초읽기 3회
-­‐ 5:0	
  알파고 승리 (불계승 4번)
알파고 vs	
  세계챔피언 (이세돌 9단)
2016년 3월 9일 – 15일
<공식경기>
-­‐ 제한시간 2시간, 1분 초읽기 3회
서울 광화문 포시즌스 호텔
이미지 출처: 조선일보 1월 28일자
인간과 컴퓨터의 자존심을 건 '세기의 대결'
이세돌
사진 출처: 매일경제 2013/04
“자신이 없어요. 질 자신이요”
사진 출처: 바둑 TV
"아,	
  싸울만 해서 싸워요.	
  수가 보이는데 어쩌란 말이에요."
사진 출처
"불리하다보니 이기자는 생각없이
대충 뒀는데 이겼네요.”
-­‐ 구리 九단에게 대역전승을 거둔
직후의 인터뷰
사진 출처
바둑 인공지능?
바둑 인공지능? 정의하자면:
s (state)
d	
  =	
  1
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
=
(예를 들면 이런 식으로 행렬로 표현)
*	
  실재론 board	
  position	
  외 다른 feature들도 포함
바둑 인공지능? 정의하자면:
s (state)
d	
  =	
  1 d	
  =	
  2
a (action)
Given	
  s,	
  pick	
  the	
  best	
  a
바둑 인공지능s a s'
바둑 인공지능?	
  이렇게 만들어 보면?
d	
  =	
  1 d	
  =	
  2
…
모든 경우의 수를 시뮬레이션
바둑 인공지능?	
  이렇게 만들어 보면?
d	
  =	
  1 d	
  =	
  2
…
d	
  =	
  3
…
…
…
…
바둑 인공지능?	
  이렇게 만들어 보면?
d	
  =	
  1 d	
  =	
  2
…
d	
  =	
  3
…
…
…
…
… d	
  =	
  maxD
끝까지 시뮬레이션 해서
Win?
Lose?	
  결과 리포트
바둑 인공지능?	
  이렇게 만들어 보면?
d	
  =	
  1 d	
  =	
  2
…
d	
  =	
  3
…
…
…
…
… d	
  =	
  maxD
Win?
Lose?	
  결과 리포트
여기에 두면 13번 이기더라
37,839번
431,320번
끝까지 시뮬레이션 해봤을 때
제일 많이 이긴 “다음 수”를 고름
Maximum	
  depth	
  search:	
   이 방법은 경우의 수가 우주의 원자 수보다 많아 불가능
핵심: 경우의 수 (Search	
  Space) 줄이기
경우의 수 (Search	
  Space) 줄이기
1.	
  “action”	
  후보군 줄이기 (Breadth	
  Reduction)
d	
  =	
  1 d	
  =	
  2
…
d	
  =	
  3
…
…
…
… d	
  =	
  maxD
Win?
Lose?
“이런 수는 사람이 두지 않는다”고 판단하는
모델이 있다면 …
경우의 수 (Search	
  Space) 줄이기
1.	
  “action”	
  후보군 줄이기 (Breadth	
  Reduction)
d	
  =	
  1 d	
  =	
  2
…
d	
  =	
  3
…
… d	
  =	
  maxD
Win?
Lose?
Search	
  후보군에서 미리 제외 (breadth	
  reduction)
경우의 수 (Search	
  Space) 줄이기
2.	
  결과 더 빨리 예측하기 (Depth	
  Reduction)
d	
  =	
  1 d	
  =	
  2
…
d	
  =	
  3
…
… d	
  =	
  maxD
Win?
Lose?
Maximum	
  depth까지 시뮬레이션 하지 않고 ..
경우의 수 (Search	
  Space) 줄이기
2.	
  결과 더 빨리 예측하기 (Depth	
  Reduction)
d	
  =	
  1 d	
  =	
  2
…
d	
  =	
  3
…
V	
  =	
  1
V	
  =	
  2
V	
  =	
  10
V(s):	
  “state	
  s의 판세” 로 요약
경우의 수 (Search	
  Space) 줄이기
1. “action”	
  후보군 줄이기 (Breadth	
  Reduction)
2. 결과 더 빨리 예측하기 / 판세 평가하기 (Depth	
  Reduction)
1.	
  “action”	
  후보군 줄이기
Learning:	
  P	
  (	
  next	
  action	
  |	
  current	
  state	
  )
=	
  P	
  (	
  a	
  |	
  s	
  )
1.	
  “action”	
  후보군 줄이기
(1) 프로 바둑기사 따라하기 (supervised	
  learning)
현재 판
예측 모델
다음 판
s1 s2
s2 s3
s3 s4
Data:	
  온라인 바둑 고수 (5~9단)
기보 16만 개, 착점 3000만 개
1.	
  “action”	
  후보군 줄이기
(1) 프로 바둑기사 따라하기 (supervised	
  learning)
예측 모델
현재 판 다음 판
1.	
  “action”	
  후보군 줄이기
(1) 프로 바둑기사 따라하기 (supervised	
  learning)
예측 모델
현재 판 다음 액션
1.	
  “action”	
  후보군 줄이기
(1) 프로 바둑기사 따라하기 (supervised	
  learning)
예측 모델
현재 판 다음 액션
0 0	
   0 0 0	
   0 0 0 0
0 0	
   0 0 0 1 0 0 0
0 -­‐1 0 0 1 -­‐1 1 0 0
0 1 0 0 1 -­‐1 0 0 0
0 0	
   0 0 -­‐1 0 0 0 0
0 0	
   0 0 0	
   0 0 0 0
0 -­‐1 0 0 0	
   0 0 0 0
0 0	
   0 0 0	
   0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
s af:	
  s à a
*	
  실재론 board	
  position	
  외 다른 feature들도 포함
1.	
  “action”	
  후보군 줄이기
(1) 프로 바둑기사 따라하기 (supervised	
  learning)
예측 모델
현재 판 다음 액션
0 0	
   0 0 0	
   0 0 0 0
0 0	
   0 0 0 1 0 0 0
0 -­‐1 0 0 1 -­‐1 1 0 0
0 1 0 0 1 -­‐1 0 0 0
0 0	
   0 0 -­‐1 0 0 0 0
0 0	
   0 0 0	
   0 0 0 0
0 -­‐1 0 0 0	
   0 0 0 0
0 0	
   0 0 0	
   0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
s g:	
  s à p(a|s)
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0	
  	
  	
  	
  	
  	
   0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0.2 0.1 0 0
0 0 0 0 0 0.4	
  0.2 0 0
0 0 0 0 0 0.1	
  	
  	
   0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
p(a|s) aargmax
1.	
  “action”	
  후보군 줄이기
(1) 프로 바둑기사 따라하기 (supervised	
  learning)
예측 모델
현재 판 다음 액션
0 0	
   0 0 0	
   0 0 0 0
0 0	
   0 0 0 1 0 0 0
0 -­‐1 0 0 1 -­‐1 1 0 0
0 1 0 0 1 -­‐1 0 0 0
0 0	
   0 0 -­‐1 0 0 0 0
0 0	
   0 0 0	
   0 0 0 0
0 -­‐1 0 0 0	
   0 0 0 0
0 0	
   0 0 0	
   0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
s g:	
  s à p(a|s) p(a|s) aargmax
1.	
  “action”	
  후보군 줄이기
(1) 프로 바둑기사 따라하기 (supervised	
  learning)
Deep	
  Learning
(13	
  Layer	
  CNN)
현재 판 다음 액션
0 0	
   0 0 0	
   0 0 0 0
0 0	
   0 0 0 1 0 0 0
0 -­‐1 0 0 1 -­‐1 1 0 0
0 1 0 0 1 -­‐1 0 0 0
0 0	
   0 0 -­‐1 0 0 0 0
0 0	
   0 0 0	
   0 0 0 0
0 -­‐1 0 0 0	
   0 0 0 0
0 0	
   0 0 0	
   0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
s g:	
  s à p(a|s)
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0	
  	
  	
  	
  	
  	
   0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0.2 0.1 0 0
0 0 0 0 0 0.4	
  0.2 0 0
0 0 0 0 0 0.1	
  	
  	
   0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
p(a|s) aargmax
Convolutional	
  Neural	
  Network	
  (CNN)
CNN은 레이어별로 input	
  image를 추상화 시켜 Image	
  Recognition을 굉장히 잘함이미치	
  출처
Convolutional	
  Neural	
  Network	
  (CNN)
이걸 바둑의 판세를 읽는 데에 사용
바둑: 추상화하는 능력이 중요
CNN:	
  추상화하는 능력이 뛰어난 모델
바둑 두는 Task와 CNN의 장점이 맞물린 경우
Deep	
  Learning
~=	
  Representation	
  Learning
à 단을 쌓아 올라갈수록 추상화된
feature를 익힘
1.	
  “action”	
  후보군 줄이기
(1) 프로 바둑기사 따라하기 (supervised	
  learning)
프로기사 흉내내는 모델
(w/	
  CNN)
현재 판 다음 액션
Training:
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)
프로기사
흉내내는 모델
(w/	
  CNN)
프로기사
흉내내는 모델
(w/	
  CNN)
VS
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)
프로기사
흉내내는 모델
(w/	
  CNN)
프로기사
흉내내는 모델
(w/	
  CNN)
VS
Return:	
  대국 기보, 승/패자 정보
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)
프로기사 흉내내는 모델
(w/	
  CNN)
어느 판 승/패
Training:
패
z	
  =	
  -­‐1
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)
프로기사 흉내내는 모델
(w/	
  CNN)
어느 판 승/패
Training:
승
z	
  =	
  +1
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)
업데이트 모델
ver 1.1
업데이트 모델
ver 1.3VS
Return:	
  대국 기보, 승/패자 정보
프로기사 흉내내는 모델과 똑같은 topology,	
  업데이트 된 parameters를 사용
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)
업데이트 모델
ver 1.3
업데이트 모델
ver 1.7VS
Return:	
  대국 기보, 승/패자 정보
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)
업데이트 모델
ver 1.5
업데이트 모델
ver 2.0VS
Return:	
  대국 기보, 승/패자 정보
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)
업데이트 모델
ver 3204.1
업데이트 모델
ver 46235.2VS
Return:	
  대국 기보, 승/패자 정보
1.	
  “action”	
  후보군 줄이기
(2) 스스로 발전하기 (reinforcement	
  learning)	
  트레이닝 결과
업데이트 모델
ver 1,000,000VS
최종 모델이 80% 승리
프로기사
흉내내는 모델
2.	
  판세 평가하기
2.	
  판세 평가하기
업데이트 모델
ver 1,000,000
어느 판
Training:
승/패
승
(0~1)
예측 모델
(Regression)
기존 모델에 regression	
  layer를 더함
0~1 사이의 값으로 예측
1에 가까우면 좋은 판세
0에 가까우면 좋지 않은 판세
경우의 수 (Search	
  Space) 줄이기
1. “action”	
  후보군 줄이기 (Breadth	
  Reduction)
2. 판세 평가하기 (Depth	
  Reduction)
Policy	
  Network
Value	
  Network
알파고 논문에서 이런 용어를 만들어서 부름
+수 읽기 (w/	
  Monte	
  Carlo	
  Search	
  Tree)
Action	
  후보군 줄이기
(Policy	
  Network)
수 평가하기
(Value	
  Network)
(Rollout):	
  Faster	
  version	
  of	
  estimating	
  p(a|s)
;	
  shallow	
  network	
  (3	
  ms à 2µs)
*	
  Rollout	
   결과와 value	
  network	
  결과 값을 반반씩 합쳐서 최종 prediction
결과
Elo rating	
  system
알파고 components	
  들의	
  조합에	
  따른	
  성능	
  비교
Takeaways
임의의 task를 위해 training한 network를 다양하게 활용
이세돌 9단 vs	
  알파고
이세돌 9단 vs	
  알파고
이세돌 알파고
-­‐ 성인 하루 권장 칼로리: ~2,500 kCal
-­‐ 가정: 대국에 하루 필요한 모든 칼로리 소모
2,500	
  kCal *	
  4,184	
  J/kCal
~=	
  10M	
  [J]
-­‐ CPU:	
  ~100	
  W,	
  GPU:	
  ~300 W
-­‐ CPU	
  1,202개, GPU	
  176개
170,000	
  J/sec	
  *	
  5	
  hr *	
  3,600	
  sec/hr
~=	
  3,000M	
  [J]
정말 대충 계산해서 …
현재 알파고는 프로 5단 수준?
=	
  multiple	
  machines European	
  champion
CPU	
  /	
  GPU를 무한정 늘리면?
그러나 구글은 CPU/GPU	
  늘리지 않겠다고 약속
어떻게 수렴할지
의견이 분분
매일 3만대국씩 학습한다던데?
결국은 어떤 점으로 수렴하겠지만
알파고 논문에서 “자가 대결 대국 수 (RL	
  sample	
  #)와 성능 개선”간의 그래프는 공개하지 않음
이세돌 9단의 기보를 학습하면?
구글은 일단 이세돌 9단의 기보를 보고 학습하지 않겠다고 약속
학습한다해도 이세돌과의 적은 수 (5판)의 대국 데이터로
수백만 번의 대국 데이터로 training 된 모델을 tune하는 것은 힘듦
(prone	
  to	
  over-­‐fitting,	
  etc.)
알파고의 약점은?
AlphaGo 작동원리
발표자: 문승환
PhD	
  student
Language	
  Technologies	
  Institute,	
  School	
  of	
  Computer	
  Science
Carnegie	
  Mellon	
  University
me@shanemoon.com
3/2/2016
Reference
• Silver,	
  David,	
  et	
  al.	
  "Mastering	
  the	
  game	
  of	
  Go	
  with	
  deep	
  neural	
  
networks	
  and	
  tree	
  search." Nature 529.7587	
  (2016):	
  484-­‐489.

Weitere ähnliche Inhalte

Was ist angesagt?

딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)WON JOON YOO
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.Yongho Ha
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
 
Introduction to Alphago Zero
Introduction to Alphago ZeroIntroduction to Alphago Zero
Introduction to Alphago ZeroChia-Ching Lin
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초Hyungsoo Ryoo
 
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017Taehoon Kim
 
NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인Jubok Kim
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)Dong Guo
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기NAVER D2
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Suhyun Cho
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기정주 김
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016Taehoon Kim
 
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망NAVER Engineering
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거도형 임
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016Taehoon Kim
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘SeokWon Kim
 
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2Dongmin Lee
 
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)Euijin Jeong
 
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018Taehoon Kim
 

Was ist angesagt? (20)

Understanding AlphaGo
Understanding AlphaGoUnderstanding AlphaGo
Understanding AlphaGo
 
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
 
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
Introduction to Alphago Zero
Introduction to Alphago ZeroIntroduction to Alphago Zero
Introduction to Alphago Zero
 
딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초딥러닝 - 역사와 이론적 기초
딥러닝 - 역사와 이론적 기초
 
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
책 읽어주는 딥러닝: 배우 유인나가 해리포터를 읽어준다면 DEVIEW 2017
 
NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인NDC2013 - 심리학으로 다시 보는 게임 디자인
NDC2013 - 심리학으로 다시 보는 게임 디자인
 
DQN (Deep Q-Network)
DQN (Deep Q-Network)DQN (Deep Q-Network)
DQN (Deep Q-Network)
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기
 
Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)Introduction to SAC(Soft Actor-Critic)
Introduction to SAC(Soft Actor-Critic)
 
파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기파이썬으로 나만의 강화학습 환경 만들기
파이썬으로 나만의 강화학습 환경 만들기
 
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
 
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
딥러닝을 활용한 비디오 스토리 질의응답: 뽀로로QA와 심층 임베딩 메모리망
 
Ai 그까이거
Ai 그까이거Ai 그까이거
Ai 그까이거
 
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
지적 대화를 위한 깊고 넓은 딥러닝 PyCon APAC 2016
 
알파고의 알고리즘
알파고의 알고리즘알파고의 알고리즘
알파고의 알고리즘
 
강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2강화학습 알고리즘의 흐름도 Part 2
강화학습 알고리즘의 흐름도 Part 2
 
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
강화학습 기초_2(Deep sarsa, Deep Q-learning, DQN)
 
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
머신러닝 해외 취업 준비: 닳고 닳은 이력서와 고통스러웠던 면접을 돌아보며 SNU 2018
 

Andere mochten auch

기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가Yongha Kim
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전Modulabs
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명Woonghee Lee
 
기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기Terry Taewoong Um
 
Introduction to Machine Learning and Deep Learning
Introduction to Machine Learning and Deep LearningIntroduction to Machine Learning and Deep Learning
Introduction to Machine Learning and Deep LearningTerry Taewoong Um
 
Convolutional Pose Machines
Convolutional Pose MachinesConvolutional Pose Machines
Convolutional Pose MachinesTakanori Ogata
 
CNN(Convolutional Neural Nets) backpropagation
CNN(Convolutional Neural Nets) backpropagationCNN(Convolutional Neural Nets) backpropagation
CNN(Convolutional Neural Nets) backpropagationJooyoul Lee
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작Tae Young Lee
 
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부Donghun Lee
 
[2A4]DeepLearningAtNAVER
[2A4]DeepLearningAtNAVER[2A4]DeepLearningAtNAVER
[2A4]DeepLearningAtNAVERNAVER D2
 
인공지능
인공지능인공지능
인공지능lsmgame
 
Game AI Overview
Game AI OverviewGame AI Overview
Game AI Overview기룡 남
 
Deep Learning for Stock Prediction
Deep Learning for Stock PredictionDeep Learning for Stock Prediction
Deep Learning for Stock PredictionLim Zhi Yuan (Zane)
 
Reinforcement Learning (DLAI D7L2 2017 UPC Deep Learning for Artificial Intel...
Reinforcement Learning (DLAI D7L2 2017 UPC Deep Learning for Artificial Intel...Reinforcement Learning (DLAI D7L2 2017 UPC Deep Learning for Artificial Intel...
Reinforcement Learning (DLAI D7L2 2017 UPC Deep Learning for Artificial Intel...Universitat Politècnica de Catalunya
 
[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법NAVER D2
 
Introduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. ApplicationsIntroduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. ApplicationsMario Cho
 
Stock Prediction Using NLP and Deep Learning
Stock Prediction Using NLP and Deep Learning Stock Prediction Using NLP and Deep Learning
Stock Prediction Using NLP and Deep Learning Keon Kim
 
의료에서의 인공지능 정리 파일 김치원 V5
의료에서의 인공지능 정리 파일 김치원 V5의료에서의 인공지능 정리 파일 김치원 V5
의료에서의 인공지능 정리 파일 김치원 V5Chiweon Kim
 
8월 24일 인공지능 사업화 세미나: IoT 스마트팩토리 솔루션 - 스태프프로젝트
8월 24일 인공지능 사업화 세미나: IoT 스마트팩토리 솔루션 - 스태프프로젝트8월 24일 인공지능 사업화 세미나: IoT 스마트팩토리 솔루션 - 스태프프로젝트
8월 24일 인공지능 사업화 세미나: IoT 스마트팩토리 솔루션 - 스태프프로젝트HELENA LEE
 

Andere mochten auch (20)

기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가기계학습 / 딥러닝이란 무엇인가
기계학습 / 딥러닝이란 무엇인가
 
쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전쫄지말자딥러닝2 - CNN RNN 포함버전
쫄지말자딥러닝2 - CNN RNN 포함버전
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명
 
기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기기계학습(Machine learning) 입문하기
기계학습(Machine learning) 입문하기
 
Introduction to Machine Learning and Deep Learning
Introduction to Machine Learning and Deep LearningIntroduction to Machine Learning and Deep Learning
Introduction to Machine Learning and Deep Learning
 
Convolutional Pose Machines
Convolutional Pose MachinesConvolutional Pose Machines
Convolutional Pose Machines
 
CNN(Convolutional Neural Nets) backpropagation
CNN(Convolutional Neural Nets) backpropagationCNN(Convolutional Neural Nets) backpropagation
CNN(Convolutional Neural Nets) backpropagation
 
Deep learning framework 제작
Deep learning framework 제작Deep learning framework 제작
Deep learning framework 제작
 
알파고 해부하기 1부
알파고 해부하기 1부알파고 해부하기 1부
알파고 해부하기 1부
 
[2A4]DeepLearningAtNAVER
[2A4]DeepLearningAtNAVER[2A4]DeepLearningAtNAVER
[2A4]DeepLearningAtNAVER
 
인공지능
인공지능인공지능
인공지능
 
Game AI Overview
Game AI OverviewGame AI Overview
Game AI Overview
 
Deep Learning for Stock Prediction
Deep Learning for Stock PredictionDeep Learning for Stock Prediction
Deep Learning for Stock Prediction
 
Reinforcement Learning (DLAI D7L2 2017 UPC Deep Learning for Artificial Intel...
Reinforcement Learning (DLAI D7L2 2017 UPC Deep Learning for Artificial Intel...Reinforcement Learning (DLAI D7L2 2017 UPC Deep Learning for Artificial Intel...
Reinforcement Learning (DLAI D7L2 2017 UPC Deep Learning for Artificial Intel...
 
SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)
 
[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법[222]대화 시스템 서비스 동향 및 개발 방법
[222]대화 시스템 서비스 동향 및 개발 방법
 
Introduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. ApplicationsIntroduce Deep learning & A.I. Applications
Introduce Deep learning & A.I. Applications
 
Stock Prediction Using NLP and Deep Learning
Stock Prediction Using NLP and Deep Learning Stock Prediction Using NLP and Deep Learning
Stock Prediction Using NLP and Deep Learning
 
의료에서의 인공지능 정리 파일 김치원 V5
의료에서의 인공지능 정리 파일 김치원 V5의료에서의 인공지능 정리 파일 김치원 V5
의료에서의 인공지능 정리 파일 김치원 V5
 
8월 24일 인공지능 사업화 세미나: IoT 스마트팩토리 솔루션 - 스태프프로젝트
8월 24일 인공지능 사업화 세미나: IoT 스마트팩토리 솔루션 - 스태프프로젝트8월 24일 인공지능 사업화 세미나: IoT 스마트팩토리 솔루션 - 스태프프로젝트
8월 24일 인공지능 사업화 세미나: IoT 스마트팩토리 솔루션 - 스태프프로젝트
 

Ähnlich wie 알파고 (바둑 인공지능)의 작동 원리

딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)WON JOON YOO
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝Jinwon Lee
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
Alphago at a Glance
Alphago at a GlanceAlphago at a Glance
Alphago at a GlanceDataya Nolja
 
Final project v0.84
Final project v0.84Final project v0.84
Final project v0.84Soukwon Jun
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn searchWooSung Choi
 
03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagationDea-hwan Ki
 
[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pubJaewook. Kang
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint NAVER D2
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기Woong won Lee
 
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터][NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]SeungWon Lee
 
Missing Data Prediction using NMDAE
Missing Data Prediction using NMDAEMissing Data Prediction using NMDAE
Missing Data Prediction using NMDAEGyusu Han
 
Cnn 발표자료
Cnn 발표자료Cnn 발표자료
Cnn 발표자료종현 최
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2HyeonSeok Choi
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강Woong won Lee
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhleeDongheon Lee
 

Ähnlich wie 알파고 (바둑 인공지능)의 작동 원리 (16)

딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리를 학습을 위한 파워포인트. (Deep Learning for Natural Language Processing)
 
인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝인공지능, 기계학습 그리고 딥러닝
인공지능, 기계학습 그리고 딥러닝
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
Alphago at a Glance
Alphago at a GlanceAlphago at a Glance
Alphago at a Glance
 
Final project v0.84
Final project v0.84Final project v0.84
Final project v0.84
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn search
 
03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagation
 
[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터][NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
[NDC14] 라이브중인 2D게임에 시스템 변경 없이 본 애니메이션 도입하기[던전앤파이터]
 
Missing Data Prediction using NMDAE
Missing Data Prediction using NMDAEMissing Data Prediction using NMDAE
Missing Data Prediction using NMDAE
 
Cnn 발표자료
Cnn 발표자료Cnn 발표자료
Cnn 발표자료
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2
 
파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강파이썬과 케라스로 배우는 강화학습 저자특강
파이썬과 케라스로 배우는 강화학습 저자특강
 
Workshop 210417 dhlee
Workshop 210417 dhleeWorkshop 210417 dhlee
Workshop 210417 dhlee
 

알파고 (바둑 인공지능)의 작동 원리

  • 1. 발표자: 문승환 PhD  student Language  Technologies  Institute,  School  of  Computer  Science Carnegie  Mellon  University 3/2/2016 작동원리
  • 2. 알파고 vs  유럽챔피언 (판 후이 2단) 2015년 10월 5일 – 9일 <공식경기> -­‐ 제한시간 1시간, 30초 초읽기 3회 -­‐ 5:0  알파고 승리 (불계승 4번)
  • 3. 알파고 vs  세계챔피언 (이세돌 9단) 2016년 3월 9일 – 15일 <공식경기> -­‐ 제한시간 2시간, 1분 초읽기 3회 서울 광화문 포시즌스 호텔 이미지 출처: 조선일보 1월 28일자 인간과 컴퓨터의 자존심을 건 '세기의 대결'
  • 5. “자신이 없어요. 질 자신이요” 사진 출처: 바둑 TV
  • 6. "아,  싸울만 해서 싸워요.  수가 보이는데 어쩌란 말이에요." 사진 출처
  • 7. "불리하다보니 이기자는 생각없이 대충 뒀는데 이겼네요.” -­‐ 구리 九단에게 대역전승을 거둔 직후의 인터뷰 사진 출처
  • 9. 바둑 인공지능? 정의하자면: s (state) d  =  1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = (예를 들면 이런 식으로 행렬로 표현) *  실재론 board  position  외 다른 feature들도 포함
  • 10. 바둑 인공지능? 정의하자면: s (state) d  =  1 d  =  2 a (action) Given  s,  pick  the  best  a 바둑 인공지능s a s'
  • 11. 바둑 인공지능?  이렇게 만들어 보면? d  =  1 d  =  2 … 모든 경우의 수를 시뮬레이션
  • 12. 바둑 인공지능?  이렇게 만들어 보면? d  =  1 d  =  2 … d  =  3 … … … …
  • 13. 바둑 인공지능?  이렇게 만들어 보면? d  =  1 d  =  2 … d  =  3 … … … … … d  =  maxD 끝까지 시뮬레이션 해서 Win? Lose?  결과 리포트
  • 14. 바둑 인공지능?  이렇게 만들어 보면? d  =  1 d  =  2 … d  =  3 … … … … … d  =  maxD Win? Lose?  결과 리포트 여기에 두면 13번 이기더라 37,839번 431,320번 끝까지 시뮬레이션 해봤을 때 제일 많이 이긴 “다음 수”를 고름
  • 15. Maximum  depth  search:   이 방법은 경우의 수가 우주의 원자 수보다 많아 불가능
  • 16. 핵심: 경우의 수 (Search  Space) 줄이기
  • 17. 경우의 수 (Search  Space) 줄이기 1.  “action”  후보군 줄이기 (Breadth  Reduction) d  =  1 d  =  2 … d  =  3 … … … … d  =  maxD Win? Lose? “이런 수는 사람이 두지 않는다”고 판단하는 모델이 있다면 …
  • 18. 경우의 수 (Search  Space) 줄이기 1.  “action”  후보군 줄이기 (Breadth  Reduction) d  =  1 d  =  2 … d  =  3 … … d  =  maxD Win? Lose? Search  후보군에서 미리 제외 (breadth  reduction)
  • 19. 경우의 수 (Search  Space) 줄이기 2.  결과 더 빨리 예측하기 (Depth  Reduction) d  =  1 d  =  2 … d  =  3 … … d  =  maxD Win? Lose? Maximum  depth까지 시뮬레이션 하지 않고 ..
  • 20. 경우의 수 (Search  Space) 줄이기 2.  결과 더 빨리 예측하기 (Depth  Reduction) d  =  1 d  =  2 … d  =  3 … V  =  1 V  =  2 V  =  10 V(s):  “state  s의 판세” 로 요약
  • 21. 경우의 수 (Search  Space) 줄이기 1. “action”  후보군 줄이기 (Breadth  Reduction) 2. 결과 더 빨리 예측하기 / 판세 평가하기 (Depth  Reduction)
  • 22. 1.  “action”  후보군 줄이기 Learning:  P  (  next  action  |  current  state  ) =  P  (  a  |  s  )
  • 23. 1.  “action”  후보군 줄이기 (1) 프로 바둑기사 따라하기 (supervised  learning) 현재 판 예측 모델 다음 판 s1 s2 s2 s3 s3 s4 Data:  온라인 바둑 고수 (5~9단) 기보 16만 개, 착점 3000만 개
  • 24. 1.  “action”  후보군 줄이기 (1) 프로 바둑기사 따라하기 (supervised  learning) 예측 모델 현재 판 다음 판
  • 25. 1.  “action”  후보군 줄이기 (1) 프로 바둑기사 따라하기 (supervised  learning) 예측 모델 현재 판 다음 액션
  • 26. 1.  “action”  후보군 줄이기 (1) 프로 바둑기사 따라하기 (supervised  learning) 예측 모델 현재 판 다음 액션 0 0   0 0 0   0 0 0 0 0 0   0 0 0 1 0 0 0 0 -­‐1 0 0 1 -­‐1 1 0 0 0 1 0 0 1 -­‐1 0 0 0 0 0   0 0 -­‐1 0 0 0 0 0 0   0 0 0   0 0 0 0 0 -­‐1 0 0 0   0 0 0 0 0 0   0 0 0   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 s af:  s à a *  실재론 board  position  외 다른 feature들도 포함
  • 27. 1.  “action”  후보군 줄이기 (1) 프로 바둑기사 따라하기 (supervised  learning) 예측 모델 현재 판 다음 액션 0 0   0 0 0   0 0 0 0 0 0   0 0 0 1 0 0 0 0 -­‐1 0 0 1 -­‐1 1 0 0 0 1 0 0 1 -­‐1 0 0 0 0 0   0 0 -­‐1 0 0 0 0 0 0   0 0 0   0 0 0 0 0 -­‐1 0 0 0   0 0 0 0 0 0   0 0 0   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 s g:  s à p(a|s) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0             0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.1 0 0 0 0 0 0 0 0.4  0.2 0 0 0 0 0 0 0 0.1       0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 p(a|s) aargmax
  • 28. 1.  “action”  후보군 줄이기 (1) 프로 바둑기사 따라하기 (supervised  learning) 예측 모델 현재 판 다음 액션 0 0   0 0 0   0 0 0 0 0 0   0 0 0 1 0 0 0 0 -­‐1 0 0 1 -­‐1 1 0 0 0 1 0 0 1 -­‐1 0 0 0 0 0   0 0 -­‐1 0 0 0 0 0 0   0 0 0   0 0 0 0 0 -­‐1 0 0 0   0 0 0 0 0 0   0 0 0   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 s g:  s à p(a|s) p(a|s) aargmax
  • 29. 1.  “action”  후보군 줄이기 (1) 프로 바둑기사 따라하기 (supervised  learning) Deep  Learning (13  Layer  CNN) 현재 판 다음 액션 0 0   0 0 0   0 0 0 0 0 0   0 0 0 1 0 0 0 0 -­‐1 0 0 1 -­‐1 1 0 0 0 1 0 0 1 -­‐1 0 0 0 0 0   0 0 -­‐1 0 0 0 0 0 0   0 0 0   0 0 0 0 0 -­‐1 0 0 0   0 0 0 0 0 0   0 0 0   0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 s g:  s à p(a|s) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0             0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.1 0 0 0 0 0 0 0 0.4  0.2 0 0 0 0 0 0 0 0.1       0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 p(a|s) aargmax
  • 30. Convolutional  Neural  Network  (CNN) CNN은 레이어별로 input  image를 추상화 시켜 Image  Recognition을 굉장히 잘함이미치  출처
  • 31. Convolutional  Neural  Network  (CNN) 이걸 바둑의 판세를 읽는 데에 사용
  • 32. 바둑: 추상화하는 능력이 중요 CNN:  추상화하는 능력이 뛰어난 모델 바둑 두는 Task와 CNN의 장점이 맞물린 경우
  • 33. Deep  Learning ~=  Representation  Learning à 단을 쌓아 올라갈수록 추상화된 feature를 익힘
  • 34. 1.  “action”  후보군 줄이기 (1) 프로 바둑기사 따라하기 (supervised  learning) 프로기사 흉내내는 모델 (w/  CNN) 현재 판 다음 액션 Training:
  • 35. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning) 프로기사 흉내내는 모델 (w/  CNN) 프로기사 흉내내는 모델 (w/  CNN) VS
  • 36. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning) 프로기사 흉내내는 모델 (w/  CNN) 프로기사 흉내내는 모델 (w/  CNN) VS Return:  대국 기보, 승/패자 정보
  • 37. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning) 프로기사 흉내내는 모델 (w/  CNN) 어느 판 승/패 Training: 패 z  =  -­‐1
  • 38. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning) 프로기사 흉내내는 모델 (w/  CNN) 어느 판 승/패 Training: 승 z  =  +1
  • 39. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning) 업데이트 모델 ver 1.1 업데이트 모델 ver 1.3VS Return:  대국 기보, 승/패자 정보 프로기사 흉내내는 모델과 똑같은 topology,  업데이트 된 parameters를 사용
  • 40. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning) 업데이트 모델 ver 1.3 업데이트 모델 ver 1.7VS Return:  대국 기보, 승/패자 정보
  • 41. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning) 업데이트 모델 ver 1.5 업데이트 모델 ver 2.0VS Return:  대국 기보, 승/패자 정보
  • 42. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning) 업데이트 모델 ver 3204.1 업데이트 모델 ver 46235.2VS Return:  대국 기보, 승/패자 정보
  • 43. 1.  “action”  후보군 줄이기 (2) 스스로 발전하기 (reinforcement  learning)  트레이닝 결과 업데이트 모델 ver 1,000,000VS 최종 모델이 80% 승리 프로기사 흉내내는 모델
  • 45. 2.  판세 평가하기 업데이트 모델 ver 1,000,000 어느 판 Training: 승/패 승 (0~1) 예측 모델 (Regression) 기존 모델에 regression  layer를 더함 0~1 사이의 값으로 예측 1에 가까우면 좋은 판세 0에 가까우면 좋지 않은 판세
  • 46. 경우의 수 (Search  Space) 줄이기 1. “action”  후보군 줄이기 (Breadth  Reduction) 2. 판세 평가하기 (Depth  Reduction) Policy  Network Value  Network 알파고 논문에서 이런 용어를 만들어서 부름
  • 47. +수 읽기 (w/  Monte  Carlo  Search  Tree) Action  후보군 줄이기 (Policy  Network) 수 평가하기 (Value  Network) (Rollout):  Faster  version  of  estimating  p(a|s) ;  shallow  network  (3  ms à 2µs) *  Rollout   결과와 value  network  결과 값을 반반씩 합쳐서 최종 prediction
  • 48. 결과 Elo rating  system 알파고 components  들의  조합에  따른  성능  비교
  • 49. Takeaways 임의의 task를 위해 training한 network를 다양하게 활용
  • 50. 이세돌 9단 vs  알파고
  • 51. 이세돌 9단 vs  알파고 이세돌 알파고 -­‐ 성인 하루 권장 칼로리: ~2,500 kCal -­‐ 가정: 대국에 하루 필요한 모든 칼로리 소모 2,500  kCal *  4,184  J/kCal ~=  10M  [J] -­‐ CPU:  ~100  W,  GPU:  ~300 W -­‐ CPU  1,202개, GPU  176개 170,000  J/sec  *  5  hr *  3,600  sec/hr ~=  3,000M  [J] 정말 대충 계산해서 …
  • 52. 현재 알파고는 프로 5단 수준? =  multiple  machines European  champion
  • 53. CPU  /  GPU를 무한정 늘리면? 그러나 구글은 CPU/GPU  늘리지 않겠다고 약속 어떻게 수렴할지 의견이 분분
  • 54. 매일 3만대국씩 학습한다던데? 결국은 어떤 점으로 수렴하겠지만 알파고 논문에서 “자가 대결 대국 수 (RL  sample  #)와 성능 개선”간의 그래프는 공개하지 않음
  • 55. 이세돌 9단의 기보를 학습하면? 구글은 일단 이세돌 9단의 기보를 보고 학습하지 않겠다고 약속 학습한다해도 이세돌과의 적은 수 (5판)의 대국 데이터로 수백만 번의 대국 데이터로 training 된 모델을 tune하는 것은 힘듦 (prone  to  over-­‐fitting,  etc.)
  • 57. AlphaGo 작동원리 발표자: 문승환 PhD  student Language  Technologies  Institute,  School  of  Computer  Science Carnegie  Mellon  University me@shanemoon.com 3/2/2016
  • 58. Reference • Silver,  David,  et  al.  "Mastering  the  game  of  Go  with  deep  neural   networks  and  tree  search." Nature 529.7587  (2016):  484-­‐489.