tanuki- 2020-06-04 halfkp_256x2-32-32 追加学習
棋譜生成
生成ルーチン | tanuki-棋譜生成ルーチン |
評価関数 | halfkp_256x2-32-32 |
1手あたりの思考 | 思考ノード数 5万 探索途中に思考ノード数上限に達したら即座に思考を停止する |
開始局面 | foodgate上の棋譜の32手目までから1局面ランダムに選択し、その局面を開始局面とした |
生成局面数 | 1億局面生成×3セット |
生成条件 | 対局は打ち切らず詰みの局面まで学習データに出力する |
シャフル | tanuki-棋譜シャッフルルーチン |
機械学習
機械学習ルーチン | やねうら王機械学習ルーチン |
学習モデル | halfkp_256x2-32-32 |
学習手法 | SGD ミニバッチ法 |
USI_Hash | 16 |
loop | 100 |
batchsize | 1000000 |
lambda | 0.5 |
eta | 0.05 0.001・0.002・0.005・0.01・0.02・0.05・0.1・0.2・0.5・1.0の各学習率を試し、もっともロスが下がったものを採用した |
newbob_decay | 0.5 |
nn_batch_size | 1000 |
eval_save_interval | 100000000 |
loss_output_interval | 1000000 |
mirror_percentage | 50 |
eval_limit | 32000 |
weight_by_progress | 有効 学習率に(1.0-進行度)を掛けて学習させるというもの |
レーティング測定
対局相手 | tanuki-wcsc29-2019-05-06 水匠2 |
思考ノード数 | 200万ノード 3000万ノード |
全対局数 | 1000 |
同時対局数 | 48 |
ハッシュサイズ | 1024 |
開始局面 | やねうら王互換局面集24手目からランダムに選択 平手 |
実験結果
機械学習
validation lossをeta別に描画したグラフ
eta=0.050について、training lossとvalidation lossを描画したグラフ
レーティング測定結果
対tanuki-wcsc29評価関数
やねうら王互換局面集24手目から開始
1手200万ノード
13:59:07 engine1=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkp_256x2-32-32.weight_by_progress.iteration=1.eta=0.050\final
13:59:07 engine2=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\tanuki-wcsc29-2019-05-06\eval
13:59:07 対局数1000 先手勝ち497(52%) 後手勝ち442(47%) 引き分け61
13:59:07 engine1
13:59:07 勝ち501(53% R23.35) 先手勝ち273(29%) 後手勝ち228(24%)
13:59:07 宣言勝ち2 先手宣言勝ち2 後手宣言勝ち0
13:59:07 先手引き分け33 後手引き分け28
13:59:07 engine2
13:59:07 勝ち438(46%) 先手勝ち224(23%) 後手勝ち214(22%)
13:59:07 宣言勝ち5 先手宣言勝ち2 後手宣言勝ち3
13:59:07 先手引き分け28 後手引き分け33
13:59:07 501,61,438
対tanuki-wcsc29評価関数
平手局面から開始
1手200万ノード
17:04:08 engine1=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkp_256x2-32-32.weight_by_progress.iteration=1.eta=0.050\final
17:04:08 engine2=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\tanuki-wcsc29-2019-05-06\eval
17:04:08 対局数1000 先手勝ち488(50%) 後手勝ち471(49%) 引き分け41
17:04:08 engine1
17:04:08 勝ち590(61% R81.53) 先手勝ち299(31%) 後手勝ち291(30%)
17:04:08 宣言勝ち3 先手宣言勝ち0 後手宣言勝ち3
17:04:08 先手引き分け8 後手引き分け33
17:04:08 engine2
17:04:08 勝ち369(38%) 先手勝ち189(19%) 後手勝ち180(18%)
17:04:08 宣言勝ち1 先手宣言勝ち0 後手宣言勝ち1
17:04:08 先手引き分け33 後手引き分け8
17:04:08 590,41,369
対水匠2評価関数
やねうら王互換局面集24手目から開始
1手200万ノード
engine1=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkp_256x2-32-32.weight_by_progress.iteration=1.eta=0.050\final
engine2=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\suisho-wcsoc2020\eval
対局数1000 先手勝ち504(52%) 後手勝ち452(47%) 引き分け44
engine1
勝ち570(59% R67.72) 先手勝ち299(31%) 後手勝ち271(28%)
宣言勝ち2 先手宣言勝ち2 後手宣言勝ち0
先手引き分け11 後手引き分け33
engine2
勝ち386(40%) 先手勝ち205(21%) 後手勝ち181(18%)
宣言勝ち15 先手宣言勝ち5 後手宣言勝ち10
先手引き分け33 後手引き分け11
570,44,386
対水匠2評価関数
平手局面から開始
1手200万ノード
対局数1000 先手勝ち545(57%) 後手勝ち410(42%) 引き分け45
engine1
勝ち481(50% R2.55) 先手勝ち267(27%) 後手勝ち214(22%)
宣言勝ち1 先手宣言勝ち0 後手宣言勝ち1
先手引き分け23 後手引き分け22
engine2
勝ち474(49%) 先手勝ち278(29%) 後手勝ち196(20%)
宣言勝ち18 先手宣言勝ち16 後手宣言勝ち2
先手引き分け22 後手引き分け23
481,45,474
対水匠2評価関数
やねうら王互換局面集24手目から開始
1手3000万ノード
対局数100 先手勝ち43(48%) 後手勝ち46(51%) 引き分け11
engine1
勝ち54(60% R75.33) 先手勝ち28(31%) 後手勝ち26(29%)
宣言勝ち0 先手宣言勝ち0 後手宣言勝ち0
先手引き分け4 後手引き分け7
engine2
勝ち35(39%) 先手勝ち15(16%) 後手勝ち20(22%)
宣言勝ち2 先手宣言勝ち0 後手宣言勝ち2
先手引き分け7 後手引き分け4
54,11,35
対水匠2評価関数
平手局面から開始
1手3000万ノード
対局数100 先手勝ち52(52%) 後手勝ち48(48%) 引き分け0
engine1
勝ち0(0% R0.00) 先手勝ち0(0%) 後手勝ち0(0%)
宣言勝ち0 先手宣言勝ち0 後手宣言勝ち0
先手引き分け0 後手引き分け0
engine2
勝ち100(100%) 先手勝ち52(52%) 後手勝ち48(48%)
宣言勝ち0 先手宣言勝ち0 後手宣言勝ち0
先手引き分け0 後手引き分け0
0,0,100