強化学習と関数近似 - Math. HomePage

強化学習と関数近似
強化学習を用いたバックギャモンプレイヤーの生成
TD-Gammon
状態価値関数と行動価値関数
前回までは
行動価値関数Qを推定
Q(st,at)
状態 st
時刻tで状態stにいるとき行動atをとる価値
行動 at
もうひとつの考え方として
状態価値関数Vを推定
時刻tで状態stにいる好ましさ(価値)
V(st,at)
本論文では状態価値関数Vを使う
離散型状態価値関数
状態価値V
状態価値V
状態s
0.1 0.5 1.0 1.5 0.0 0.3 0.1 …
状態s
0.2 0.1
関数近似による価値関数
状態価値V
状態s
バックギャモン
白の駒の動き方
赤の駒の動き方
バックギャモンの一般的な初期状態
ニューラルネットワークによる
勝利確率推定
入力層
w
x1
y1
x2
y2
出力層
TD誤差
w11y
Vt 1 Vt
勝利確率の予測値
…..
x198
…..
…..
盤
面
の
情
報
198
入
力
中間層(40-80)
x
11
Vt
入力情報
バックギャモンの各ポイントについて白黒それぞれ4ユニット(入力
層ノード)を使う
4(ユニット)×2(白黒)×24(バックギャモンのポイント)=192(ユニット)
例) ある1ポイントに対する白の数について
白なし : 4入力すべて0
1個 : 最初の1ユニットが1
2個 : 最初から2個のユニットが1
3個 : 最初から3個のユニットが1
4個以上 : (n-3)/2 (n: 駒の数)
バー上にある白と黒の駒数をコード化(2入力ユニット)
n/2 (n: バー上の駒の数)
盤面から除かれた白と黒の駒数(2入力ユニット)
n/15 (n: 取り除かれた駒の数)
白黒いずれの番か(2入力ユニット)
重みの更新
誤差逆伝播法(BP法)を用いる
1
2
Z :ゲームの結果
E  z Vt 
2
とすれば
Vt
E
 z  Vt 
wt
wt
となり
Vt
wt   z  Vt 
wt
zの値がわかるのは1ゲーム終了後であるため、
重みの更新もそれにしたがい、
m
w  w   wt
t 1
1: 勝ち
0: 負け
(1)
ここで
m
z  Vt   Vk 1  Vk 
k t
ただし
m+1 : 終了時刻
(3)
Vm1  z
と考えることができるので
(2)
(1)(2)(3)より、
重みの更新
Vt
w  w   z  Vt 
w
t 1
m
Vt
 w    Vk 1  Vk 
w
t 1
k t
m
k
Vt
 w    Vk 1  Vk 
w
k 1
t 1
m
t
Vk
 w   Vt 1  Vt 
t 1
k 1 w
wt
m
m
この式にトレース減衰パラメータλを考慮すれば
(0    1)
t
wt   (Vt 1  Vt ) 
t k
k 1
ここで適格度トレースを定義する
t 1
t 1k
k
t 1
k 1
t
t 1k
k 1
e  
V
 
w k 1
Vk 1

 et
w

et
V
w
Vk
w
以上から
wt   Vt 1 Vt et
Vk
w
対戦結果
プログラ 中間層 訓練ゲーム
ム
数
対戦相手
結果(点/
ゲーム)
TD-0.0
TD-1.0
TD-2.0
TD-2.1
TD-3.0
他のプログラム
Robertie 等
グランドマスター
Robertie
Kazaros
Draw
-13/5
-7/38
-1/40
+6/20
40
80
40
80
80
300,000
300,000
800,000
1,500,000
1,500,000
定石の変化(第1手)
30年以上使われた定石 : 13→9, 6→5
TD-Gammonによって生み出された新しい定石 : 13→9, 24→23