TD学習による ゲームの進行度ごとの 評価関数の調整

TD学習による
ゲームの進行度ごとの
評価関数の調整
卒業論文
近山・田浦研究室
60407 三木理斗
背景
ゲームは進行度によって評価の仕方が違う
オセロ:序盤は角重視
将棋:序盤は駒の損得、終盤は玉の危険度
進行度ごとに評価関数を変える手法が定番
進行度の判定、各重み付けは人手によるもの
機械学習によるコンピュータプレイヤの台頭
目的
進行度ごとに特化した評価関数を強化学習
(TD学習)によって学習する
進行度ごとの重み付けを自動化できる
序盤用評価関数
強化学習
棋譜不要
中盤用評価関数
終盤用評価関数
発表の流れ
関連研究
本研究の手法
実験・評価
まとめ・今後の課題
関連研究
本研究で扱うゲーム
局面評価関数のTD(λ)学習
ブロックスデュオ
14×14マスの正方形の盤面に21種類の
ピースを置いていく。
自分のピースと角同士が接し、辺同士が接し
ない位置にしか置けない。
OK
置くピース
角が接して
いればOK
NG
辺が接している
角が接していない
置いたピースの合計面積が大きい方の勝ち。
局面評価関数
 良い手を打つには何か指標が必要
 局面の有利不利を見積もりたい
V ( s)
s : 評価する局面
局面評価関数の機械学習
教師あり学習
ex. ボナンザ(保木, 2006)
棋譜の指し方に近づける
教師なし学習
強化学習
ex. TD学習(R. Sutton, 1988)
強化学習
 新しいゲームでも適用可能
なぜ?
 棋譜(教師信号)が不要
なぜ?
 報酬をもとに評価関数を調整
 ゲームでの報酬は勝敗結果
 つまり評価関数は勝敗を推定する
TD学習
1ステップだけ修正
1ステップだけ修正
報酬r
評価値
局面
s1
s2
s3
s4
s5(終局)
TD(λ)学習
いっきに修正
報酬r
評価値
局面
s1
s2
s3
s4
s5(終局)
評価関数のパラメータ表現
V(s)はパラメータによる近似表現をする


 :評価要素ベクトル
 ゲームの特徴要素(盤面配置、持ち駒などから選択)

  :重みベクトル
 学習による調整の対象
線形関数近似+シグモイド正規化
V ( s) 
1
1 e
 
  ( s )
本研究の手法
ゲームの進行度を考慮したTD(λ)学習
進行度によって評価関数を切り替える
進行度に応じた評価関数の切り替え
V1(s)で評価する
V2(s)で評価する
評価値
局面
s1
修正する誤差
s2
s3
s4
  V12(s3524)) VV1211((ss2341)
s5
手法の細かい設定
報酬は勝ち1、負け0、引き分け0.5
自己対戦形式
終局面では双方を修正
手の選択はε-greedy方策
序盤ランダムやUCTも試したが、あまり変わらず
実験と評価
評価要素
学習パラメータ
実験結果
考察
評価要素
番号
評価要素
1
自分のピースの総面積
2
相手のピースの総面積
3
自分の置ける可能性のある空白マス数
4
相手の置ける可能性のある空白マス数
5
自分の次のピースを置ける角の数
6
相手の次のピースを置ける角の数
7
相手の置けないところでの自分の影響領域の値
8
自分の置けないところでの相手の影響領域の値
9
自分の影響領域の値
10
相手の影響領域の値
影響領域
学習パラメータ
 学習係数α
N0  1
  0
N 0  Episode#1.1
 割引率γ=1
 トレース減衰パラメータλ=0.8
 ランダム方策率ε=0.03
1試合に1回程度ランダムな手
実験
 3種類の進行度の分け方
A:進行度の区別なし
B:中盤以前(1~30手)・終盤(31手~)
C:序盤(1~10手)・中盤(11~30手)・終盤(31手~)
 それぞれ200000試合の自己対戦
 学習後、二つの基準プレイヤと評価対戦
simpleプレイヤ:面積差のみ評価
strongプレイヤ:大会2位、人手での重み付け
先手後手500試合ずつ、探索なし、序盤4手ランダム
結果1:simpleプレイヤに対する勝率
結果2:strongプレイヤに対する勝率
考察
終盤とそれ以外に分けると強くなったが、
序盤を分けると弱くなった。
序盤を個別に学習するのは難しいため
調整時に推定値の比重が高くなる
良い局面と悪い局面の差が見えにくい
ε-greedyによるランダム局面が後ろに偏る
重みの検討
 終盤
自分の面積(1)が正
相手の面積(2)が負
なるべく大きい駒を置く
自分の置ける可能性の
ある空き(3)が負
相手の置ける可能性の
ある空き(4)が正
無駄な空きを残さない
重みの検討
 中盤
自分の面積(1)が負
影響領域(9,10)が比重大
小さくても影響領域を
広げられる駒を置く
重みの検討
 序盤
影響領域(9,10)が比重大
影響領域は重要だが
あとはよくわからない
→そもそも精度が低いので
信頼できない
おわりに
まとめ
今後の課題
まとめ
終盤を分けるのは有効
学習がかなり正確
一方で序盤は学習が難しい
定石などで対応するほうが良いかも
異なる重みを学習できることは確認
今後の課題
進行度の分け方の検討
さまざまな分け方を分析して傾向変化を見る
「終盤らしさ」などの進行度判定を行う
評価要素を増やす
評価関数としての表現力を高める
より応用的な学習法の適用
LSTD法、TDLeaf法、共進化法など