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

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

開発日記

PGLeaf Drei Phase1 with 並列16連ガチャ、ほぼ完成

まず、先日書いたエントロピー正則化ですが、三目並べモード+PGLeaf Dreiである程度ちゃんと動く様になりました。 ただ、それでも乱数の偏りが原因(?)で、局所最適解にハマってしまう事もしばしば。ま、ソシャゲのガチャみたいな感じですね。 んで、「ガ…

現時点で確認している問題点@三目並べモード

「初手の学習が上手く行かない」。これにつきます。 対称形を考慮すると初手は三通りあるんですが、学習を進めていくとこの内どれか一手しかほとんど指さなくなります。 で、これがどう困るかと言うと、先手に関しては対完全読みプレイヤーの引き分け率が1に…

今日の予定

MC Softmax 探索における局面評価関数の学習 GPW 2018で五十嵐先生に発表してもらった上記論文(五十嵐先生・山本一将さんとの共著論文)ですが、理論の提案だけで学習実験がまだです。 という訳で、実験用にプログラムの修正作業をするのが一つ。 それから…

エントロピー正則化の勾配計算(修正済み)

policy gradientがexploration不足のまま決定的になりすぎてしまう場合、行動分布のentropyを最大化する項を正則化として加えるという方法がありますが、試してますでしょうか?— mooopan (@mooopan) 2018年11月24日 Twitterで@mooopanさんに教わった手法で…

PGLeaf Drei Phase1までロールバック

久方ぶりの更新です ノシ PGLeaf Dreiですが、一応数日前にPhase 3まで実装は出来ました。 ただ、どうもどっかおかしい様で、三目並べモードでも正しく収束しないケースが有ります。 という訳で、一旦Phase 1まで戻して、関数近似の部分を中心にテスト中。 …

メタ強化学習に関して、理解出来た範囲で纏めてみる

gasyou.hatenablog.jp 上記エントリで参照している論文の件です。 まず、強化学習において探査*1を行う手法は、大別すると2種類になると思います。 乱数を用いて探査する:ε-Greedy方策、Softmax方策 etc. 状態や行動の試行回数に応じて探査する:UCB1、MBIE…

困った事になってきた

PGLeaf Drei Phase 2ですが、αβ探索と組み合わせてるんですが、探索深さによって収束したりしなかったりします。 具体的には 1手読み → 収束せず 2手読み → 8~9割程度の割合で正しく収束 3手読み → 収束せず 4手読み → 5~6割程度の割合で正しく収束 という…

PGLeaf Drei Phase 2、もうちょっと頑張らないとだね

え~、昨夜は5回の試行でちゃんと収束したですが、50回試行すると収束しないケースがチラホラ… やっぱり、少ない学習回数での結果は信用なりませんね。 この状態でPhase 3を実装しても収束するとは思えないんで、もうちょっと弄くり回してみます。

PGLeaf Drei Phase 2ほぼ完成か?

現在開発中の学習ルーチンは「PGLeaf Drei」と呼んでいますが、Phase 2まで(多分)完成しました。 まず、Phase 1でREINFORCEベースだったものから、関数近似を用いたActor-Critic化を行いました。 で、Phase 2ではExperience Replayの導入をしたのですが、…

UEC杯は参加無理かも

gasyou.hatenablog.jpの続き。 「招待プログラム以外は、開発者の一人は、現地に来て自身のプログラムを操作する必要があります。」とルールに有りましたので、私は現地参加しないといけないんですが、日程とか旅費とかの関係で厳しそう。 年末ジャンボでポ…

メタ強化学習ルーチン、割といい感じ

Q学習では高々40状態程度の簡易迷路しか解けなかったのが、256状態まで増やしてもメタ強化学習有りだと解ける様になりました。 結構期待出来そうなんで、スグにでも効果を見てみたいんですが、どうしようかなぁ。 一つの手として、TDLeaf(λ)と組み合わせるっ…

ベースラインは出来た

メタ強化学習のベースラインとして、簡易的な迷路(ただしゴールは複数存在し、それぞれ得られる報酬が異なる)をQ学習で解くプログラムを作成。ざっくりテストして、無事局所最適解にハマる事を確認しました。 ざっとログを眺めた感じだと、迷路の領域の1割…

気分転換

前書いた論文の一個目のやつ、実装出来たけど素のPGLeaf*1より性能悪い… バグってんだろうなぁ。 という訳で、気分転換に二番目のメタ強化学習の方の実装に着手。 と言っても、コンピュータ将棋や三目並べではまだ動かせないので、簡単な迷路問題で実験して…

原点回帰して、PGLeaf(初代)の改良に取り組む事にしました

https://papers.nips.cc/paper/1713-policy-gradient-methods-for-reinforcement-learning-with-function-approximation.pdf http://proceedings.mlr.press/v80/xu18d/xu18d.pdf TDLeaf(λ)とかと組み合わせるのは当面見送って、PGLeaf単体でどこまで行けるか…

第11回UEC杯5五将棋大会 in GAT

第11回UEC杯 in GAT5五将棋大会 - 5五将棋 portal 2019年3月9日~10日。現地参加したいけど、旅費とかいろいろ工面出来るかなぁ…

GPW杯コンピュータ5五将棋大会2018

GPW杯コンピュータ5五将棋大会2018 - 5五将棋 portal 開催されるそうです。どうしようかなぁ~。 現地での参加は無理そうだから、参加するなら代理操作を誰かに頼まないと…

来年の選手権について【GA将、一時中断するかも】

http://dwango.co.jp/pi/ns/2018/0827/index.html 昨日のニュースですが、電王トーナメントは終了して来年の選手権にドワンゴから賞金が出る様になるらしいですね。 という訳で、「ライブラリを使えばこんなに簡単&手抜きで賞金ゲットだぜ!」という問題提…

プランA、いい感じに仕上がってきたかも

三目並べモードで方策勾配法+Q(λ)+Bootstrappingで正しく収束する様になりました。 という訳で、5五将棋モードに変更して学習用マシンに投入。 …と言うか、今朝から走らせてたんだけど、パラメータ更新後の後処理*1を忘れてて、さっき慌てて実装したのはこ…

勾配計算の並列化でバグってた&なんとか治った話

https://teratail.com/questions/129845 OpenMPのomp_get_thread_num()関数とネストしての並列化絡みの仕様をちゃんと理解していなくて、正に上記URLの現象でバグってました。 デバッグにかれこれ6時間はかかったんじゃないかなぁ… まぁ、とりあえず動く様に…

バグってなかったという結論に達した

先日書いたバグ疑惑ですが、結局色々調べた所「探査が足りてなくて正しく収束しない」という現象だと判断しました。 という訳で、5五将棋モードに設定変更して学習中。 …クソ重てぇw 一晩かかって300局しか対局出来ません。 どうも、勾配の再帰計算&初…

プランAの進捗状況

プランAですが、本命は「モンテカルロサンプリングを用いて行動価値関数の勾配を求める」方式なんですが、とりあえず妥協して厳密に勾配を求める方式に変更。 んで、Bootstrap部分は手を加えてないので正常動作。Q(λ)はまだバグ持ち… 現在は三目並べモードで…

昨日の論文、アイデアは応用出来るかも

http://d.hatena.ne.jp/Gasyou/20180710/1531215640 要するに「獲得した報酬が増えた→良いメタパラメータだった」「獲得した報酬が減った→悪いメタパラメータだった」って判断する訳ですから、Exploration Policyではなく通常のメタパラメータ*1の学習にも使…

原因は分かってみればシンプルだった

昨日書いた件ですが、「読みが正確になる→勝敗読み切りが早くなる→勝敗読み切り局面はBootstrappingしないので正しく学習出来なくなる」と言うのが原因でした。 んで、勝敗読み切り局面もBootstrappingする様に修正したら、無事に正しく収束しました。 ただ…

バグ修正したら挙動がおかしくなった話、する?

え〜、プランAの方ですが、探索ルーチンにバグが有って、評価値を更新すべきなのにしていない部分がありました。 で、ここをチョロっと修正。一行追加しただけです。 …したら、三目並べモードで収束しなくなりました _| ̄|○ 探索のログを見る限りでは読みは…

近況など

えー、ひさかたぶりの更新ですが生きています。一応。 んで、肝心の開発ですが、ほとんど進んでいません(汗 まず、先日書いたカルマンフィルタの件ですが、方策勾配法と組み合わせるのは私には無理そうです。 それから、ステルスモードで動いているプランA…

カルマンフィルタを用いた強化学習

Kalman Temporal Differencesという、TD法とカルマンフィルタを組み合わせた手法は存在する様なのですが、方策勾配法でも同様の事が出来ないかと検討中。カルマンフィルタの基礎作者: 足立修一,丸田一郎出版社/メーカー: 東京電機大学出版局発売日: 2012/10/…

Ver.10の表記は「GA将?」とします

ちゃんと書かずにブログタイトルとTwitterアカウント名だけ変更していましたが、GA将 Ver.10は「GA将?」に決めました。 '?'一個で'!'10個分という表記法としますので、Ver.11は「GA将!?」になる予定です。鬼が笑い死にする再来年の話ですが。

選手権で見えた課題とその対策

まず、課題。 駒割を重視しすぎて指し手がヌルい。 圧倒的な学習時間(≒対局数)不足。 テキトー過ぎる思考時間制御。 1.に関しては「15年前の評価関数だね」という感じの有り難い助言を頂きました。本当にその通りで、ここは改善の余地ありです。 2.ですが…

ヤバい所の話じゃないかも

ssp相手のスパーリングで、+3000点からの逆転負けとかが非常に多いです。目視している限りでも、負けパターンの半分はそんな感じ。 三駒関係+αの重み*1を色々変えて実験中ですが、現時点でこれでは選手権は絶望的ですね。 …最悪、Depth1で学習したパラメー…

てゆーか、間に合うのか、これ?

Depth1でザッと学習するのに1日、そっから最低2週間程度はDetph2の学習に必要そうだし*1、まともなパラメータが出来上がるのは選手権直前かも。 *1:楽観的観測