GA将!!!! 作ってます RSSフィード

2010/02/09

[]ISSCCレポートPC Watch 17:56

 http://pc.watch.impress.co.jp/docs/news/event/20100209_347976.html

 次期Xeon/Core i7になるWestmere 6Cの他、IBMのPOWER 7とSunのRainbow Falls等の情報があります。

 POWER 7だと8コア・32スレッドで4GHz、L3は32MBですし、Rainbow Fallsは16コア・128スレッドと、非常に景気の良い数字が並んでいます。

 まぁ、個人で買うのはどちらもほぼ不可能なんですが、見ていて楽しいのでぜひリンク先はご一読を。


[]ようやく出てきた次期Itanium Tukwila 17:56

 http://pc.watch.impress.co.jp/docs/news/20100209_347904.html

 4コア・8スレッドTurbo Boost採用の他、QPI・DDR3メモコン統合など、次期Xeon MP(Nehalem EX)と共通の特徴もあります。

 …個人的な感想は「まだ出てなかったのか」なんですが、それは言っちゃぁいけないんでしょうね、多分。


[]簡易ボナメソ実装中 20:42

 PV末端の評価値を比較して、棋譜の手の方が他より評価値を高くするだけっていう超手抜き実装。もはやボナメソって呼んでいいのか不明。

 とりあえず棋譜一つで学習して、棋譜の手の平均順位がちゃんと1に近くなっていく所までは確認済み。

 ただ、ある程度強くなってもらわないと困るので、大変なのはこれからですね。


[]棋譜一つで学習してオーバーフィッティングさせるテスト 23:02

 …が、上手く行かない。棋譜の手の平均オーダリング順位が20前後までしか向上しない…

 なんだろう、評価関数の能力不足? それとも単に学習部分のバグ? うーん…

トラックバック - http://d.hatena.ne.jp/streakeagle/20100209

2010/02/08

[]どーも上手く行かない 20:47

 ちょっと前から試しているTD法での棋譜からの学習ですが、どうにも上手く行ってないです。

 チョコチョコバグを潰して、多分ちゃんと想定した通りの動作をしているんですが、学習後のパラメータは弱いまま。

 うーん、TD法で棋譜から学習するのは見切りをつけて、そろそろボナメソを実装すべき?

 でもなぁ、棋譜からの学習も自己対戦での学習もTD法(ORその派生型)だと、構成が美しくて好みなんですが… うーん……

 もうちょっと悩んで、踏ん切りついたらボナメソの実装を始めますか。実装前にもうちょっと検討すべき事もありますし。

紫外線紫外線 2010/02/08 23:17 我の場合は50万回ほど学習させましたが...道は遠いですね。

streakeaglestreakeagle 2010/02/09 17:36 そうですね、学習してると終わりが無くて大変です。頑張りましょう。

トラックバック - http://d.hatena.ne.jp/streakeagle/20100208

2010/02/05

[]さらにバグ発見 18:31

 評価関数の差分計算関連の初期化をごそっと忘れてました。

 という訳で一晩分の結果がパー。リトライします。

かず@なのはかず@なのは 2010/02/07 10:10 初期化を忘れても収束に向かわないですか?

streakeaglestreakeagle 2010/02/07 12:45 それが、収束してくれないんですよ(泣

トラックバック - http://d.hatena.ne.jp/streakeagle/20100205

2010/02/03

[]Seleneさんのブログ 19:05

 http://d.hatena.ne.jp/SeleneShogi/20100201

 おとなり日記で気付いたのですが、選手権新規参入Seleneさんがブログを開設されたそうです。

 名前は月探査機の「かぐや」と同じみたいですね。なかなかロマンチックな名前です*1

 ソフトの作りは局面クラスが2種類あって、評価関数はボナメソで学習中らしいです。

 GPS風のテンプレート使いまくった手生成ルーチンを自力で書いたらしいので、かなりのスキルの持ち主と見ました。ガクガクブルブル


[]Core i7 970は3.2GHzの6コア? 19:11

 http://nueda.main.jp/blog/archives/004849.html

 価格は$562との事ですので、今のi7 950と同価格帯で出るみたいですね。

 時期が今年Q3と遅いのが難点ですが、私はそれを待つ事にします。


[]私がボナメソに手を出そうとしている理由 19:50

 唐突ですが、Bonanza Methodに手を出すつもりです。

 …の話の前に、まずは今後やろうとしている事から。

 やる事は「プランニング」で、要するに環境のモデルを用いた学習です。モデルというのは「エージェントの行動に対して、環境からどういう反応が返ってくるかの予測」で、将棋の場合だと「ある局面での相手の指し手の予測」になります。

 モデルがあると何が嬉しいかと言うと、標準的な棋士(OR ソフト)の反応が予測出来るので、それをベースにして学習し、どう指せば強くなるかが学習可能になります。

 今考えているのは、Bonanza相手のローカル対局なりfloodgateでの対局なりからモデルを構築し(評価関数を学習し)、それをベースに自己対戦してさらに強い評価関数を得よう、という方法です。対局相手の知識を盗む事になって、ちとずるい気もしましたが、強くなりそうならまずはやってみようと思って実行を決断しました。

 んで、そのモデルの構築ですが、まさにボナメソがその用途にピッタリ合うので、ここはひとつ使わしてもらおうかと思っています。

 これで、上手く行けば囲ったりちゃんと駒を進めて攻めたりてのが出来る様にならないかと期待…してるんですが、出来るかなぁ… なんか、ヒジョーに先行き不安です。

 一番の難点は、入集出来る棋譜の数が少なすぎる事なんですよね。Bonanzaの自己対戦の棋譜は2000しか手元に無いですし、floodgateでの自分の棋譜だともっと少ないです。

 となるとオーバーフィッティングして変な手ばっかり指す様になりそうなのが心配なんですが、まぁやってみなきゃ分かんないんでやってみます。


[]致命的なバグを修正 23:34

 昨日のバージョンには致命的なバグがあってちゃんと学習出来てなかったので、修正してリトライ

 それから、情報表示・ログ出力が不十分だったので、その辺も追加。

 棋譜はボナンザ自己対戦の2000局と、将棋倶楽部24棋譜約11万局があるので、学習用マシン・開発用マシンで別個に走らせておきます。

*1:それに引き換えGA将!!!!ときたら…いまだに読み方すら覚えてもらえない(泣

かず@なのはかず@なのは 2010/02/03 21:11 ガクブルです…。
読みは右上に書いてあるのにねぇ〜

streakeaglestreakeagle 2010/02/03 21:35 もう、一時突破無理かも…f
あんまり読んでくれないんで、右上で自己主張してみました。

mkomiyamkomiya 2010/02/04 11:34 ついにボナメソにも手を出しますか(モデル作成として)

streakeaglestreakeagle 2010/02/04 18:00 はい。と言っても、とりあえずは簡易実装で動かしてみるだけなんで、ちゃんとしたボナメソになるのはかなり先になるかと。

SeleneShogiSeleneShogi 2010/02/08 19:58 Seleneの作者です。ご挨拶頂きましてありがとうございました。
まだ公開してなかったはずが、「おとなり日記」というものがあるんですね(笑)
今後ともぜひぜひよろしくお願いします。

streakeaglestreakeagle 2010/02/08 20:41 GA将!!!!の作者です。わざわざこっちまでおこし頂き、ありがとうございます。
私も「おとなり日記」で発見されたクチだったりします(笑)
こちらこそ、よろしくお願いしますm(_,_)m

トラックバック - http://d.hatena.ne.jp/streakeagle/20100203

2010/02/02

[]棋譜からの学習を試行中 23:12

 プランニングを導入するにあたり、既存の棋譜からの学習(OR floodgate等の棋譜からの学習)と自己対戦での学習のハイブリッド構成が必要になる関係で、まずは棋譜からの学習単独でのテスト。

 旧バージョンにも棋譜を使って学習するルーチンはあったんですが、どうも挙動がおかしい*1ので、さくっと新規に書いてみました。

 やる事は単純で、棋譜の手を指す前後に探索した評価値のTD誤差を元に学習するっていう、ただそれだけです。一応、TDLeaf(λ)っぽく、PV末端局面を使って学習しています。

 使用する棋譜は、この日の為に用意していたBonanza同士の自己対戦の棋譜約2000局分があるので、それを使ってテスト。

 あんまり時間が無いので、学習用マシンではアサーション無効バージョン、開発用マシンではアサーション有効バージョンを並行して走らせます。

 明日には一応の結果がでるはずなので、そしたら軽くテストしてみます。


[]危ない危ない、パラメータのセーブを忘れてた(汗 23:37

 さっき作ったルーチン、学習をするだけして、アプリ終了まで一切セーブしていませんでした。

 流石にそれじゃぁ実用性無いので、ちゃんとセーブするようにして一段落。

*1:終局時の評価値が1.0近くになって欲しいのに、0.2位までしか上がらない

トラックバック - http://d.hatena.ne.jp/streakeagle/20100202