【ゼロから作るDeep Learning④】AlphaGo

>100 Views

January 15, 26

スライド概要

profile-image

AI・機械学習を勉強したい学生たちが集まる、京都大学の自主ゼミサークルです。私たちのサークルに興味のある方はX(Twitter)をご覧ください!

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

2025 年後期輪読会 #13 (1/15) ゼロから作るDeepLearning④強化学習 AlphaGo 京都大学 工学部 情報学科 宮前明生 0

2.

アジェンダ ◼ 概要 ◼ 方策ネットワークの教師あり学習 ◼ 方策ネットワークの強化学習 ◼ 価値ネットワークの強化学習 ◼ 方策ネットワークと価値ネットワークによる探索 1

3.

アジェンダ ◼ 概要 ◼ 方策ネットワークの教師あり学習 ◼ 方策ネットワークの強化学習 ◼ 価値ネットワークの強化学習 ◼ 方策ネットワークと価値ネットワークによる探索 2

4.

概要 AlphaGoまでの流れ • 2006 モンテカルロ木探索が登場 • 2012 AlexNetが畳み込みニューラルネットワークで画像分類で高精度を出す • 2016 モンテカルロ木探索に加えて、畳み込みニューラルネットワークを用い たAlphaGoがネイチャーに載る AlphaGoは欧州囲碁チャンピオンを5勝0敗で破る (コンピューターが人間のプロ棋士を破るのは初めて) AlphaGoの概要 ①方策ネットワークを対戦記録から分類問題として学習 ②方策ネットワーク同士を対戦させて強化学習 ③自己対戦結果を用いて価値ネットワークを回帰問題として学習 ④実際の対戦時は、2つのネットワークを用いて限られた時間でモンテカルロ木探 索で優れた手を見つける 3

5.

アジェンダ ◼ 概要 ◼ 方策ネットワークの教師あり学習 ◼ 方策ネットワークの強化学習 ◼ 価値ネットワークの強化学習 ◼ 方策ネットワークと価値ネットワークによる探索 4

6.

方策ネットワークの教師あり学習:方策ネットワークのアーキテクチャ 入力特徴量 • 19×19盤面から得られる48個の特徴マップ(自分の碁、 相手の碁、空地など) • 自分の碁の特徴マップであれば、その位置に存在すれば 1なければ0となる01の19×19マップ アーキテクチャ • 13層の畳み込みニューラルネットワーク • フィルタ数はそれぞれ128, 256, 384で統一した3種類 で訓練 • 活性化関数は、基本ReLUで最後の層だけSoftMax • 出力は、次の手の確率 層 ゼロパディング カーネルサイズ ストライド 1 23×23 5 1 2~12 21×21 3 1 19×19(そのまま) 1 1 13 ↓48個の特徴平面 5

7.

方策ネットワークの教師あり学習:方策ネットワークの学習 学習データセット • オンライン対戦サーバーKGSの6~9段のプレイヤーの局面 • 反射・回転の8通りでデータ拡張 学習手法 • 確率的勾配降下法で重み𝜎を更新(損失関数は対数尤度(クロスエ ントロピー)、ミニバッチサイズは𝑚 = 16) 𝑚 𝜕 log 𝑝𝜎 𝑎𝑘 𝑠 𝑘 𝛼 Δ𝜎 = ෍ 𝑚 𝜕𝜎 𝑘=1 • 𝛼の初期値は0.003で、80stepごとに1/2される • 実際の学習は、3億4000万stepを50台のGPUで3週間で訓練した 6

8.

アジェンダ ◼ 概要 ◼ 方策ネットワークの教師あり学習 ◼ 方策ネットワークの強化学習 ◼ 価値ネットワークの強化学習 ◼ 方策ネットワークと価値ネットワークによる探索 7

9.

方策ネットワークの強化学習:自己対戦と強化学習 自己対戦 • 現在の方策ネットワークと過去の反復からランダムにサンプリングさ れた方策ネットワークで対戦 学習手法 • 方策ネットワークのアーキテクチャは教師あり学習と同じ • 対戦結果から終端報酬𝑧𝑡𝑖 = ±𝑟(𝑠𝑇𝑖 𝑖 )(勝利時は1、敗北時は-1)を得る • ベースライン付き方策勾配法で重み𝜌を更新(ゼロつく④の9.3.2) 𝑛 𝑇𝑖 𝜕 log 𝑝𝜌 𝑎𝑡𝑖 𝑠𝑡𝑖 𝛼 Δ𝜌 = ෍ ෍ 𝑛 𝜕𝜌 𝑧𝑡𝑖 − 𝑣 𝑠𝑡𝑖 𝑖=1 𝑡=1 • ベースライン𝑣 𝑠𝑡𝑖 は任意の関数を使えるが、価値ネットワーク𝑣𝜃 𝑠𝑡𝑖 を採用(価値ネットワークは後述) • 実際の学習は、128のミニバッチを1万回繰り返した 8

10.

アジェンダ ◼ 概要 s ◼ 方策ネットワークの教師あり学習 ◼ 方策ネットワークの強化学習 ◼ 価値ネットワークの強化学習 ◼ 方策ネットワークと価値ネットワークによる探索 9

11.

価値ネットワークの強化学習:価値ネットワークのアーキテクチャ 入力特徴量 • 方策ネットワークの48個の特徴マップに、現在のプレイ ヤーの石の色の特徴マップを加えた アーキテクチャ • 14層の畳み込みニューラルネットワーク • 活性化関数は、基本ReLUで最後の層だけtanh • 出力は、盤面の評価(勝利が1、敗北が-1) 層 ゼロパディング カーネルサイズ ストライド 1 23×23 5 1 2~12 21×21 3 1 13 19×19(そのまま) 1 1 14 ノードが256の全結合層 ↓49個の特徴平面 10

12.

価値ネットワークの強化学習:価値ネットワークの学習 学習データセット • 異なる3000万局面から方策ネットワークの出力確率でランダムに 自己対局を進め、終端報酬𝑧𝑡𝑖 = ±𝑟(𝑠𝑇𝑖 𝑖 )(勝利時は1、敗北時は-1) を保存する • 学習は1試合につき1局面にして、連続した局面を避けることで過学 習を防ぐ 学習手法 • 終端報酬𝑧𝑡𝑖 の回帰問題として2乗和誤差を損失関数に採用 • 確率的勾配降下法で重み𝜃を更新 𝑚 𝛼 Δ𝜃 = ෍ 𝑧 𝑘 − 𝑣𝜃 𝑠 𝑘 𝑚 𝑘=1 𝜕𝑣𝜃 𝑠 𝑘 𝜕𝜃 • 実際の学習は、32のミニバッチを5000万回繰り返し、50台のGPU で1週間で訓練した 11

13.

アジェンダ ◼ 概要 s ◼ 方策ネットワークの教師あり学習 ◼ 方策ネットワークの強化学習 ◼ 価値ネットワークの強化学習 ◼ 方策ネットワークと価値ネットワークによる探索 12

14.

方策ネットワークと価値ネットワークによる探索:ロールアウトポリシー ロールアウトポリシーの目的 • 局面の評価に価値ネットワークの出力に加えて、簡単にシミュレー ションした結果の勝率を参照したい • 実際の対局の限られた時間でシミュレーションをするには、計算量 の少ない簡易的なモデルであるロールアウトポリシーを採用する ロールアウトポリシーのアーキテクチャ • ある手を打つかの確率を表すロジスティック回帰 1 𝑃 𝑦=1 𝑥 = ⊤ 1 + 𝑒 − 𝑤 𝑥+𝑏 • 特徴量𝑥は「直前の相手の手に対応する手か?」などの109747項目 の2値変数 • 1秒間に1000回プレイアウト(1試合のシミュレーション)が可能 ↓109747項目の2値特徴量 13

15.

方策ネットワークと価値ネットワークによる探索:探索ノード 探索ノード • モンテカルロ木探索では、グラフ理 論における木の構造で探索する • 最上位のノードをルートノード • 最下位のノードをリーフノード • 自ノードにつながる下位のノー ドを 子ノード • 自ノードにつながる上位のノードを 親ノード 14

16.

方策ネットワークと価値ネットワークによる探索:モンテカルロ木探索 現在の局面をルートノードとして、このノードだけの木を作成して、以下のステップを繰り返しノードを 追加していく。 1. ルートノードから探索評価値𝑄(𝑠, 𝑎) + 𝑢(𝑠, 𝑎)が最大となる子ノードをたどって木を降りる(図a) 2. 未到達のノード𝑠𝐿 に到達したら、これを新ノードとして展開する 新ノードの入力から方策ネットワークの出力𝑃(𝑠, 𝑎)を得る(図b) 3. 新ノードの入力から価値ネットワークの出力𝑣𝜃 𝑠𝐿 を得る 新ノードからロールアウトポリシーでシミュレーションを行い勝率𝑧𝐿 を得る(図c) 4. 3.から新ノードの𝑄(𝑠, 𝑎)を求め、親ノードを辿りながら各ノードの𝑄(𝑠, 𝑎)を更新する(図d) 5. ルートノードに戻ったら1.に戻る 15

17.

方策ネットワークと価値ネットワークによる探索:モンテカルロ木探索 モンテカルロ木探索の探索評価値 探索評価値= 𝑄(𝑠, 𝑎) + 𝑢(𝑠, 𝑎) • 𝑄(𝑠, 𝑎)は行動価値、𝑢(𝑠, 𝑎)は探索ボーナス 𝑢 𝑠, 𝑎 = 𝑐puct 𝑃 𝑠, 𝑎 σ𝑏 𝑁 𝑠,𝑏 1+𝑁 𝑠,𝑎 • 𝑃 𝑠, 𝑎 は方策ネットワーク出力、𝑁 𝑠, 𝑎 はノード𝑠のシミュレーションの訪問回数 新ノード𝑠𝐿 の状態価値関数 𝑉 𝑠𝐿 = 1 − 𝜆 𝑣𝜃 𝑠𝐿 + 𝜆 𝑧𝐿 • 𝑣𝜃 𝑠𝐿 は価値ネットワーク出力、 𝑧𝐿 はロールアウトポリシーによるシミュレーション勝率 更新 1 σ𝑛𝑖=1 𝟏 𝑠, 𝑎, 𝑖 𝑁 𝑠,𝑎 = σ𝑛𝑖=1 𝟏 𝑠, 𝑎, 𝑖 𝑄 𝑠, 𝑎 = 𝑁 𝑠, 𝑎 𝑉 𝑠𝐿𝑖 • 𝟏 𝑠, 𝑎, 𝑖 は𝑖回目のシミュレーションで状態𝑠から行動𝑎を選択したか 16