2015-01-01から1年間の記事一覧
現在のGA将は8クライアントの合議ですが、スレッドとしては合議サーバが1スレッド・合議クライアントが計8スレッド走っています。 んで、Core i7 5960X*1マシンでは問題なく思考時間制御が出来ているんですが、Athlon 5350*2マシンだと時々ラグが出る(思考…
色々な持ち時間・対局相手で一晩ローカル対局した結果、バグで落ちる事は無くなりました。 という訳で、18:30の回から放流します。 …レーティング付くまで、ちゃんと動くかなぁ。
合議が動き出しはしたのですが、まだまだバグ持ちなのでデバッグ中。 んで、今日も2件ほど潰しました、ここに書くのがはばかられるほどアホらしいのを2つ。 さて、んじゃ寝ます。
まず、タイマーのバグだと思ってたのはそうではありませんでした。あと、OS依存の問題でも無さそうです(多分)。 最初に原因を書くと、詰将棋ルーチン用スレッド*1にアフィニティマスクを設定していたのが原因でした。 元々、詰将棋ルーチンは「マルチスレ…
Dropoutを用いた多数決合議を実装したバージョンでの結果。 959-0-41で勝率95.9%、95%信頼区間は94.5〜97.0になりました。 同じマシン*1・同じ評価関数パラメータで並列探索バージョンだと844-0-154で勝率84.6%でしたので、確実に*2強くなっているみたい…
まだバグ持ちみたいで、対局者の皆様、ご迷惑をお掛けしました。 という訳で、一旦放流はやめてローカルでテストしてみます。 …てか、勝ちを読み切った時に(むちゃくちゃシビアな)タイミング依存の問題が有るってのは、早めに見つかって良かったかも。本番…
なんか、原因不明のバグが有ってWindows 10マシンでは思考時間制御にバグが有る*1ので、開発用のWin 7マシンで。 ザックリ調べた結果、Core i7 5960XなWin 10マシンとAthlon 5350のWin 10マシンはNGで、Core i7 4930KのWin 7マシンはOKでした。 まだOS依存の…
5五将棋用のデータが出揃って集計してみました。 んで、どうも3段階の制御だと無駄が多そうなので、ちょっと修正します。 まず、2段階目終了時点で、得票数の差が1票以下なら思考時間延長時に50〜40%程度の割合で指し手が変化します。2票〜4票程度の差でも2…
608-0-28で勝率95.6%、95%信頼区間は93.7〜97.1。イイ感じです。 とりあえずこのまま1000局まで続行させてみます。
さっき開始したばかりなので対局数少ないですが、現在21勝2敗。良いペースです。 この調子で、勝率9割行ってくれると嬉しいなぁ。
探索ルーチンから合議サーバに最善手更新を通知するロジックに漏れがあって、正常に動いていませんでした。 んで、修正したんで対局は出来る様になったんですが、問題は思考時間制御の基礎データ。 こっちにも影響があるんで、データ取り直しです _| ̄|○ と…
25回選手権時の無明戦の痛恨の千日手、ようやく原因が判明しました。 原因としては単純で、詰将棋ルーチン内部での千日手の扱いが不正だったのが理由でした。 修正して軽くテストした感じ、ちゃんと動いています。 …さて、後は合議の方をちゃんと動く様にし…
まず、思考時間制御のルーチンは完成。みっちりテストしたんで多分大丈夫。 一応、秒読み有り(電王トーナメント用)・切れ負け(UEC杯5五将棋大会用)・フィッシャークロックルール(GPW杯用)の3通りに対応した、ハズ。 んで、前も書いた様に思考時間は3段…
本当はαβ探索をリファクタリングしてからやりたかったんですが、そっちは失敗したんで第25回選手権バージョンの探索ルーチンを使う事にして改良開始。 んで、今日は合議の票数ベースの思考時間制御の為のデータを収集するコードを書いて終了。 遅くとも明日…
色々試してみたんですが、5五将棋では上手く行きませんでした。 んで、学習ルーチンの改良は後回しにして、電王トーナメント&UEC杯5五将棋大会に向けて準備中。 多数決合議で対局するルーチンをちゃんと実装して、合議の票数ベースで思考時間制御をする所ま…
開発日記を書くのも久々ですが、とりあえず現状。 合議の方の乱数のパラメータ調整ですが、正規乱数をパラメータに足すよりも、Dropoutで1割程度のパラメータを強制的に0にした方が強くなる様です。 という訳で、電王トーナメント・UEC杯5五将棋大会にはDrop…
http://dspace.mit.edu/bitstream/handle/1721.1/6076/AIM-2001-003.pdf?sequence=2
http://jmlr.org/proceedings/papers/v32/silver14.pdf
電王トーナメントの使用マシンが確定したので、Windows 8.1 ProからWindows 10 Proにアップグレードしました。 今ん所無事動いています。つっても、コマンドプロンプトとGA将の学習ルーチン、タスクマネージャしか動かしてないですが。 あ〜、でも、コマンド…
例によって自分用のメモなんで、大概イミフだと思いますがご了承下さい。 まず、USIを使っての連続対局で「初手のみランダム」と「p=0.2でDropout」を対局させた結果*1。 Dropout側から見て376勝352敗なので、勝率にはほぼ差が無し。終局図の重複割合は2%程…
さー、これで後戻り出来ないぞ〜。
http://info.nicovideo.jp/denou/tournament2015/ エントリー受付中ですが、私はしばらく様子見。 理由の一つはUEC杯5五将棋大会と日程がかぶっている事、もう一つは選手権以降棋力アップが全く出来ていない事です。 とりあえず、早々に5五将棋の学習を成功…
PGLeaf単体では行き詰まり気味なので、合議用に複数の評価関数を同時並行して学習するルーチンを引っ張り出してきて学習開始。 んで、以前は評価項目ごとにOn/Offを切り替えて複数の評価関数を作成していましたが、それを変更。 今度は、評価項目ごとの重み…
してみました。 とりあえず一晩走らせてみて、効果がある様なら採用します。 んで、powの計算がやったら重かったので高速化するコードを探して真似てみたりとか。なんか、そっちの方が時間かかってました。
http://qiita.com/skitaoka/items/e6afbe238cd69c899b2a 上記サイトを参考に勉強していますが、ようやくAdaGradとRMSPropの違いが理解出来ました。 大雑把に書くと、AdaGradは「勾配の累積が大→学習率小」なので、「学習初期に大きく値を動かしたパラメータ…
教師ありの方策勾配法で、特定の評価項目*1を無効にした場合の学習の成否を確認してみました。 んで、結果として「大駒の自由度」と「二駒の相対位置」を無効にした場合にそこそこちゃんとした結果になりました。 逆に言うと、上の2つのどこかにバグが有る可…
PGLeafのテストも行き詰まりがちなのと、もうすぐ盆休みでまとまった時間が取れそうなので、デッカイ改良を検討中。 んで、表題のメタ学習。 一般的に、学習ルーチンの挙動を決めるパラメータを「メタパラメータ」とか「ハイパーパラメータ」と呼びます。例…
コンピュータ将棋の方でネタがないのでPC関連の話でも。 という訳で、表題の通りWindows 10にアップグレードしました。 つっても、いきなり開発用マシンとか学習用マシンをアップグレードするのはリスキーなので、万一の時一番影響の無いfloodgate常駐用マシ…
試しにP=0.5でDropoutを実装してみました。 んで、駒の価値が急に減少する事は無くなったので、ある程度の効果はありました。 ただ、駒の価値が金<龍<馬になっていたり、棋譜との一致率が微妙に下がったりという状況です。 試しにLesserkaiと対局させると…
とりあえず、学習用棋譜約5万局から、20局分は汎化誤差検証用に取り出して学習する様に修正。読み通り過学習なら、汎化誤差はどっかのタイミングで大きくなっていくはずです。 んで、現在バグの再現&状況検証中なんですが、ひたすら時間かかってます。 …こ…