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

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

5五将棋用の連続対局サーバを自作

プチ将棋だと「千日手が先手の負けにならない」「打ち歩詰めが負けにならない」という問題があるので、5五将棋モードで連続対局させる為のサーバを自作。 現時点ではUSIしか対応していませんが、将来的には他のプロトコルにも対応させて、海外製のソフトとも…

ここ一週間ほどの進捗等

学習ルーチンを色々いじってみたのものの、結局今年1月2日に対ssp勝率75.6%を記録したのを超えられませんでした。 んで、現在はその最高記録達成時の設定に戻して再度学習中。多分、これがUEC杯に向けての最後のお願いになるはず。 それから、思考時間制御…

ちょっと修正したら、学習の立ち上がりは上々

PGLeaf+MCからPGLeaf+Q(λ)にアルゴリズムを変更して、昨夜から5五将棋モードで学習中。 現在、55万局経過後のパラメータでsspと対局中ですが、勝率65%前後。学習序盤としては上々の結果です。 このまま順調に強くなってくれれば良いんですが、どこまで伸…

Windows 10でキーボード入力が出来なくなった場合の対処

今日Windows 10 Proの開発用マシンを触っていたら、突然キー入力を受け付けなくなりました。 現象としては下記の通り。 画面描画は正常に行われている(時計の秒針やタスクマネージャーは動いている)。→フリーズでは無いらしい。 マウスクリックは認識した…

UEC杯までにやるべき事

評価関数パラメータの学習 思考時間制御のパラメータ調整 Ponderの検証 1.は今の学習ルーチンが良い感じなので、ジックリ時間をかけてやれば良いはずです。 2.に関しては、大会が20分切れ負けなので、最大思考時間を90秒か120秒に設定。んで、思考開始から1…

Adam、まだバグ持ち?

PGLeaf DreiにAdamを組み込んでみたんですが、RMSProp+Momentumより明らかに性能劣化しています。 まだどっかにバグが残っているかもしれないので、今からテストしてみます。

Adam実装完了&PGLeaf Dreiに組み込み完了

RMSProp+Momentumが思いの外良い感じだったんで、それならいっその事と思い、Adamを実装。 簡単にテストしてOKだったんで、PGLeaf Dreiに組み込んで学習用マシンに投入しました。 対ssp(ハンディキャップマッチ)で勝率80%、行けるかなぁ? 結果が出るの…

完全にミスったw

昨年末から学習回していたPGLeaf DreiのRMSProp+慣性項バージョン、レーティング上昇が頭打ちになったと思って学習止めて*1、止めた時点のパラメータでsspとやらせたら勝率上昇してた。 んで、慣性項はOFFにするのを忘れてただけなんで、OFFにして学習させ…

明けましておめでとうございます

既に2日になっていますが、本年も本ブログとGA将をよろしくお願いします。 今年の目標ですが、当面は3月のUEC杯5五将棋大会と5月の世界コンピュータ将棋選手権への参加ですね。 現在の学習ルーチンが割と良い感じなので、このまま学習を継続し、後は思考時間…

Optimizerの設定、間違ってた

gasyou.hatenablog.jp 昨日はRMSPropと書きましたが、設定を見直したらRMSProp+慣性項になっていました。 …まぁ、強くなってるから良いか。今の学習が頭打ちになったら、RMSPropのみに設定変更して、も一度学習しよう。 ちなみに現在の棋力ですが、164万局…

PGLeaf Dreiの現在の構成

色々やって原型とどめ無くなってきたので、一旦整理。 勾配計算に用いるのはPGLeaf+モンテカルロ法 PGLeaf項はGPWの論文そのまま モンテカルロ項は評価値をシグモイド関数に通して予測勝率に変換し、交差エントロピーを最小化する Softmax方策+αβ探索+線…

そう言えばちゃんと書いてなかったけど、レベルアップ判定のお話

現在のGA将は自己対局500回を1エポックとして、10エポックごとにレベルアップ判定をしています。 レベルアップ判定は、現在の評価関数と「過去8代のエース評価関数」を相手に各50局、先後入れ替えて計400局実施し、勝率が55%超えたらレベルアップ、45%切っ…

Noisy Networkを応用してみたら意外と良い感じになってきた

その論文は読んでないですが概要だけ見ると https://t.co/xgorf3i1Gd https://t.co/JrAKUakySh でやってることと同じように思いました— mooopan (@mooopan) 2018年12月17日 Twitterで@mooopan氏に教えてもらった論文を参考にして、線形の評価関数にノイズを…

なんとなく、私がやりたいのは最終的にベイズ方策勾配法に落ち着く様な気がしてきた

http://papers.nips.cc/paper/2993-bayesian-policy-gradient-algorithms.pdf ただ、論文読んでも理論もアルゴリズムもサッパリ分からんw

「確率的パラメータを持つ方策関数に対する方策勾配法」読んだまとめ

ci.nii.ac.jp 概要 オープンアクセス不可の論文なんで、気になった所だけ書こうと思います。 通常の方策勾配法では、パラメータは「確定的な」ベクトルである。これを、ハイパーパラメータ*1から生成される「確率的な」ベクトルに拡張する。 つまり、の値は…

PGLeaf Drei全面的に書き直す事にした

現状 Policy Gradient Methods for Reinforcement Learning with Function Approximation まず、上記論文の関数近似器の導入は断念しました。何をどういじっても、素のPGLeaf以上の性能にはならなかったので。 やった事は大体こんな感じ。 論文の手法をその…

PGLeaf Drei Phase1完成していなかった

え~、PGLeaf Dreiですが、三目並べモードではかなり良い感じだったんですが、5五将棋モードではてんでダメでした _| ̄|○ 学習開始時*1からのレーティング上昇量が4300とかになってウハウハだったんですが、sspと対局させると勝率が3割前後。 という訳で、…

PGLeaf Drei Phase1完成

現状 素のPGLeafとの差分は以下の通りです。 関数近似の導入(参考論文はこちら) エントロピー正則化の導入(参考論文はこちら) 並列16連ガチャの導入 まず、1.の導入により、エピソード終了時の収益を計算しなくても、方策勾配の計算が可能になりました。…

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

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

キーボード逝ったーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーッ!!!

ThinkPadトラックポイントキーボードを愛用しているんですが、Ctrlキー*1が壊れましたw まぁ、xkeymacsでCtrlキーを酷使する設定にしてるから、しゃーないか。 5年前の時点で4つあったストックが、現時点では残弾1。あと2年半か3年位で次のキーボード買わな…

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

「初手の学習が上手く行かない」。これにつきます。 対称形を考慮すると初手は三通りあるんですが、学習を進めていくとこの内どれか一手しかほとんど指さなくなります。 で、これがどう困るかと言うと、先手に関しては対完全読みプレイヤーの引き分け率が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まで戻して、関数近似の部分を中心にテスト中。 …

Strategic Exploration in Object-Oriented Reinforcement Learning

http://jaywhang.com/assets/icml2018erl.pdf モデルベースでのプランニングを導入した探査手法?らしい。

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

PGLeaf Drei Phase 2ですが、探索深さによって収束したりしなかったりする現象、バグでは無さそうです(と言うか、発見出来なかった)。 ログを見ての推測ですが、探索深さを2手以外にすると引き分けになる確率が極端に減り、それによって有効に学習する機会…

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

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の導入をしたのですが、…