English
「Aoba駒落ち」は、将棋の駒落ちを人間の知識なしでゼロから深層強化学習させるユーザ参加型の将棋人工知能プロジェクトです。
香落、角落、飛落、2枚落、4枚落、6枚落、平手、の7種類を同時に学習します。勝率が5割になるように下手(先手)の強さを自動調節しています。
AIは新定跡を発見、または二枚落ちの二歩突き切り、銀多伝などを再発見できるでしょうか?AobaZeroとの違いなど。


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

GitHub ソースやWindows用の実行ファイルなど。

2021-10-24 2枚落ちで▲29飛と下まで引かず▲26飛と浮き飛車にして王を左側に囲ってます。w1032,w1082万棋譜。
2021-10-23 学習率を0.00001に戻しました。また最終的な勝敗、でなく最終的な勝敗+探索勝率、の平均を学習、に変更しました。1080万棋譜、w1031から平均での学習となります。学習率は下げても効果はなさそうなので戻しました。
2021-10-23 香落ちで下手の早仕掛けに対して上手は歩の合わせから矢倉ぽい形に組むように。w1028,1078万棋譜。
2021-10-22 6枚落ちでと金、成香を4段目、5段目まで引っ張る指し方は下手のお手本なのかもしれません。w1016,1066万棋譜
更新履歴


2021年10月24日 17時12分現在(30分毎に更新)
過去1時間のユーザ数 3人、 1762棋譜
過去1日間のユーザ数 22人、 85629棋譜
合計 10891534 棋譜。現在のweight番号= w1038。次は0.8時間後。貢献ありがとうございます!
過去7000棋譜過去50万棋譜
    平均手数下手勝率引分率平均手数下手勝率引分率 ハンデELO
平手 132.3手 0.515 0.067 132.9手 0.500 0.070 26
香落ち 136.2手 0.498 0.033 135.6手 0.501 0.033 122
角落ち 135.3手 0.505 0.014 134.0手 0.499 0.019 395
飛落ち 124.5手 0.531 0.011 122.0手 0.499 0.013 436
2枚落ち 114.4手 0.488 0.006 115.4手 0.500 0.004 608
4枚落ち 102.8手 0.489 0.002 101.2手 0.502 0.003 691
6枚落ち 94.9手 0.537 0.000 96.1手 0.506 0.001 826
上手は常に後手です。ただし対局は上手(後手)から開始します。下手勝率と先手勝率は同じ意味になります。
棋力の推移。下は平手で、1手1playoutでw1を基準に自己対戦で400局(互角局面利用)対戦させた場合と、Kristallweizen(6.00)の1手20k相手に1手100playoutで400局(互角局面利用)させたときのELO変化です。Kristallweizen(6.00)の1手20kをfloodgateで2600点としています。1手100playoutなので学習用の1手800playoutより300Eloほど弱いです。初期の停滞は最初の50万棋譜が1手詰を見つけにくい棋譜であったこととw9(旧)で学習失敗して千日手が多い棋譜を作っていた影響と思われます。
2021-10-24 時点です。

Aoba駒落ち 1手100playout 対 Kristallweizen(6.00) 1手20kノード。互角局面集で先後入れ替え、合計400局で計測。


ハンデELOの推移(w213、264万棋譜まで)

ノイズなしの棋譜のサンプルです。強さの調整はありません。そのため駒落ちでは下手が勝ちやすいです。
ノイズを含まない自己対戦の棋譜

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


学習用に生成された棋譜のサンプル
重みにつき1棋譜 1日1回更新。

ランダム性のため序盤30手までは悪手を指すことがあります。また下手の強さは調整されています。
0手目のコメントが handicapR 18:159:296:347:512:599:714 で2枚落ちなら、下手は 512ELO弱くされてます。
学習初期は100ELO差で勝率0.64でなく0.55など相対的な単位になります。


学習用棋譜で出現割合が高い棋譜
150万棋譜から350万棋譜で最初の16手で一番多く出現した局面です。平手香落角落飛落2枚4枚6枚。6枚落ちは△44歩をただで取ってください、定跡になりつつあります。4枚、6枚の下手は▲17桂▲25桂からの1筋突破定跡?でしょうか。
350万棋譜から627万棋譜で最初の16手で一番多く出現した局面です。平手香落角落飛落2枚4枚6枚。平手は同じ。香落ちは一番変わって上手が三間飛車に。角落ちは上手が△22銀型の囲いに。飛落ちはほぼ同じで角交換をせまる指し方。2枚落ちは早々に▲37桂と跳ねる形は同じ。4枚落ちは▲17桂から1筋を強襲する狙いは同じ。6枚落ちも▲17桂からの強襲、と4枚落ちと同じです。

棋譜
現時点での強化学習で作成した棋譜です。
xz形式で圧縮されています。1つ60MBぐらいです。2週間ごとぐらいで最新版を追加します。
0-059 060-289 290-549 550-809 810- まで。
棋譜の
no000000000000.csa から
no000000500007.csa
まではニューラルネットワークを使わずにプログラムが乱数をPolicy,Valueに与えて800playoutで作った棋譜です。
実際にニューラルネットを使った棋譜は
no000000500008.csa
以降になります。初期は1手詰のバグ、学習失敗で重みが正しくない、などがあり、w40以降で作った棋譜(90万棋譜以降)がお勧めです。
棋譜の一括ダウンロードは山岡さん水たまりさんの解説をご覧ください。
ネットワークの重み
w001-w400 w401-w790 w790-
ネットワークのサイズは 256 x 20 block (ResNet)です。AlphaZeroと同じ構造です。
w001  ... 256x20b,minibatch  128, 学習率 0.01,     wd 0.0002,  momentum 0.9,   500000棋譜 w009 で発散。中止
w001  ... 256x20b,minibatch  128, 学習率 0.001,    wd 0.0002,  momentum 0.9,   500000棋譜
w321  ... 256x20b,minibatch  128, 学習率 0.0001,   wd 0.0002,  momentum 0.9,  3711485棋譜
w524  ... 256x20b,minibatch  128, 学習率 0.00001,  wd 0.0002,  momentum 0.9,  5738768棋譜
w745  ... 256x20b,minibatch  128, 学習率 0.00001,  wd 0.0002,  momentum 0.9,  7940000棋譜 kldgain, -kldgain が起動オプションに付いてる棋譜が対象
w744  ... 256x20b,minibatch  128, 学習率 0.00001,  wd 0.0002,  momentum 0.9,  7940001棋譜 訪問数の合計が正しくないバグのため、w745からw761まで、arch000007940000.csa.xzからarch000008100000.csa.xzまでを削除してw744、794万棋譜からやりなおしました。
w955  ... 256x20b,minibatch  128, 学習率 0.000001, wd 0.0002,  momentum 0.9, 10044983棋譜
w1031 ... 256x20b,minibatch  128, 学習率 0.00001,  wd 0.0002,  momentum 0.9, 10802622棋譜, 最終的な勝敗、でなく最終的な勝敗+探索勝率、の平均を学習、に変更