tanuki- 2020-08-15 use_hash_in_training
棋譜生成
生成ルーチン | tanuki-棋譜生成ルーチン |
評価関数 | halfkp_256x2-32-32 |
1手あたりの思考 | 思考ノード数 5万 探索途中に思考ノード数上限に達したら即座に思考を停止する |
開始局面 | foodgate上の棋譜の32手目までから1局面ランダムに選択し、その局面を開始局面とした |
生成局面数 | 1億局面生成×25セット |
生成条件 | 対局は打ち切らず詰みの局面まで学習データに出力する |
シャフル | 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-進行度)を掛けて学習させるというもの |
次元下げ | K・P・HalfRelativeKP・左右対称 |
use_hash_in_training | 0/1 |
レーティング測定
対局相手 | 水匠2 |
思考ノード数 | 300万ノード |
対局数 | 1000 |
同時対局数 | 48 |
ハッシュサイズ | 1024 |
開始局面 | やねうら王互換局面集24手目からランダムに選択 平手 |
実験結果
機械学習
validation loss
move_accuracy
レーティング測定結果
対 水匠2評価関数
平手局面から開始
1手300万ノード
1000対局
use_hash_in_training=1
engine1=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkp_256x2-32-32.use_hash_in_training=1\final
engine2=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\suisho-wcsoc2020\eval
対局数1000 先手勝ち548(59%) 後手勝ち368(40%) 引き分け84
engine1
勝ち415(45% R-32.72) 先手勝ち255(27%) 後手勝ち160(17%)
宣言勝ち1 先手宣言勝ち1 後手宣言勝ち0
先手引き分け29 後手引き分け55
engine2
勝ち501(54%) 先手勝ち293(31%) 後手勝ち208(22%)
宣言勝ち59 先手宣言勝ち16 後手宣言勝ち43
先手引き分け55 後手引き分け29
415,84,501
対 水匠2評価関数
平手局面から開始
1手300万ノード
1000対局
use_hash_in_training=0
engine1=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkp_256x2-32-32.use_hash_in_training=0\final
engine2=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\suisho-wcsoc2020\eval
対局数1000 先手勝ち560(58%) 後手勝ち402(41%) 引き分け38
engine1
勝ち527(54% R33.33) 先手勝ち299(31%) 後手勝ち228(23%)
宣言勝ち0 先手宣言勝ち0 後手宣言勝ち0
先手引き分け14 後手引き分け24
engine2
勝ち435(45%) 先手勝ち261(27%) 後手勝ち174(18%)
宣言勝ち22 先手宣言勝ち9 後手宣言勝ち13
先手引き分け24 後手引き分け14
527,38,435
対 水匠2評価関数
やねうら王互換局面集24手目からランダムに選択
1手300万ノード
1000対局
use_hash_in_training=0
engine1=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkp_256x2-32-32.use_hash_in_training=0\final
engine2=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\suisho-wcsoc2020\eval
対局数1000 先手勝ち504(53%) 後手勝ち443(46%) 引き分け53
engine1
勝ち567(59% R69.52) 先手勝ち302(31%) 後手勝ち265(27%)
宣言勝ち3 先手宣言勝ち2 後手宣言勝ち1
先手引き分け21 後手引き分け32
engine2
勝ち380(40%) 先手勝ち202(21%) 後手勝ち178(18%)
宣言勝ち14 先手宣言勝ち12 後手宣言勝ち2
先手引き分け32 後手引き分け21
567,53,380
use_hash_in_training=1 vs use_hash_in_training=0
平手局面から開始
1手300万ノード
1000対局
engine1=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine1\source\YaneuraOu-by-gcc.exe eval1=D:\hnoda\shogi\eval\halfkp_256x2-32-32.use_hash_in_training=1\final
engine2=D:\Jenkins\workspace\TanukiColiseum.2018-12-08\engine2\source\YaneuraOu-by-gcc.exe eval2=D:\hnoda\shogi\eval\halfkp_256x2-32-32.use_hash_in_training=0\final
対局数1000 先手勝ち583(62%) 後手勝ち348(37%) 引き分け69
engine1
勝ち389(41% R-57.62) 先手勝ち254(27%) 後手勝ち135(14%)
宣言勝ち11 先手宣言勝ち3 後手宣言勝ち8
先手引き分け25 後手引き分け44
engine2
勝ち542(58%) 先手勝ち329(35%) 後手勝ち213(22%)
宣言勝ち24 先手宣言勝ち22 後手宣言勝ち2
先手引き分け44 後手引き分け25
389,69,542