GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

【主に】現在の課題と、今後の展望【強化学習方面】

 えー、まず前提として、現在のGA将の学習ルーチンですが、EB-PGLeafと呼んでいるPGLeafの拡張版がベースです。

 んで、これには桜丸さん提唱の「レベルアップ判定ルーチン」が有ります。エース(過去最強)の評価関数パラメータを保存しておいて、Greedy方策で先後入れ替えて2局指し、2連勝出来ればレベルアップ&エース評価関数を更新、と言う仕組みです。

 でもって、現在の問題。「順調にレベルアップしているはずが、レベル500と1000で対sspの勝率が大差無い」と言うものです。

 ここで、一つの推測をしてみました。

 例えば、じゃんけんの強化学習をさせた場合、「グーばかり出す方策」→「パーばかり出す方策」→「チョキばかり出す方策」→「グーばかり出す方策」と学習が進んでも、レベルは3上がります。

 これと似た現象が、本将棋5五将棋の学習時にも起きているのではないかな、と。

 と言う訳で対策を検討。

  1. 学習時の方策のランダムさを増す*1
  2. 過去の評価関数パラメータを保存しておき、それを相手に対局&パラメータ修正する*2
  3. 複数の評価関数を用意し、それらのリーグ戦から対局&パラメータ修正する*3

 1.は試してみましたが、ランダムさを増すと「あり得ない」局面まで出現してしまう様で、失敗。

 2.は現在テスト中ですが、途中経過としては悪くないかもしれません。

 3.は過去にやって、失敗しています。

 で、ふと思い付いたのは「4.複数の評価関数を用意し、それらの過去の履歴相手に対局&パラメータ修正する」と言うもの。

 要するに、2.と3.のハイブリッド方式ですね。

 とりあえず、現状の2.の方式でやってみて、それで上手く行く様なら4.を試してみようと思います。

 あんまりまとまってないですが、以上です。

*1:知識利用より探査の方にメタパラメータを振ってみる

*2:アルファ碁の方式

*3:一種のバギング