English
AobaZero は、AlphaZero の将棋の実験の追試を行うユーザ参加型の将棋人工知能プロジェクトです。


ご興味がある方は、ぜひ参加をお願いします。Google Colabを使えばどなたでも棋譜生成が可能です。

GitHub ソース、実行ファイルはこちらです。

2021-01-11 過去50万棋譜から過去100万棋譜のサンプリングに変更しました。2835万棋譜、w3077から。
2020-12-28 weightの更新を10000棋譜から34285棋譜ごと(学習回数は32000回)に変更しました。2670万棋譜、w3022から。
2020-12-11 v1.9 先手番で相手を詰せたときに勝ち(+1)でなく負け(-1)がNNの出力として返るのを修正しました。
2020-12-06 weight_decay(正則化)を 0.0002 から 0.00004 に変更しました。2398万棋譜、w2750から。2400万棋譜に到達しますが、もうしばらく学習条件の変更をしてみたいと思います。
更新履歴


2021年1月18日 07時33分現在(30分毎に更新)
過去1時間のユーザ数 3人、 3483棋譜
過去1日間のユーザ数 12人、128510棋譜
合計 29069027 棋譜。現在のweight番号= w3099。次は0.2時間後。貢献ありがとうございます!
過去 1000棋譜の平均手数 88.7手, 先手勝率 0.562, 引分率 0.067
過去 100万棋譜の平均手数 89.5手, 先手勝率 0.553, 引分率 0.142

棋力の推移。一つ前のweightとの自己対戦を元にしたグラフです。縦軸がELO。横軸は棋譜数(単位は万)です。floodgate,vs Kristallweizen 1k,10k,50k,100k,200k,500k は右側の縦軸です。
2021-01-17 時点です。

AobaZero 1手800playout 対 Kristallweizen 1手500kノード。互角定跡集で先後入れ替え、合計800局で計測。


将棋の知識を獲得していく過程を棋譜から確認できます

ノイズを含まない自己対戦の棋譜 ページの先頭が最新のweight同士の棋譜です。

序盤の手の変遷を見ることができます。


学習用に生成された棋譜

1万棋譜追加されるごとの自己対戦の棋譜 ページの先頭が最新の棋譜です。1日おきに更新予定。

上の棋譜は自己対戦の学習中の棋譜で「序盤30手まではひどい悪手を指す」ことがあります。
また「Rootの手にノイズを加えて最善手でない手でも選びやすい」ようになっています。

序盤30手まででひどい悪手を指してる場合はコメントで確認できます。
例えば、下なら本来なら△23歩打、が最善なのですが、4/800 の確率で△31銀を指してます。
-4231GI,'800,0023FU,731,1314FU,23,5152OU,7,4231GI,4

(乱数の影響で短手数で終わる将棋があるので80手以上の棋譜から選んでいます)。


CSA選手権のアピール文書
古いデータや感想など

棋譜

現時点での強化学習で作成した棋譜です。
xz形式で圧縮されています。1つ100MBぐらいです。2週間ごとぐらいで最新版を追加します。
arch000000000000.csa.xz から arch000014300000.csa.xz まで

棋譜の
no000000000000.csa から
no000000121031.csa
まではニューラルネットワークを使わずにプログラムが乱数をPolicy,Valueに与えて800playoutで作った棋譜です。
実際にニューラルネットを使った棋譜は
no000000121032.csa
以降になります。
no000001017999.csa までは 64x15block、過去10万棋譜からのサンプリングで作った棋譜です。
no000001018000.csa からは 256x20block、過去50万棋譜からのサンプリングで作ってます。
ネットワークの重み

w000000000001.txt.xz から w000000001782.txt.xz まで
w448まではネットワークのサイズは 64 x 15 block です。w449から 256 x 20 block です。

w001  ...  64x15b,minibatch   64, 学習率 0.01,    wd 0.00005, momentum 0.9,   120000棋譜
w156  ...  64x15b,minibatch   64, 学習率 0.001,   wd 0.00005, momentum 0.9,   430000棋譜
w449  ... 256x20b,minibatch   64, 学習率 0.01,    wd 0.0002,  momentum 0.9,  1018000棋譜
w465  ... 256x20b,minibatch   64, 学習率 0.001,   wd 0.0002,  momentum 0.9,  1180000棋譜
w775  ... 256x20b,minibatch 4096, 学習率 0.02,    wd 0.0002,  momentum 0.9,  4220000棋譜
w787  ... 256x20b,minibatch  128, 学習率 0.0002,  wd 0.0002,  momentum 0.9,  4340000棋譜
w1450 ... 256x20b,minibatch  128, 学習率 0.00002, wd 0.0002,  momentum 0.9, 10980000棋譜
w2047 ... 256x20b,minibatch  128, 学習率 0.000002,wd 0.0002,  momentum 0.9, 16948000棋譜
w2750 ... 256x20b,minibatch  128, 学習率 0.000002,wd 0.00004, momentum 0.9, 23982000棋譜
w3022 ... 256x20b,minibatch  128, 学習率 0.000002,wd 0.00004, momentum 0.9, 26706447棋譜
w3077 ... 256x20b,minibatch  128, 学習率 0.000002,wd 0.00004, momentum 0.9, 28352543棋譜
 w448までは 2000棋譜ごと( 4000回学習ごと)にweightを更新。
 w449からは10000棋譜ごと(20000回学習ごと)にweightを更新。
 w787からは10000棋譜ごと(10000回学習ごと)にweightを更新。
w3022からは34285棋譜ごと(32000回学習ごと)にweightを更新。
w3077からは過去100万棋譜からサンプリング(今までは過去50万棋譜)。