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

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

2018-01-01から1年間の記事一覧

プラン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の学習にも使…

Learning to Explore via Meta-Policy Gradient

Learning to Explore via Meta-Policy Gradient ざっと読んだ感じだと Off-Policy学習*1と組み合わせるのが前提のメタ学習アルゴリズム。 Exploration Policyと呼ぶ方策を導入し、これを方策勾配法で学習する。 通常の*2方策のパラメータ更新前後の予測報酬…

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

昨日書いた件ですが、「読みが正確になる→勝敗読み切りが早くなる→勝敗読み切り局面は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.ですが…

GA将!!!!!!!!!の選手権は終了しました&ライブラリ制度に関して思う所

先程帰宅し、GA将!!!!!!!!!の第28回世界コンピュータ将棋選手権は無事終了しました。 一昨日・昨日は非常に有意義な時間を過ごす事が出来ました。主催者並びに関係者・参加者の皆様に感謝いたします。 結果はこちらから確認出来ますが、GA将!!!!!!!!!は4勝4…

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

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

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

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

頓死が多い

sspとスパーリングすると、大抵終盤で頓死します。どうも、三駒関係+αの重みが小さ過ぎる様です。 という訳で、駒割以外をもうちょっと重視する様に設定変更して再度学習中。

VS Lesserkai(本将棋モード)

負け無しの53連勝出来ました。 という訳で、現在sspとスパーリング中。

久々の更新です

1ヶ月以上放置していましたが、生きてます。一応。 んで、コンピュータ将棋の方ですが、勾配計算ルーチンをリファクタリングして、5五将棋モードで対ssp(ハンディキャップマッチ)で勝率69.3%になりました。リファクタリング前とほぼ同等ですので、まぁ妥…

UEC杯5五将棋大会、未だ日程が未発表

これは、今年は開催無しなんでしょうかねぇ。それはちと寂しいです。

ロールバック後の対sspスパーリング(5五将棋モード・ハンディキャップマッチ)

638勝332敗で勝率65.8%。 これは、デグってた訳では無く、単に最初の勝率(69.6%)がラッキーパンチだったって可能性もありますね。 ま、とりあえずこの問題は解決済みとして、次行きましょう、次。

デグってハニー!!!

対局用ルーチンを色々弄っていたら、いつの間にか対sspの勝率が5ポイントほど減少。 原因がサッパリなんで、とりあえず過去最高の勝率を出した時のソースにロールバックして連続対局中。 これで勝率が元に戻ったら、学習ルーチンとログ出力クラスだけロール…

Dropoutを有効にすべきか…

PGLeafの改良版にDropoutを実装してみたんですが、NPSが約半減。これは痛い。 おまけに、Dropout有効だと収束までの学習回数が倍増するらしいんで、ちょっとどうしたもんかと考慮中。 先日の小規模改良の後も色々やってて、その結果がまだなんで、Dropout有…

チマチマと改良

まず、RMSPropよりMomentumSGDの方が、駒割とかの収束が速いらしい事が分かったので、そっちに変更。 それから、今までは勾配計算ルーチンに「λ収益と選択した手の評価値の自乗誤差最小化」の項があったんですが、λ収益も評価値も「勝率の近似*1」と見なせる…

棋力向上頭打ち、かなぁ…

400万局まで粘ってみるつもりでしたが、心が折れそうなんで何か改良してリトライしてみます。 パラメータの推移を見る限りでは、現行バージョンの方が素性は良さそうなんで、期待してるんですけどねぇ。

二画面スマホ「M Z-01K」のデモ機触って来ました

https://www.nttdocomo.co.jp/product/smart_phone/z01k/ 折りたたむと5インチクラスのスマホ、開くと大画面ってコンセプトのヤツです。 試みとしては中々面白いと思いますし、こういう変態モデルは大好きなんですが、個人的には購入しないでしょうねぇ。 私…

棋力順調向上中

「AlphaGo Zeroの真似をしようとしたらいつの間にやらほぼ別物になっていた学習ルーチン*1」で、2日かけて100万局の自己対局が終わったんで、途中経過をペタリ。 5五将棋モードで、対sspのハンディキャップマッチ(GA将0.17秒、ssp1秒)です。 ほぼ線形に勝…

あれ、何か治ってる

KL情報量が増大していく件、いつの間にか再現しなくなってた。 おかしいなぁ、ログ出力を少し追加して、ちょっとした実験しただけなのに… まぁでも、とりあえずちゃんと動く様になったらしいんで、学習を継続しますか。 現時点で、24時間あたり80万局ペース…

う〜ん、同じ棋譜から学習を繰り返すと正常っポイ

試しに1棋譜とか12棋譜とかを自己対局で生成して、その棋譜に含まれる局面だけを対象に探索→パラメータ修正→探索…とループさせてみたら、綺麗にKL情報量が減少していきました。 という事は、通常の自己対局で学習させた場合にKL情報量が増大する現象は、「出…

困った、交差エントロピーがバグってるっぽい

交差エントロピーがどんどん増大する現象がSGD・RMSProp共に発生したので、損失項を交差エントロピー+L2正則化にして学習させてみました。 自乗誤差が左の軸、交差エントロピーは右の軸です。 困った事に、この条件でも増大傾向です。 三目並べではこの現象…

リファクタリング完!了!!

結局交差エントロピーも実装しちゃいました。 アサーションに引っ掛からない程度にはなったんで、取り敢えず学習用マシンで学習開始。詳細なテストは明日やります、明日。 それから、何時からかは不明ですが、静止探索のPVノードでも交換値ベースの枝刈りが…