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

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

探索ルーチンのリファクタリングは中断

 強化学習関連でやってみたい事が出来たんで、そっちを優先します。

 んで、何をするかと言うと、自己対局時に「あまり学習していないパラメータが出て来た局面を優先的に選ぶ」というものです。

 今までの自己対局では「評価値が高い手ほど高確率で選ぶ」様にしていたのですが、別に自己対局で「勝つ」事は重要ではないです。

 評価関数のパラメータに適切に値を設定するのが目的なので、むしろ「未知の局面」に誘導した方が良いんじゃないかな、と。

 具体的には、UCB1*1の式を修正して、評価値にボーナスを与えます。

 こうすると、PV末端で「あまり学習していないパラメータが出現したが、評価値が少し低い手」と「頻繁に学習したパラメータが出現した、評価値が高い手」を近い確率で選択する様にならないかな〜、と。

 評価値にボーナスを与える以外はSoftmax方策のまんまですし、PV Leafの評価値+ボーナスを評価関数パラメータで微分すると、ボーナスの項はサクッと消えるので、学習則には手を入れる必要はないはずです。

 という訳で、難易度的には「中」なので今週末には実装を終えたいですね。

*1:コンピュータ囲碁でよく使われているUCTのベースとなるアルゴリズム