2008-01-01から1年間の記事一覧
細々した予備実験が終わったら、いよいよ本将棋の学習です。 で、対局数さえ増やせられればある程度上手く行くんじゃないかと思うので、当面は高速化を中心にやってきます。 正月休み中には時間がかかりそうな探索・ハッシュまわりの実装をして、それから並…
今日までのデータで学習率を大体どの位にすればいいかは分かったんで、今度は温度を変化させてのテスト。 評価項目が多めなので、多分年をまたぐ事になると思います。 それから、数日前に書いた割引率(γ)を0.9→0.75に変更した件ですが、どうやら有効だった…
評価項目に余分なものを追加した場合のテストの為に、学習率の調整用プログラムも並行して走らせています。 といっても、まだ4プロセスしか動いてない訳で、学習用マシン(Core i7なので最大8並列)が遊んでる感じです。 …やっぱ、早いうちに並列化しないと…
線形・非線型の場合の比較用のデータが欲しいので、そのためにちょっと修正してテスト中。 今は先後非対称の絶対位置評価のみで、明日には実行完了の予定。それが終わったら余分な評価項目を追加してからもう一度テスト。年内に出来るのはこの辺まででしょう…
どうも非線形にすると収束が遅くなるみたいなので、その辺の調整。例によって王手将棋でテストしてます。 んで、最短手数での勝ちを見つける為に、割引率(γ)を0.9に設定していたのですが、これを0.75に変えてテスト中。 ひょっとしたら、評価値が1.0に近付…
学習率が大体決まったので、今度は温度の設定をもう一度やり直し。その後は王手将棋で先後入れ替えて、ちゃんと後手必勝になるかのテストの予定。 んで、評価関数を非線形にするのはこの論文のやり方を真似して、シグモイド関数を使ってやってます。 非線形…
http://www.computer-shogi.org/wcsc19/ 今回はなんとしても参加するつもりですが、申し込みはもうちょっと後で。 せめて、学習が上手く行きそうな状況になってから申し込みたいですしね。
一応、ちゃんと動いてるみたいです。多分。 んで、学習率の値をどうすればいいのかイマイチ分からないんで、学習率だけ変化させた場合の収束速度の変化を調べてみます。 あ、例によって王手将棋・後手はテスト用ルーチンで。
なんですが、ビミョーに上手くいってる様なそうでないよーな。 よく分かんないんで、もうちょっと時間かけて考えてみます。
リバーシでの予備実験 TDLeaf(λ)実装。 TDLeaf(λ)を方策オフに修正。 将棋の学習関連 TDLeaf(λ)エージェントを再実装。 方策をエージェントから独立させる。 学習中の各種統計情報の収集・表示ルーチン実装。 std::vectorあたりを勉強しとくこと。 王手将棋…
基本的に設定変更とデータ採取の繰り返しでした。 まず、不要な評価項目があっても、ある程度時間をかければ学習に成功します。 ただ、場合によっては通常の10倍以上の時間がかかるケースもあるので、不要な項目は可能な限り無くした方が良いでしょう。(実…
これも王手将棋でテストしてみます。 …ざっと動かした感じでは、ソフトマックスより劣る感じでしたので、望み薄ですが。
王手将棋で方策はソフトマックス、評価関数は先後非対称の絶対位置評価のみって条件だと、ソフトマックスの温度次第ではちゃんと収束する様です。 ただ、方策をεグリーディーにしたり、評価関数で駒割とか先後対称の絶対位置評価とかの(今の対局条件では)…
メモリリークして落ちてたんで、修正してリトライ。 また一晩かかりますよ orz
後手は1筋の駒から順に動かすルーチン(テスト用)にして、先手が3手で勝つ手順を見つけれるかどうかのテストです。 方策はソフトマックスで、温度を小刻みに変えながら収束するまでの対局数の変化をチェックします。 収束の判定は、終了までの手数の10局移…
http://pc.watch.impress.co.jp/docs/2008/1217/kaigai481.htm 「最初のLarrabeeはXringを持たない」と書かれているので、コアの数は16以下になる予定みたいですね。 (1つのリングバスには16以下のコアしか接続出来なくて、それよりコア数が多い場合は複数…
コンピュータ将棋用のソースに、リバーシと同じ修正をしました。 んで、評価関数が先後非対称の絶対位置評価のみ(王手将棋用に適当に作ったやつ)でも、それに二駒の相対位置関係評価を追加した場合でも、どちらもちゃんと収束しました。 ただ、やっぱり余…
http://blog1.fc2.com/micmac/?no=66 拡張子mbx・メールボックス形式・改行UNIX MBOXでエクスポートして、ThunderbirdからはEudoraと見なしてインポート。
今まではYahoo!メールをEdMaxフリー版で受信してたんですが、GmailをThunderbirdで受信に変更しようと考えて、細々と設定しています。 んで、表題のやり方をメモ。つっても、適当にググってその通りにしただけですが。 POPFileでSSL接続を有効にする http://…
開発中にタバコを我慢するのはつらいですね。 今まではちょっとした実験中に一服してたんですけど、その時間が手持ちぶさたになってヒマです。
リバーシでの実験だけですが、ちゃんと方策オフに修正出来たと思います。多分。 前にも書いたと思うのですが、エージェント自身がグリーディーな行動をしたか*1だけではなくて、対局相手がグリーディーな行動をしたかを考慮するのが必要でした。 後は方策の…
森北出版の「強化学習」を読んでたら、Q学習の事をちと誤解していたところを発見。 これは、もう一度リバーシに戻ってテストし直した方がいいかもしれません。
http://www.forest.impress.co.jp/article/2008/12/12/seticuda.html インストールしてみたものの、メッセージに「CUDA device found」と表示される以外には、特に変わった事は無いです。 まぁ、面白そうなんでとりあえず動かしてみます。
昨日寝る前に1万局の学習を走らせておいたんですが、評価値の範囲が-1.0〜+1.0になるはずなのに、2.0を超える値に収束したりしてます。 昨夜走らせていたバージョンはログ出力の設定を間違えていたので、設定変更&ログファイルに出力する値を少し変えてもう…
http://www.watch.impress.co.jp/akiba/hotline/20081213/etc_abee.html パッと見は普通のミドルタワーですから、選手権の会場で偽装するにはもってこいですね。
http://pc.watch.impress.co.jp/docs/2008/1211/amd.htm 予定通りATI Streamがサポートされるそうです。
void setEvaluator( Evaluator *const Evaluator ) { // 引数名が大文字で始まって this->evaluator = evaluator; // ここでフィールドに引数を代入してるつもり } 引数名の大文字小文字くらいはちゃんと書こうよ…# でもさー、こういうケースはコンパイラが…
http://pc.watch.impress.co.jp/docs/2008/1210/nvidia.htm とりあえず安心。それから、DirectX 11 Compute ShaderもCUDAのランタイム(?)上で動かすみたいですね。
といっても、まだホントに「動いただけ」ですが。 さて、それじゃぁ明日は色々設定変えてテストしてみますか。
明日もう一度目視でチェックして、それから動作確認ですね。 とりあえずは王手将棋でテストするので、探索関連はまだ組み込んでないです。