57
알파고

INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

알파고

Page 2: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

INTRODUCTION

Page 3: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Search space

• Think about a tree structure

• Number of total possibilities: 𝑏𝑑

Depth

Breadth

Page 4: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Search space

𝐴𝑝𝑝𝑟𝑜𝑥𝑖𝑚𝑎𝑡𝑒𝑙𝑦 𝑏 ≈ 250, 𝑑 ≈ 150→ 250150 ≈ 5 × 10359

𝐶ℎ𝑒𝑠𝑠 ∶ 3580 ≈ 3 × 10123

Page 5: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

BOARD GAME STRATEGY

Page 6: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Board Game Strategy

• To win the game, we only need to build a game tree

Page 7: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Board Game Strategy

• To win the game, we need to find 𝑝∗ 𝑎|𝑠• 𝑝∗ 𝑎|𝑠 : Optimal action value function

• Which action should I take?

Page 8: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Board Game Strategy

• To win the game, we need to find 𝑣∗ (𝑠)• 𝑣∗ 𝑠 : Optimal Value Function

Page 9: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

3 COMPONENTS OF ALPHA GO

Page 10: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Monte Carlo Tree Search

Page 11: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Reducing depth search with value network

Page 12: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Reducing breadth search with policy network

Page 13: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

MONTE CARLO TREE SEARCH

Page 14: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123
Page 15: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Monte Carlo Tree Search

• a method for finding optimal decisions in a given domain by

taking random samples in the decision space and building a

search tree according to the results

Page 16: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

MCTS - overview

• A tree is built in an incremental and asymmetric manner

• For each iteration of the algorithm, a tree policy is used to find the most

urgent node of the current tree

• Exploration (look in areas that have not been well sampled yet) vs Exploitation

(look in areas which appear to be promising)

• A simulation is then run from the selected node and the search tree

updated according to the result

• the addition of a child node corresponding to the action taken from the selected

node (Moves are made during this simulation according to some default policy)

• an update of the statistics of its ancestors

Page 17: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

One iteration of the general MCTS approach

Page 18: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

General MCTS approach

• Selection: Starting at the root node, a child selection policy is recursively

applied to descend through the tree until the most urgent expandable node is

reached.

• Expansion: One (or more) child nodes are added to expand the tree,

according to the available actions.

• Simulation: A simulation is run from the new node(s) according to the

default policy to produce an outcome

• Backpropagation: The simulation result is “backed up” through the selected

nodes to update their statistics.

reward

action

Page 19: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

General MCTS approach

• Playout, rollout, simulation

• playing out the task to completion according to the default policy

• Four criteria for selecting the winning action

• Max child: Select the root child with the highest reward.

• Robust child: Select the most visited root child.

• Max-Robust child: Select the root child with both the highest visit count

and the highest reward. If none exist, then continue searching until an

acceptable visit count is achieved

• Secure child: Select the child which maximizes a lower confidence bound.

Page 20: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

HOW TO DESIGN TREE POLICY?MULTI-ARMED BANDIT

Page 21: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Multi-armed bandit

• The K-armed bandit problem may be approached using a policy

that determines which bandit to play, based on past rewards.

Page 22: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

UCT (Upper Confidence Bounds for Trees) algorithm

Page 23: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Exploration vs Exploitation

encourages the exploitation of

higher-reward choices

encourages the exploration of less

visited choices

Page 24: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

ALPHAGO

Page 25: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

3 key components in AlphaGo

• MCTS

• Policy network

• Value network

Page 26: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

POLICY NETWORK

Page 27: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Policy network

• To imitate expert moves

• There are 192 possible actions (with different probabilities)

Page 28: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Policy network

Page 29: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

3 Policy networks

• Supervised learning policy network

• Reinforcement learning policy network

• Roll-out policy network

Page 30: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Supervised learning of policy networks

• Policy network: 12 layer convolutional neural network

• Training data: 30M positions from human expert games (KGS 5+ dan)

• Training algorithm: maximize likelihood by stochastic gradient descent

• Training time: 4 weeks on 50 GPUs using Google Cloud

• Results: 57% accuracy on held out test data (state-of-the art was 44%)

Δ𝜎 ∝𝜕 log 𝑝𝜎(𝑎|𝑠)

𝜕𝜎

Page 31: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Supervised learning of policy networks

Played by

Human Expert

19

X1

9X

48

12 convolutional +

rectifier layers

So

ftmax

Probability

map

vs

Page 32: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Reinforcement learning of policy networks

• Policy network: 12 layer convolutional neural network

• Training data: games of self-play between policy network

• Training algorithm: maximize wins z by policy gradient

reinforcement learning

• Training time: 1 week on 50 GPUs using Google Cloud

• Results: 80% vs supervised learning. Raw network ~3 amateur

dan.

Δ𝜌 ∝𝜕 log 𝑝𝜌(𝑎𝑡|𝑠𝑡)

𝜕𝜌𝑧

Page 33: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Training the RL Policy Network 𝑷𝛒

• Refined version of SL policy 𝑃𝜎• Initialize weights to 𝜌 = 𝜎

• {𝜌−|𝜌− is an old version of 𝜌}

• 𝑃𝜌 vs 𝑃 𝜌−

Page 34: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Roll-out policy network

• Faster version of supervised learning policy network 𝑝(𝑎|𝑠)with shall networks (3 ms→ 2us)

Page 35: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

VALUE NETWORK

Page 36: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Value network

Page 37: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Value network

Page 38: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Reinforcement learning of value networks• Value network: 12 layer convolutional neural network

• Training data: 30 million games of self-play

• Training algorithm: minimize MSE by stochastic gradient descent

• Training time: 1 week on 50 GPUs using Google Cloud

• Results: First strong position evaluation function - previously thought

impossible

Δ𝜃 ∝𝜕𝑣𝜃 𝑠

𝜕𝜃(𝑧 − 𝑣𝜃 𝑠 )

Page 39: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Training the Value Network 𝑽𝛉

• Position evaluation

• Approximating optimal value function

• Input: state, output: probability to win

• Goal: minimize MSE

19X

19X

48

convolutional +

rectifier layers

fc scalar

Page 40: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

TRAINING

Page 41: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Input Features

Page 42: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Training the Deep Neural Networks

Page 43: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Summary: Training the Deep Neural Networks

Page 44: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

MCTS

Page 45: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Monte Carlo Tree Search

Page 46: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Monte Carlo Tree Search: selection

• Each edge (s,a) stores:

• 𝑄(𝑠, 𝑎) - action value (average value of sub tree)

• 𝑁(𝑠, 𝑎) – visit count

• 𝑃(𝑠, 𝑎) – prior probability

Page 47: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Monte Carlo Tree Search: evaluation

• Leaf evaluation:

• Value network

• Random rollout

Page 48: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Monte Carlo Tree Search: backup

Value network Roll-out

Page 49: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

How to choose the next move?

• Maximum visit count

• Less sensitive to outliers than maximum action value

Page 50: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Training the Deep Neural Networks

×

Page 51: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123
Page 52: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123
Page 53: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

AlphaGo VS Experts

4:1

Page 54: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Summary

• A Go game at the highest level of human players is developed

based on a combination of deep neural networks and tree search.

• For the first time, effective move selection and position

evaluation functions for Go are developed based on deep neural

networks.

Page 55: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Google's Deep Mind Explained! - Self Learning A.I. (기술적으로정확하지는않음)

Page 56: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

BACKUPS

Page 57: INTRODUCTION - ajou.ac.krcvml.ajou.ac.kr/wiki/images/9/94/Ch12-1_AlphaGo.pdf · Depth Breadth. Search space 𝐴 N 𝑖 ≈250, ≈150 →250150≈5×10359 𝐶ℎ O O∶3580≈3×10123

Tournament evaluation of AlphaGo