290 likes | 638 Views
TD 学習による ゲームの進行度ごとの 評価関数の調整. 卒業論文 近山・田浦研究室 60407 三木理斗. 背景. ゲームは進行度によって評価の仕方が違う オセロ:序盤は角重視 将棋:序盤は駒の損得、終盤は玉の危険度 進行度ごとに評価関数を変える手法が定番 進行度の判定、各重み付けは人手によるもの 機械学習によるコンピュータプレイヤの台頭. 目的. 進行度ごとに特化した評価関数を強化学習 (TD 学習 ) によって学習する 進行度ごとの重み付けを自動化できる. 序盤用評価関数. 強化学習. 中盤用評価関数. 棋譜不要. 終盤用評価関数. 発表の流れ.
E N D
TD学習によるゲームの進行度ごとの評価関数の調整TD学習によるゲームの進行度ごとの評価関数の調整 卒業論文 近山・田浦研究室 60407 三木理斗
背景 • ゲームは進行度によって評価の仕方が違う • オセロ:序盤は角重視 • 将棋:序盤は駒の損得、終盤は玉の危険度 • 進行度ごとに評価関数を変える手法が定番 • 進行度の判定、各重み付けは人手によるもの • 機械学習によるコンピュータプレイヤの台頭
目的 • 進行度ごとに特化した評価関数を強化学習(TD学習)によって学習する • 進行度ごとの重み付けを自動化できる 序盤用評価関数 強化学習 中盤用評価関数 棋譜不要 終盤用評価関数
発表の流れ • 関連研究 • 本研究の手法 • 実験・評価 • まとめ・今後の課題
関連研究 • 本研究で扱うゲーム • 局面評価関数のTD(λ)学習
ブロックスデュオ • 14×14マスの正方形の盤面に21種類のピースを置いていく。 • 自分のピースと角同士が接し、辺同士が接しない位置にしか置けない。 OK NG 置くピース 角が接していればOK 辺が接している 角が接していない 置いたピースの合計面積が大きい方の勝ち。
局面評価関数 • 良い手を打つには何か指標が必要 • 局面の有利不利を見積もりたい
局面評価関数の機械学習 • 教師あり学習 • 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)はパラメータによる近似表現をする • :評価要素ベクトル • ゲームの特徴要素(盤面配置、持ち駒などから選択) • :重みベクトル • 学習による調整の対象 • 線形関数近似+シグモイド正規化
本研究の手法 • ゲームの進行度を考慮したTD(λ)学習 • 進行度によって評価関数を切り替える
進行度に応じた評価関数の切り替え V1(s)で評価する V2(s)で評価する 評価値 局面 s1 s2 s3 s4 s5 修正する誤差
手法の細かい設定 • 報酬は勝ち1、負け0、引き分け0.5 • 自己対戦形式 • 終局面では双方を修正 • 手の選択はε-greedy方策 • 序盤ランダムやUCTも試したが、あまり変わらず
実験と評価 • 評価要素 • 学習パラメータ • 実験結果 • 考察
学習パラメータ • 学習係数α • 割引率γ=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手ランダム
考察 • 終盤とそれ以外に分けると強くなったが、 序盤を分けると弱くなった。 • 序盤を個別に学習するのは難しいため • 調整時に推定値の比重が高くなる • 良い局面と悪い局面の差が見えにくい • ε-greedyによるランダム局面が後ろに偏る
重みの検討 • 終盤 • 自分の面積(1)が正 • 相手の面積(2)が負 なるべく大きい駒を置く • 自分の置ける可能性のある空き(3)が負 • 相手の置ける可能性のある空き(4)が正 無駄な空きを残さない
重みの検討 • 中盤 • 自分の面積(1)が負 • 影響領域(9,10)が比重大 小さくても影響領域を 広げられる駒を置く
重みの検討 • 序盤 • 影響領域(9,10)が比重大 影響領域は重要だが あとはよくわからない →そもそも精度が低いので 信頼できない
おわりに • まとめ • 今後の課題
まとめ • 終盤を分けるのは有効 • 学習がかなり正確 • 一方で序盤は学習が難しい • 定石などで対応するほうが良いかも • 異なる重みを学習できることは確認
今後の課題 • 進行度の分け方の検討 • さまざまな分け方を分析して傾向変化を見る • 「終盤らしさ」などの進行度判定を行う • 評価要素を増やす • 評価関数としての表現力を高める • より応用的な学習法の適用 • LSTD法、TDLeaf法、共進化法など