終末まであと何マイル? 〜そろそろ通常営業に戻ります〜 RSSフィード

2016/07/25

[][]実験用の探索ルーチンを投入します 14:03

 http://wdoor.c.u-tokyo.ac.jp/shogi/view/show-player.cgi?event=LATEST&filter=floodgate&show_self_play=1&user=Gasyou_fv.bin_FX-8350_8c

 Gasyou_fv.bin_FX-8350_8cという名前で、今日の14:00の回から放流しました。

 中身ですが、評価関数Bonanza 6.0のfv.binをそのまま使用して、それと実験用の探索ルーチンを組み合わせたモノです。

 探索パラメータに関してはまだ調整中ですので、同じID名でパラメータだけ更新する可能性はあります。

[][]思考時間のマージン調整しました 18:27

 マージン調整していないまま(残り時間一杯まで使う設定)でfloodgateに投入してしまっていたので、修正したバージョンを18:30の回から投入します。

 対局者の皆様、ご迷惑をお掛けしました。

[]久々にハマった _| ̄|○ 21:46

 現在、探索パラメータの学習ルーチンを書いている途中ですが、学習中のパラメータをファイルに書き出す際に*1エラー発生。エラーコードは13。

 別段パーミッションが変とかそういう事も無かったんで、下記のサイトを参考にエラーメッセージを表示させてみました。

 http://blogs.wankuma.com/ch3cooh/archive/2008/03/22/129144.aspx

 「別のプロセスが使ってるよ(意訳)」なんですが、特にそういうプロセスが存在する事も無く。

 環境依存かと思って、OSとかアンチウィルスソフトの異なる複数マシンで動作させるも、全部エラー。

 んで、原因。フィアルのクローズ忘れでした。

  1. プロセス起動時に"hoge.txt"を読み込む。
  2. その後、ファイルをクローズ**しない**。
  3. パラメータを"hoge.txt"に保存しようとしたタイミングでエラー発生。

 アホかと。バカかと。

 という訳で、今日は4時間ほどこれでロスしましたw

[]そう言えば、Aspiration Searchで1件バグが有りました 22:52

 バグ自体は少し前から有ったらしいんですが、今回学習ルーチンを実装して、パラメータの推移が異常だったので気が付きました。

 案外、学習させているともう1つ2つはバグが見つからないかなぁ、と期待していま。

[][]00:30の回から探索パラメータを更新します 00:26

 2時間半ほど学習させた探索パラメータにファイルを差し替えて投入します。

 ローカルでsspとテスト対局させた所、多少マシになっている感じでした。

[][]Futility Pruningにバグ発見 02:46

 1つのパラメータを2箇所で使用していた為、学習結果がおかしくなっていました。

 という訳で、学習用マシンには修正版を投入。floodgateの方はパラメータ手打ちバージョンに差し替えました。

*1:正確に書くと、ファイルオープン時に

トラックバック - http://d.hatena.ne.jp/Gasyou/20160725

2016/06/07

[][]お久しぶりです 19:30

 森岡です。一応、生きていました。

 んで、タイトル(の後ろ)に書きましたが、ポリシー、捨てようかなぁと検討中。

 今までは「プロ棋士の棋譜を使わずに学習」ってのに拘ってましたが、そこを方向転換。

 つっても、今更教師あり学習に転向したんじゃ10年分周回遅れな訳で、とてもじゃないですがロクな結果にならないと思います。

 てな訳で、「プロ棋士の棋譜から学習した、他の思考エンジンから学習」って方向に転換予定。

 具体的に言うと、強化学習(PGLeaf)使うのは今まで通りで、対局相手を他のエンジン*1に置き換えようかと考えています。

 プロセス間通信用のクラスは以前の*2を使い回せるので、難易度は低め・工数はそこそこッて感じかと思います。

*1ライブラリ登録されてるものに限定した方が良いかな?

*2http://d.hatena.ne.jp/Gasyou/20100307/1267963909

トラックバック - http://d.hatena.ne.jp/Gasyou/20160607

2016/04/01

[][]選手権はキャンセルします 19:59

 諸々の体調悪化により、選手権に出られるメドが立たなくなりましたので、キャンセルしました。

 関係者の皆様には、直前のキャンセルでご迷惑をお掛けして申し訳ありません。

 ただ、GA将の開発を辞めるわけでは無いので、また来年(OR 秋のイベント)でお会いしましょう。

usapyonusapyon 2016/04/01 20:01 ありゃぁ…仕事が多忙なのかと思っていたら…。
体調に気を付けながら、開発を続けて下さることをお願いいたします。
いつか選手権か電王戦かでお会いしましょう…。

GasyouGasyou 2016/04/01 20:17 日頃の不摂生がたたってこのザマです _| ̄|○
当分は開発辞める事は無いと思いますので、よろしくお願いします。
(体調的な)余裕があれば、うさ親さんが優勝する所だけでも見に行きたいですが…

usapyonusapyon 2016/04/01 21:32 う、圧力(プレッシャー)キタコレ!
実は私は、今年の優勝はGPSだろうと思います(苦笑)。
マシンパワーの暴力の前に屈せざるを得ない感じがしています…。

GasyouGasyou 2016/04/02 06:44 確かに、クラスタ組んだGPSのマシンパワーは凄いですからねぇ。
今年は会場が東京近郊ですし、通信ラグ的にも改善してますかね。

usapyonusapyon 2016/04/02 09:58 通信のラグも多分改善されると思いますが、フィッシャークロックへのルール改訂により、あまり時間ギリギリまで考えないで済むのが大きいのではないかなと思っています。(その結果として、時間逼迫による負けが少なくなりそうで…。)

GasyouGasyou 2016/04/03 16:26 そうですね、対局サーバとの通信遅延での決着は減りそうな感じですね。となると、運の要素が大分減って、地力の勝負、ですか。

usapyonusapyon 2016/04/03 21:46 「くじらちゃん」が帯域を圧迫しそうなので、通信遅延は起きるかも知れないですね。
まぁ、それでも運の要素はかなり減るとは思います。
また、今回はリモート参加が多いようなので、全体的に帯域の圧迫は起こってしまいそうには思います。

GasyouGasyou 2016/04/07 06:53 返信が遅くなって申し訳ありません。
帯域圧迫に関しては、気になるなら自前で回線を用意すれば回避出来ますし、そんなに問題にならないかなぁ、と思っています。
ただ、運営側で用意してくれる回線は確かに混みそうですね。

トラックバック - http://d.hatena.ne.jp/Gasyou/20160401

2016/03/15

[]AlphaGo 4勝1敗でしたか 20:36

 チョロっとニュースを眺めただけなんですが、劣勢の局面から挽回したりなんだかんだあって、見応えがあった対局みたいですね(私は囲碁はサッパリ分かりませんが)。

 んで、困った事が一つ。

 今後「強化学習でコンピュータ将棋の評価関数パラメータの調整をしています」と言っても、「フーン、どうせAlphaGoの後追いでしょ。」って言われる可能性が大になってきました。

 まぁ、別にそういう誤解を受けても良いんですがね。

 さて、それではGA将の開発に戻ります。

[]AlphaGoの学習アルゴリズムの解説記事 20:55

 http://itpro.nikkeibp.co.jp/atcl/column/14/090100053/021000126/?ST=bigdata&P=2ITProへのユーザ登録が必要です)

 「AlphaGoは自己対局からの強化学習で強くなった」と理解していたのですが、微妙に違ったみたいです。

 私が考えていたのは(&今GA将でやっているのは)「最新バージョンのパラメータ同士での対局」なんですが、「過去のバージョンのパラメータからランダムに選択した相手」と対局させたみたいですね。

 言われてみれば、それならオーバーフィッティングが解消されるかもしれませんし、そういう手もアリですね。

 という訳で、早速実装してみますが、コンピュータ将棋に応用するとなると困った問題が一つ。

 …メモリが足りません。

 評価関数1個(1バージョン)で1.5GB程なんで、過去バージョンはファイルにセーブして取っておくしか無さげですね。

[]あ、忘れてた 21:13

 アピール文書書かないと失格になってしまう…

トラックバック - http://d.hatena.ne.jp/Gasyou/20160315

2016/03/09

[]悩ましい二択 18:18

 評価関数パラメータに関しては、現在学習用マシンで走らせている最中です。

 これが収束するのはおそらく4月に入ってからなので、それまでの間に何か別の事をしようかな、と検討中。

 んで、やりたい事は「探索パラメータの学習」と決まっているのですが、選択肢が二つあってどっちにしようか悩んでます。

 一つはGA*1を使って、全幅(前向き枝刈り無し)との一致率をある程度確保しつつ高速化させる、というもの。

 もう一つは、強化学習の一手法であるPGPE*2を使って、自己対局での勝率が上がる様にパラメータ調整をする、というもの。

 「今年のGA将はGA使ってます!」と言いたい気持ちもあるし、後者の方が強くなりそうな気もするし…

 まぁ、両方やってみて強くなった方を採用、って手もありますね。

 …「両方失敗しました」になるとガックリなんで、ちゃんと検討してから実装する事にします。

トラックバック - http://d.hatena.ne.jp/Gasyou/20160309