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


GPWでAoba駒落ちの発表をしました(2021/11/14)。
GPWで発表した論文スライド資料です。スライドで紹介している棋譜は平手香落ち角落ち飛落ち2枚落ち4枚落ち6枚落ち

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

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

2021-12-04 v26。重みw1250を付属したリリースを公開しました。
2021-12-04 学習を終了しました。1300万棋譜を作成して香落ちでは相振り、角落ちでは下手が陽動三間飛車、2枚落ちは銀多伝に似た新型、4枚、6枚では囲わない、など面白い発見がありました。詳しくは論文などをご覧ください。w1250が最後の重みです。ありがとうございました!
2021-12-03 2枚落ちで上手が初手から△94歩△95歩と9筋に2手かけてます。今まで初手は△62銀で3手目から端歩でした。相手の出方を待つ方がいい、ということなのでしょうか。w1214,w1264万棋譜。
2021-12-01 香落ちで珍しく相金無双に。金無双は壁銀だし悪形と思ってたのですが相振ではやはり有力な囲いのようです。w1231,1281万棋譜。
2021-11-18 学習率を0.000001に再度10分の1にしました。あと50万棋譜ほど作成して終了したいと思います。1219万棋譜、w1170から新しい学習率となります。温度1.3は -12 ELOの効果、とやや弱くなる結果でした。小さくて微妙ですが(過去50万棋譜のweight、10個の平均で比較)。
更新履歴


2021年12月4日 16時49分現在(30分毎に更新)
過去1時間のユーザ数 3人、 1873棋譜
過去1日間のユーザ数 21人、 46540棋譜
合計 13002907 棋譜。現在のweight番号= w1250。次は5.3時間後。貢献ありがとうございます!
過去7000棋譜過去50万棋譜
    平均手数下手勝率引分率平均手数下手勝率引分率 ハンデELO
平手 115.1手 0.480 0.027 113.2手 0.498 0.028 32
香落ち 113.2手 0.501 0.020 114.6手 0.499 0.019 135
角落ち 124.7手 0.493 0.013 124.0手 0.501 0.013 387
飛落ち 103.8手 0.492 0.009 107.8手 0.500 0.008 443
2枚落ち 107.7手 0.484 0.002 107.5手 0.500 0.003 635
4枚落ち 84.3手 0.527 0.000 88.8手 0.500 0.001 744
6枚落ち 88.0手 0.496 0.000 87.9手 0.500 0.001 882
上手は常に後手です。ただし対局は上手(後手)から開始します。下手勝率と先手勝率は同じ意味になります。
棋力の推移。下は平手で、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-12-04 時点です。

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


ハンデELOの推移(980万棋譜まで)

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

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


学習用に生成された棋譜のサンプル
重みにつき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-1079 1080-まで。
棋譜の
no000000000000.csa から
no000000500007.csa
まではニューラルネットワークを使わずにプログラムが乱数をPolicy,Valueに与えて800playoutで作った棋譜です。
実際にニューラルネットを使った棋譜は
no000000500008.csa
以降になります。初期は1手詰のバグ、学習失敗で重みが正しくない、などがあり、w40以降で作った棋譜(90万棋譜以降)がお勧めです。
棋譜の一括ダウンロードは山岡さん水たまりさんの解説をご覧ください。
ネットワークの重み
w001-w400 w401-w790 w790-w1179 w1180-
ネットワークのサイズは 256 x 20 block (ResNet)です。AlphaZeroと同じ構造です。
w001  ... 学習率 0.01,       500000棋譜 w009 で発散。中止
w001  ... 学習率 0.001,      500000棋譜
w321  ... 学習率 0.0001,    3711485棋譜
w524  ... 学習率 0.00001,   5738768棋譜
w745  ... 学習率 0.00001,   7940000棋譜 kldgain, -kldgain が起動オプションに付いてる棋譜が対象。+26 ELOの効果
w744  ... 学習率 0.00001,   7940001棋譜 訪問数の合計が正しくないバグのため、w745からw761まで(arch7940000.csa.xz - 8100000)を削除してw744、794万棋譜からやりなおしました。
w955  ... 学習率 0.000001, 10044983棋譜
w1031 ... 学習率 0.00001,  10802622棋譜 最終的な勝敗、でなく最終的な勝敗+探索勝率、の平均を学習、に変更。+20 ELOの効果。
w1091 ... 学習率 0.00001,  11406228棋譜 温度を1.0から1.3に変更。すべての手合いで。-12 ELOの効果。50万棋譜の10個のweightの平均での比較。
w1170 ... 学習率 0.000001, 12192627棋譜
256x20b, minibatch  128, wd 0.0002,  momentum 0.9 はすべて同一です。