tanuki- 2021-07-02 nn_batch_size調整 (自己対局の初期局面変更)
実験内容
- 機械学習時に nn_batch_size を調整し、自己対局によりレーティングを計測する。
- 「tanuki- 2021-06-30 nn_batch_size調整」では、初期局面として、やねうら王互換局面集を使用する。
棋譜生成
生成ルーチン | tanuki-棋譜生成ルーチン |
評価関数 | tanuki-denryu-tsec-1 eval |
1手あたりの思考 | 思考ノード数 50,000 ノードをベースとし、自動調整する |
開始局面 | foodgate上の棋譜の24手目までから1局面ランダムに選択し、その局面を開始局面とした |
生成局面数 | 1 億局面× 3 セット |
生成条件 | 対局は打ち切らず詰みの局面まで学習データに出力した |
レーティング測定
対局相手 | tanuki-denryu-tsec-1 eval |
思考時間 | 持ち時間 900 秒 + 1 手 5 秒加算 |
対局数 | 2000 |
同時対局数 | 64 |
ハッシュサイズ | 768 |
開始局面 | やねうら王互換局面集 |
実験結果
機械学習
自己対局
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\TanukiColiseum\records2016_10818.sfen NUMAノード数=2 表
示更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持
ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み
時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
対局数2000 先手勝ち963(52.3%) 後手勝ち878(47.7%) 引き分け159
engine1
勝ち790(42.9% R-45.6 +-15.4) 先手勝ち421(22.9%) 後手勝ち369(20.0%)
宣言勝ち74 先手宣言勝ち38 後手宣言勝ち36 先手引き分け85 後手引き分け74
engine2
勝ち1051(57.1%) 先手勝ち542(29.4%) 後手勝ち509(27.6%)
宣言勝ち26 先手宣言勝ち13 後手宣言勝ち13 先手引き分け74 後手引き分け85
790,159,1051
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\TanukiColiseum\records2016_10818.sfen NUMAノード数=2 表
示更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1.nn_batch_size=2000\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に
変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値の
スケール(%)=100
思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み
時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
対局数2000 先手勝ち948(52.9%) 後手勝ち844(47.1%) 引き分け208
engine1
勝ち798(44.5% R-34.2 +-15.3) 先手勝ち420(23.4%) 後手勝ち378(21.1%)
宣言勝ち61 先手宣言勝ち34 後手宣言勝ち27 先手引き分け94 後手引き分け114
engine2
勝ち994(55.5%) 先手勝ち528(29.5%) 後手勝ち466(26.0%)
宣言勝ち25 先手宣言勝ち11 後手宣言勝ち14 先手引き分け114 後手引き分け94
798,208,994
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\TanukiColiseum\records2016_10818.sfen NUMAノード数=2 表
示更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1.nn_batch_size=5000\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に
変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値の
スケール(%)=100
思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み
時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
対局数2000 先手勝ち931(52.4%) 後手勝ち846(47.6%) 引き分け223
engine1
勝ち779(43.8% R-38.2 +-15.3) 先手勝ち405(22.8%) 後手勝ち374(21.0%)
宣言勝ち82 先手宣言勝ち45 後手宣言勝ち37 先手引き分け101 後手引き分け122
engine2
勝ち998(56.2%) 先手勝ち526(29.6%) 後手勝ち472(26.6%)
宣言勝ち20 先手宣言勝ち10 後手宣言勝ち10 先手引き分け122 後手引き分け101
779,223,998
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\TanukiColiseum\records2016_10818.sfen NUMAノード数=2 表
示更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1.nn_batch_size=10000\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎
に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値
のスケール(%)=100
思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み
時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
対局数2000 先手勝ち930(51.4%) 後手勝ち880(48.6%) 引き分け190
engine1
勝ち763(42.2% R-49.7 +-15.4) 先手勝ち390(21.5%) 後手勝ち373(20.6%)
宣言勝ち68 先手宣言勝ち26 後手宣言勝ち42 先手引き分け86 後手引き分け104
engine2
勝ち1047(57.8%) 先手勝ち540(29.8%) 後手勝ち507(28.0%)
宣言勝ち25 先手宣言勝ち10 後手宣言勝ち15 先手引き分け104 後手引き分け86
763,190,1047
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\TanukiColiseum\records2016_10818.sfen NUMAノード数=2 表
示更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1.nn_batch_size=20000\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎
に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値
のスケール(%)=100
思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み
時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
対局数2000 先手勝ち959(53.4%) 後手勝ち838(46.6%) 引き分け203
engine1
勝ち823(45.8% R-26.3 +-15.3) 先手勝ち438(24.4%) 後手勝ち385(21.4%)
宣言勝ち94 先手宣言勝ち53 後手宣言勝ち41 先手引き分け91 後手引き分け112
engine2
勝ち974(54.2%) 先手勝ち521(29.0%) 後手勝ち453(25.2%)
宣言勝ち17 先手宣言勝ち6 後手宣言勝ち11 先手引き分け112 後手引き分け91
823,203,974
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\TanukiColiseum\records2016_10818.sfen NUMAノード数=2 表
示更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1.nn_batch_size=50000\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎
に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値
のスケール(%)=100
思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み
時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
対局数2000 先手勝ち948(53.7%) 後手勝ち818(46.3%) 引き分け234
engine1
勝ち851(48.2% R-11.1 +-15.2) 先手勝ち462(26.2%) 後手勝ち389(22.0%)
宣言勝ち59 先手宣言勝ち29 後手宣言勝ち30 先手引き分け125 後手引き分け109
engine2
勝ち915(51.8%) 先手勝ち486(27.5%) 後手勝ち429(24.3%)
宣言勝ち28 先手宣言勝ち15 後手宣言勝ち13 先手引き分け109 後手引き分け125
851,234,915
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\TanukiColiseum\records2016_10818.sfen NUMAノード数=2 表
示更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\shogi\eval\tanuki-denryu-tsec-1.iteration=1.nn_batch_size=100000\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎
に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値
のスケール(%)=100
思考エンジン2 name=YaneuraOu NNUE 6.03 64ZEN2 EVAL_LEARN author=by yaneurao exeファイル=D:\Jenkins\workspace\TanukiColiseum.2021-06-29\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパ
ス=D:\hnoda\tanuki-denryu-tsec-1\eval 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み
時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false 評価値のスケール(%)=100
対局数2000 先手勝ち947(53.5%) 後手勝ち823(46.5%) 引き分け230
engine1
勝ち838(47.3% R-16.3 +-15.2) 先手勝ち450(25.4%) 後手勝ち388(21.9%)
宣言勝ち79 先手宣言勝ち55 後手宣言勝ち24 先手引き分け117 後手引き分け113
engine2
勝ち932(52.7%) 先手勝ち497(28.1%) 後手勝ち435(24.6%)
宣言勝ち33 先手宣言勝ち16 後手宣言勝ち17 先手引き分け113 後手引き分け117
838,230,932
まとめ
機械学習時に nn_batch_size を調整し、自己対局によりレーティングを計測した。自己対局の初期局面として、やねうら王互換局面集を使用した。
自己対局の結果、たややん互換局面集を使用した場合と同様、 tanuki-denryu-tsec-1 に勝ち越したパラメーターは無かった。また、 nn_batch_size が高いほうが勝率は高かった。
tanuki-denryu-tsec-1 に勝ち越したパラメーターがなかった理由は、互換局面集の特性から来るものではないとではないと考えられる。