tanuki- 2022-11-29 Fine Tuning
実験内容
- 高ノード数の探索を用いて教師データを生成し、既存の評価関数を Fine Tuning し、レーティングを測定する。
棋譜生成
生成ルーチン | tanuki-棋譜生成ルーチン |
評価関数 | 水匠 5 FV_SCALE=16 |
1手あたりの思考 | 深さ最大 64 思考ノード数最大 2,000,000 ノード |
開始局面 | foodgate の 2020 年~ 2021 年の棋譜のうち、レーティング 3900 以上同士の対局の、 32 手目までから、 1 局面ランダムに選択し、その局面を開始局面とした |
開始局面後のランダムムーブ | なし |
生成局面数 | 5 百万局面 × 19 セット |
生成条件 | 対局は打ち切らず詰みの局面まで教師局面に出力した |
棋譜シャッフル
シャッフルルーチン | tanuki-棋譜シャッフルルーチン |
qsearch | あり |
機械学習
機械学習ルーチン | やねうら王機械学習ルーチン |
学習モデル | halfkp_256x2-32-32 |
学習手法 | SGD ミニバッチ法 |
USI_Hash | 1024 |
Threads | 16 |
loop | 100 |
batchsize | 1000000 |
lambda | 0.0 |
eta | eta1=1e-8 eta2=0.01~0.01*0.5^10.0 eta1_epoch=100 |
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 | 無効 |
次元下げ | K・P・相対KP |
教師局面内で重複した局面の除外 | しない |
初期ネットワークパラメーター | https://docs.google.com/document/d/1Lup-hHFH2_QWqEfe56obJ6OEwj15P-C0VO6pWV9-vgo/edit?usp=sharing やねうら王 V5.33 で作成した評価関数 |
勝敗項の教師信号 | 0.99 |
やねうら王バージョン | V5.33 相当 |
レーティング測定
対局相手 | https://docs.google.com/document/d/1Lup-hHFH2_QWqEfe56obJ6OEwj15P-C0VO6pWV9-vgo/edit?usp=sharing やねうら王 V5.33 で作成した評価関数 |
思考時間 | 持ち時間 300 秒 + 1 手 2 秒加算 |
対局数 | 2000 |
同時対局数 | 64 |
ハッシュサイズ | 768 |
開始局面 | たややん互換局面集 |
実験結果
機械学習
レーティング測定
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=0.01\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2
BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち940(51.9%) 後手勝ち870(48.1%) 引き分け190
engine1
勝ち588(32.5% R-114.1 +-16.1) 先手勝ち310(17.1%) 後手勝ち278(15.4%)
宣言勝ち35 先手宣言勝ち13 後手宣言勝ち22 先手引き分け102 後手引き分け88
engine2
勝ち1222(67.5%) 先手勝ち630(34.8%) 後手勝ち592(32.7%)
宣言勝ち8 先手宣言勝ち2 後手宣言勝ち6 先手引き分け88 後手引き分け102
588,190,1222
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=0.005\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち957(53.4%) 後手勝ち836(46.6%) 引き分け207
engine1
勝ち713(39.8% R-64.5 +-15.5) 先手勝ち380(21.2%) 後手勝ち333(18.6%)
宣言勝ち49 先手宣言勝ち22 後手宣言勝ち27 先手引き分け117 後手引き分け90
engine2
勝ち1080(60.2%) 先手勝ち577(32.2%) 後手勝ち503(28.1%)
宣言勝ち3 先手宣言勝ち0 後手宣言勝ち3 先手引き分け90 後手引き分け117
713,207,1080
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=0.0025\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち951(53.2%) 後手勝ち835(46.8%) 引き分け214
engine1
勝ち687(38.5% R-72.6 +-15.6) 先手勝ち360(20.2%) 後手勝ち327(18.3%)
宣言勝ち49 先手宣言勝ち26 後手宣言勝ち23 先手引き分け133 後手引き分け81
engine2
勝ち1099(61.5%) 先手勝ち591(33.1%) 後手勝ち508(28.4%)
宣言勝ち3 先手宣言勝ち2 後手宣言勝ち1 先手引き分け81 後手引き分け133
687,214,1099
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=0.00125\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち983(54.9%) 後手勝ち808(45.1%) 引き分け209
engine1
勝ち681(38.0% R-75.7 +-15.6) 先手勝ち382(21.3%) 後手勝ち299(16.7%)
宣言勝ち47 先手宣言勝ち22 後手宣言勝ち25 先手引き分け108 後手引き分け101
engine2
勝ち1110(62.0%) 先手勝ち601(33.6%) 後手勝ち509(28.4%)
宣言勝ち6 先手宣言勝ち1 後手宣言勝ち5 先手引き分け101 後手引き分け108
681,209,1110
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=0.000625\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち949(53.8%) 後手勝ち815(46.2%) 引き分け236
engine1
勝ち664(37.6% R-77.0 +-15.6) 先手勝ち354(20.1%) 後手勝ち310(17.6%)
宣言勝ち40 先手宣言勝ち22 後手宣言勝ち18 先手引き分け141 後手引き分け95
engine2
勝ち1100(62.4%) 先手勝ち595(33.7%) 後手勝ち505(28.6%)
宣言勝ち2 先手宣言勝ち1 後手宣言勝ち1 先手引き分け95 後手引き分け141
664,236,1100
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=0.0003125\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち949(55.2%) 後手勝ち769(44.8%) 引き分け282
engine1
勝ち681(39.6% R-62.5 +-15.5) 先手勝ち374(21.8%) 後手勝ち307(17.9%)
宣言勝ち50 先手宣言勝ち19 後手宣言勝ち31 先手引き分け167 後手引き分け115
engine2
勝ち1037(60.4%) 先手勝ち575(33.5%) 後手勝ち462(26.9%)
宣言勝ち6 先手宣言勝ち2 後手宣言勝ち4 先手引き分け115 後手引き分け167
681,282,1037
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=0.00015625\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる
=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち940(54.0%) 後手勝ち801(46.0%) 引き分け259
engine1
勝ち721(41.4% R-52.3 +-15.4) 先手勝ち394(22.6%) 後手勝ち327(18.8%)
宣言勝ち84 先手宣言勝ち41 後手宣言勝ち43 先手引き分け134 後手引き分け125
engine2
勝ち1020(58.6%) 先手勝ち546(31.4%) 後手勝ち474(27.2%)
宣言勝ち5 先手宣言勝ち2 後手宣言勝ち3 先手引き分け125 後手引き分け134
721,259,1020
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=7.8125e-05\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる
=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち901(53.5%) 後手勝ち782(46.5%) 引き分け317
engine1
勝ち726(43.1% R-40.3 +-15.3) 先手勝ち391(23.2%) 後手勝ち335(19.9%)
宣言勝ち91 先手宣言勝ち43 後手宣言勝ち48 先手引き分け164 後手引き分け153
engine2
勝ち957(56.9%) 先手勝ち510(30.3%) 後手勝ち447(26.6%)
宣言勝ち8 先手宣言勝ち3 後手宣言勝ち5 先手引き分け153 後手引き分け164
726,317,957
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=3.90625e-05\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させ
る=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち922(54.2%) 後手勝ち778(45.8%) 引き分け300
engine1
勝ち742(43.6% R-37.7 +-15.3) 先手勝ち403(23.7%) 後手勝ち339(19.9%)
宣言勝ち99 先手宣言勝ち42 後手宣言勝ち57 先手引き分け162 後手引き分け138
engine2
勝ち958(56.4%) 先手勝ち519(30.5%) 後手勝ち439(25.8%)
宣言勝ち6 先手宣言勝ち2 後手宣言勝ち4 先手引き分け138 後手引き分け162
742,300,958
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=1.953125e-05\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させ
る=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち966(55.2%) 後手勝ち783(44.8%) 引き分け251
engine1
勝ち768(43.9% R-37.1 +-15.3) 先手勝ち420(24.0%) 後手勝ち348(19.9%)
宣言勝ち76 先手宣言勝ち38 後手宣言勝ち38 先手引き分け142 後手引き分け109
engine2
勝ち981(56.1%) 先手勝ち546(31.2%) 後手勝ち435(24.9%)
宣言勝ち13 先手宣言勝ち5 後手宣言勝ち8 先手引き分け109 後手引き分け142
768,251,981
対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=1 表示
更新間隔(ms)=3600000
思考エンジン1 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33.add.nodes=2M.eta2=9.765625e-06\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させ
る=False 持ち時間(ms)=300000 秒読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale1=20
思考エンジン2 name=YaneuraOu NNUE 7.10 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2022-05-02\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス
=D:\hnoda\shogi\eval\regression.v5.33\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=300000 秒
読み時間(ms)=0 加算時間(ms)=2000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140 FVScale2=20
対局数2000 先手勝ち930(54.4%) 後手勝ち779(45.6%) 引き分け291
engine1
勝ち783(45.8% R-24.9 +-15.3) 先手勝ち432(25.3%) 後手勝ち351(20.5%)
宣言勝ち41 先手宣言勝ち16 後手宣言勝ち25 先手引き分け142 後手引き分け149
engine2
勝ち926(54.2%) 先手勝ち498(29.1%) 後手勝ち428(25.0%)
宣言勝ち34 先手宣言勝ち17 後手宣言勝ち17 先手引き分け149 後手引き分け142
783,291,926
学習ロスと検証ロスは、学習率が高いほど急激に下がった。
検証ロスは、学習率が高いほど、収束したときの値が下がった。
学習率は、初期学習率が高いほど、下がりやすかった。収束が早かったとも言える。
平手局面の評価値は、学習率が高いほど高かった。
評価値の絶対値は、学習初期は上がったが、学習が進むにつれて下がった。
レーティングは、学習率が低いほど高くなる傾向があったが、いずれのパラメーターにおいても、元の評価関数より有意に低かった。
考察
学習ロスと検証ロス
学習率が高いほど早く学習が進むのは、一般的な傾向である。また、収束したときの検証ロスがもっとも低くなる学習率は、今回は 0.01 付近だった。そこから離れるほど検証ロスが上がるのも、一般的な傾向だと思われる。
学習率
学習率が高いほど収束が速くなるのは、一般的な傾向だと思われる。
平手局面の評価値
学習データの先手勝率が、平手局面の評価値に影響を与えたのだと思われる。仮に平手局面の評価値が 200 程度だった場合、学習データの先手勝率は 58% 程度だったのだと思われる。
評価値の絶対値
lambda=0.0 だったため、学習初期は、評価値が大きいほうに引っ張られたのだと思われる。一方、勝敗項の教師信号が 0.99 に設定されており、評価値に換算すると 2760 付近となり、最も大きい値がこの値に調整されたため、評価値の絶対値の平均が下がったのだと思われる。
レーティング
標準 NNUE の表現能力を使い切ってしまい、既存のネットワークパラメーターを壊してしまっている可能性がある。
まとめ
高ノード数の探索を用いて教師データを生成し、既存の評価関数を Fine Tuning し、レーティングを測定した。結果、レーティングは、既存の評価関数より有意に低くなってしまった。
次は halfkp_1024x2-8-32 での Fine Tuning を試してみたい。