nodchipのコンピューター将棋ブログ

コンピューター将棋ソフト「tanuki-」シリーズの実験結果を掲載しています。

tanuki- 2020-09-10 HalfKPE9 1周目追加学習

tanuki- 2020-09-10 HalfKPE9

棋譜生成

生成ルーチン tanuki-棋譜生成ルーチン
評価関数 水匠2
1手あたりの思考 思考ノード数 5万 探索途中に思考ノード数上限に達したら即座に思考を停止する
開始局面 foodgate上の棋譜の32手目までから1局面ランダムに選択し、その局面を開始局面とした
生成局面数 1億局面生成×25セット
生成条件 対局は打ち切らず詰みの局面まで学習データに出力する
シャフル tanuki-棋譜シャッフルルーチン

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkpe9_256x2-32-32
学習手法 SGD ミニバッチ法
USI_Hash 16
loop 100
batchsize 1000000
lambda 0.5
eta 0.1
newbob_decay 0.5
nn_batch_size 1000
eval_save_interval 500000000
loss_output_interval 1000000
mirror_percentage 50
eval_limit 32000
weight_by_progress 有効 学習率に(1.0-進行度)を掛けて学習させるというもの
次元下げ K・P・HalfRelativeKP・左右対称
use_hash_in_training 0
初期ネットワークパラメーター https://docs.google.com/document/d/1aRL8EOR2NB70YkJ19w0Tso-nYNI3oR5uNK2kbBJPSzs/edit

レーティング測定

対局相手 水匠2
思考ノード数 300万ノード 5秒
対局数 1000
同時対局数 40
ハッシュサイズ 1024
開始局面 やねうら王互換局面集24手目からランダムに選択 平手

実験結果

機械学習

レーティング測定

対局条件 結果
対 水匠2評価関数 24手目から 1手300万ノード 1000対局 300万ノード24手目 engine1=D:\Jenkins\workspace\TanukiColiseum.2020-09-10\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkpe9_256x2-32-32.iteration=1.add.eta=0.1.lambda=0.5\final engine2=D:\Jenkins\workspace\TanukiColiseum.2020-09-10\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\suisho-wcsoc2020\eval 対局数1000 先手勝ち498(51%) 後手勝ち471(48%) 引き分け31 engine1 勝ち562(57% R56.06) 先手勝ち293(30%) 後手勝ち269(27%) 宣言勝ち1 先手宣言勝ち0 後手宣言勝ち1 先手引き分け19 後手引き分け12 engine2 勝ち407(42%) 先手勝ち205(21%) 後手勝ち202(20%) 宣言勝ち21 先手宣言勝ち16 後手宣言勝ち5 先手引き分け12 後手引き分け19 562,31,407
対 水匠2評価関数 平手から 1手300万ノード 1000対局 engine1=D:\Jenkins\workspace\TanukiColiseum.2020-09-10\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkpe9_256x2-32-32.iteration=1.add.eta=0.1.lambda=0.5\final engine2=D:\Jenkins\workspace\TanukiColiseum.2020-09-10\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\suisho-wcsoc2020\eval 対局数1000 先手勝ち536(55%) 後手勝ち432(44%) 引き分け32 engine1 勝ち542(55% R41.84) 先手勝ち289(29%) 後手勝ち253(26%) 宣言勝ち1 先手宣言勝ち0 後手宣言勝ち1 先手引き分け21 後手引き分け11 engine2 勝ち426(44%) 先手勝ち247(25%) 後手勝ち179(18%) 宣言勝ち6 先手宣言勝ち3 後手宣言勝ち3 先手引き分け11 後手引き分け21 542,32,426
対 水匠2評価関数 24手目から 1手5秒 1000対局 engine1=D:\Jenkins\workspace\TanukiColiseum.2020-09-10\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkpe9_256x2-32-32.iteration=1.add.eta=0.1.lambda=0.5\final engine2=D:\Jenkins\workspace\TanukiColiseum.2020-09-10\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\suisho-wcsoc2020\eval 対局数1000 先手勝ち523(53%) 後手勝ち450(46%) 引き分け27 engine1 勝ち494(50% R5.36) 先手勝ち269(27%) 後手勝ち225(23%) 宣言勝ち2 先手宣言勝ち2 後手宣言勝ち0 先手引き分け13 後手引き分け14 engine2 勝ち479(49%) 先手勝ち254(26%) 後手勝ち225(23%) 宣言勝ち16 先手宣言勝ち8 後手宣言勝ち8 先手引き分け14 後手引き分け13 494,27,479
対 水匠2評価関数 平手から 1手5秒 1000対局 engine1=D:\Jenkins\workspace\TanukiColiseum.2020-09-10\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkpe9_256x2-32-32.iteration=1.add.eta=0.1.lambda=0.5\final engine2=D:\Jenkins\workspace\TanukiColiseum.2020-09-10\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\suisho-wcsoc2020\eval 対局数1000 先手勝ち506(52%) 後手勝ち465(47%) 引き分け29 engine1 勝ち470(48% R-11.10) 先手勝ち240(24%) 後手勝ち230(23%) 宣言勝ち3 先手宣言勝ち3 後手宣言勝ち0 先手引き分け16 後手引き分け13 engine2 勝ち501(51%) 先手勝ち266(27%) 後手勝ち235(24%) 宣言勝ち23 先手宣言勝ち13 後手宣言勝ち10 先手引き分け13 後手引き分け16 470,29,501