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는 어떤 수를 생각하나
• 서로 그럴듯하게 둘 때, 승리확률이 높은 수