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

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

ちょっとだけ進展有った

学習方策と挙動方策を分けて学習するのは失敗しましたが、REINFORCEベースのPGLeafにエントロピー正則化をかけると割と良い感じでした。 んで、単一エージェントだと一旦大きなマイナスが付いちゃったパラメータは、その後挽回する機会がなかなか無く、ズル…

う~ん、困った

基本に戻って三目並べモードで色々実験中。 んで、分かった事。 PGQとNoisyNet*1風のノイズ加算は何か不安定になる。むしろ、ベースはREINFORCEのままで、これにNoisyNet風の処理を付け加えた方が良いらしい。 後、エントロピー正則化は結構効果があるけど、…

今年の世界コンピュータ将棋選手権は参加見送ります

当面は5五将棋の方に注力したいので、選手権は参加見送り。秋のGPW杯コンピュータ5五将棋大会に向けて頑張ります! それから、学習ルーチンの分散コンピューティング化ですが、完全に暗礁に乗り上げちゃいました。困りました…

障壁が固い…(分散コンピューティング化、続報)

クライアント側は大体実装完了して、さ~サーバとの通信・データ転送周りを作るぞーーー!! と思ってたんですが、技術的・セキュリティ的な大問題が発生・・・ まず検討したのが自宅サーバを公開して、クライアント側と直にやり取りする方法。ただ、公開す…

スターライトブレイカー カウントダウン中

まず、クライアントGUI(Javaで作成)から学習エンジン(C++)を起動して、基本的な情報のやり取り(Exeのバージョン情報をJava側に通知して、Javaからプロセス終了指示を出す)所までは出来ました。 …エンジン側のstderrを読み飛ばす処理忘れてて、「何故か…

まだちゃんと書いてなかったので、今年の大会参加予定

3月のUEC杯と5月のWCSC30は参加見送って、秋にあるはずのGPW杯コンピュータ5五将棋大会を目標に開発中です。 昨年のUEC杯後にも書きましたが、棋力向上は評価関数の精度向上と探索ルーチンの改良の二本柱で行く予定。 評価関数の方は、現在進行中の分散コン…

学習ルーチンの分散コンピューティング化に必要な事

サーバ・クライアントのプログラムの修正・実装 サーバ(Java:通信周りを実装) サーバ(C++:パラメータ更新周りを修正) クライアント(Java:GUIと通信周りを実装) クライアント(C++:自己対局&勾配計算周りを修正) ランキングのデータ集計&HTML化…

「強くてニューゲーム」の可能性を検証してみた@コンピュータ将棋界

現在のコンピュータ将棋開発の知識を持って20年前(2000年)または30年前(1990年)の世界に降り立ったとすると、どのくらいの強さのプログラムが作れるのでしょうか。当時最強だったものと比べての差はどうでしょうか>専門家の皆様(リプでなくても、どこ…

学習ルーチンの分散コンピューティング化を検討中

GA将?の学習ルーチンは、ミニバッチサイズ(1回のパラメータ更新に使用する、自己対局の棋譜の数)を大きくすると、学習が安定する傾向があります。 ただ、私のPC(Core i7 5960X)では、マシンパワーの関係上ミニバッチサイズは500~1000程度が限界です。 …

ログの可視化ツールを大幅アップデート

qiita.com 上記サイトを参考に、ログファイルの更新を監視してグラフ作成&Webサイトにアップロードする様にしてみました。(更新ごとだと10秒に1回とかになっちゃうんで、前回処理から一定時間以上は待つ作りになっています。) qiita.com それから、ログフ…

方策πのエントロピーにもとづく内発的報酬

が、もうちょっとで定式化出来そうな気がする。 動機 自己対局を通じた、コンピュータ将棋/コンピュータ5五将棋の評価関数の強化学習において、より良い報酬を設計したい。 大雑把な考え方 方策πのエントロピーが、行動選択の前後でどう変化したかをベース…

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

新年ももう2日になってしまいましたが、今年もよろしくおねがいします。 昨年を振り返ると、3月のUEC杯5五将棋大会で準優勝したのがピークで、以降はGA将の開発はほぼ進展無しでした。 昨年末に一つちょっとしたアイデアを思い付いて、現在は三目並べモード…

GAN、お勉強中

詳説ディープラーニング: 生成モデル編作者: 巣籠悠輔発売日: 2019/04/19メディア: Kindle版この商品を含むブログを見る とりあえずこの本買って、コードを写経してみました。 んで、1Epochと100Epochで生成される画像の質にどの程度差が出るのか検証。こう…

今更GANなるものに手を出そうとしています

qiita.com こういうのをチョット弄って、Generatorが学習初期局面を生成し、そこからPGLeaf等で自己対局・強化学習する感じで検討中。 Generatorの出力は「本将棋や5五将棋で有り得そうな局面」にすると何の意味もないので*1、Discriminatorに相当する自己対…

2in1の存在意義がよくわからん

例えばこんなの。www.lenovo.com キーボード欲しいならノートPCで良くない? タッチスクリーン搭載モデルもあるし。 キーボード不要ならタブレットで良くない? 軽いし。 なんてーか、凄く中途半端感があって、いまいちどういう層が購入しているのか分からん…

PGLeaf Vier再実装中

まず、学習方策と挙動方策を分けて、学習方策の方は重点サンプリングを用いてOff-Policyで学習する様にした。 挙動方策の報酬は「基本報酬は勝敗に応じて+1/-1/0」「サブ報酬として対局中の予測勝率と実際の勝敗に応じたボーナス」としてみた。 サブ報酬の方…

探査自体を強化学習問題として解く論文(多分)

強化学習による探索行動の学習 強化学習における探査*1を、ε-GreedyやSoftmaxの様な乱数を用いる手法ではなく、過去の経験・知識をもとに実現した論文(だと思う)。 論文ではグリッドワールドや迷路を題材にし、意図した通りの結果が実験的に得られたと書か…

PGLeaf Vierはひとまず白紙撤回

Replay Buffer使うとなんか学習が不安定になるし、私は無理してReplay Buffer使いたい訳ではないので、プラン再考中。 んで、今後どうするかなぁ… とりあえず「自己対局時のランダム性が不足しているらしい」というのは分かってるんで、そこを何とかしないと…

PGLeaf Vier開発開始

medium.com Experience Replayを使いたかったので、上記のサイトを参考に実装。 現時点での構成は「REINFORCEベースのPGLeaf+Experience Replay+重点サンプリング」ですが、最終的にはもっと色々拡張する予定。強化学習 (機械学習プロフェッショナルシリー…

Learning Efficient and Effective Exploration Policies with Counterfactual Meta Policy

https://arxiv.org/pdf/1905.11583.pdf とりあえず読んで、応用出来そうならやってみます。

5五将棋用連続対局サーバの機能追加、ほぼ完了

えー、まず以前の記事の訂正から。 「Winboard」がShokidoki/Limaの使用しているプロトコル名だと思ってましたが、正式には「xboard」みたいです。もともとUNIX用のXBoardというチェスのGUIがあって、それが使用していたプロトコルが「xboard」。で、XBoard…

VS Fairy-Stockfish勝率

Ryzen 5 2400G搭載マシンでGA将と対局させた結果、勝率はこっちから見て15%前後でした。 という事は、UEC杯で2局指して少なくとも1局勝つ確率は28%前後あった訳で… その28%を本番で引いてりゃUEC杯初優勝だったのに…… まぁ、終わった事なんでそれはこっち…

5五将棋用連続対局サーバの改良中

今まではGA将対ssp専用で実装していたのを、Winboardプロトコルのエンジン含む複数エンジン相手に対局可能な様にしようとしています。 んで、現在はFairy-Stockfish3つ相手に対局してログ出力出来る様にまではなりました。 後はWinboardプロトコルのエンジン…

多数決合議用の、複数の評価関数パラメータセットの学習

久々の更新ですが、ちょっとだけ進展有りました。 まず、以前から何回かトライしていた「複数の評価関数を生成し、それらのリーグ戦の結果から強化学習する」という手法ですが、ようやく成功したみたいです。 以前は学習結果の各パラメータの平均値をファイ…

「Combining policy gradient and Q-learning」を読んで、実装する為に最低限必要な知識をまとめてみた。

arxiv.org 前提 二人零和有限確定完全情報ゲームで、自己対局の結果からPGQ(論文の提案アルゴリズム)を用いて評価関数パラメータの学習を行う事を目的とします。 報酬は「勝ち:+1、引き分け:0、負け:-1」と設定し、終局後に報酬を与えるものとします。 …

まだまだ迷走中…

Factorization Machineを使用した疑似四駒関係は結局上手く行きませんでした。 という訳で、PPT+αで何とか強くしようと色々いじってます。 とりあえず、今までは割引率γを1に設定していましたが、これだとチョットぬるい手を指す事があるので、γ=0.99で学習…

迷走中…

三駒関係だと収束まで時間がかかりすぎるので無理だと判断して、ひまわりさん方式の学習も私には無理で、かと言って二駒関係では伸び代が少ないし… という訳で、お手軽に出来る二駒関係+全幅2手での学習を開始。とりあえず、これで強くなってくれれば嬉しい…

いい感じいい感じ

昨夜から18時間ほど学習させたパラメータでsspと連続対局中ですが、現時点で53勝16敗、勝率76.8%。どうも、前回学習時の最終的な勝率と並びそうな感じです。 コード自体は前と同じで、RMSPropのαとノイズの標準偏差初期値をちょっといじっただけなんですが…

やっぱり二駒関係で行く事にした

以前の二駒関係の評価値を見てみると、位置評価etcの評価値が大きすぎる気がしたので*1、その辺のメタパラメータとかを調整して再度学習用マシンに投入。 それから、山本一将@ひまわりさん方式の教師あり方策勾配法も試してみたけど、こっちは私には使いこ…

ついカッとなってやった。後悔はしていない。

二駒関係の学習を打ち切って、三駒関係の学習開始。色々コードをいじったんで、デグレしていないのを確認する為に、現在は5五将棋モードで学習中。 …したら、二駒関係のパラメータ、強くなっていました。 まぁ、選手権で使うパラメータが確保出来たと思って…