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

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

tanuki- 2022-03-22 momentum

tanuki- 2022-03-22 momentum

実験内容

  • momentum を適用し、レーティングに変化があるか調べる。

棋譜生成

生成ルーチン tanuki-棋譜生成ルーチン
評価関数 水匠5 FV_SCALE=16
1手あたりの思考 深さ最大 9 思考ノード数最大 50,000 ノード
開始局面 foodgate の 2020 年~ 2021 年の棋譜のうち、レーティング 3900 以上同士の対局の 32 手目までから 1 局面ランダムに選択し、その局面を開始局面とした ランダムムーブなし
生成局面数 10 億局面 × 2 セット
生成条件 対局は打ち切らず詰みの局面まで学習データに出力した

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkp_vm_256x2-32-32
学習手法 SGD ミニバッチ法
USI_Hash 1024
Threads 16
loop 100
batchsize 1000000
lambda 0.5
eta eta1=1e-8 eta2=1.0 eta1_epoch=100M
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 無効
次元下げ なし
学習データ内で重複した局面の除外 しない
初期ネットワークパラメーター tanuki-wcsc29
勝敗項の教師信号 0.80

レーティング測定

対局相手 tanuki-wcsc29.halfkp_vm_256x2-32-32 に水匠 5 で生成した学習データを学習させたもの
思考時間 持ち時間 900 秒 + 1 手 5 秒加算
対局数 5000
同時対局数 64
ハッシュサイズ 768
開始局面 たややん互換局面集

実験結果

機械学習

レーティング測定

momentum=0.1

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.1\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち824(55.7%) 後手勝ち655(44.3%) 引き分け521

engine1

勝ち733(49.6% R-2.3 +-15.2) 先手勝ち422(28.5%) 後手勝ち311(21.0%)

宣言勝ち38 先手宣言勝ち21 後手宣言勝ち17 先手引き分け238 後手引き分け283

engine2

勝ち746(50.4%) 先手勝ち402(27.2%) 後手勝ち344(23.3%)

宣言勝ち46 先手宣言勝ち19 後手宣言勝ち27 先手引き分け283 後手引き分け238

733,521,746

momentum=0.2

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.2\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち857(53.5%) 後手勝ち744(46.5%) 引き分け399

engine1

勝ち728(45.5% R-25.2 +-15.3) 先手勝ち402(25.1%) 後手勝ち326(20.4%)

宣言勝ち40 先手宣言勝ち14 後手宣言勝ち26 先手引き分け180 後手引き分け219

engine2

勝ち873(54.5%) 先手勝ち455(28.4%) 後手勝ち418(26.1%)

宣言勝ち22 先手宣言勝ち13 後手宣言勝ち9 先手引き分け219 後手引き分け180

728,399,873

momentum=0.3

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.3\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち863(54.7%) 後手勝ち716(45.3%) 引き分け421

engine1

勝ち730(46.2% R-20.7 +-15.3) 先手勝ち402(25.5%) 後手勝ち328(20.8%)

宣言勝ち32 先手宣言勝ち16 後手宣言勝ち16 先手引き分け207 後手引き分け214

engine2

勝ち849(53.8%) 先手勝ち461(29.2%) 後手勝ち388(24.6%)

宣言勝ち38 先手宣言勝ち10 後手宣言勝ち28 先手引き分け214 後手引き分け207

730,421,849

momentum=0.4

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.4\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち887(56.7%) 後手勝ち678(43.3%) 引き分け435

engine1

勝ち800(51.1% R6.1 +-15.2) 先手勝ち453(28.9%) 後手勝ち347(22.2%)

宣言勝ち34 先手宣言勝ち21 後手宣言勝ち13 先手引き分け218 後手引き分け217

engine2

勝ち765(48.9%) 先手勝ち434(27.7%) 後手勝ち331(21.2%)

宣言勝ち40 先手宣言勝ち21 後手宣言勝ち19 先手引き分け217 後手引き分け218

800,435,765

momentum=0.5

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.5\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち813(53.8%) 後手勝ち697(46.2%) 引き分け490

engine1

勝ち746(49.4% R-3.1 +-15.2) 先手勝ち405(26.8%) 後手勝ち341(22.6%)

宣言勝ち44 先手宣言勝ち26 後手宣言勝ち18 先手引き分け237 後手引き分け253

engine2

勝ち764(50.6%) 先手勝ち408(27.0%) 後手勝ち356(23.6%)

宣言勝ち43 先手宣言勝ち22 後手宣言勝ち21 先手引き分け253 後手引き分け237

746,490,764

momentum=0.6

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.6\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち826(52.3%) 後手勝ち752(47.7%) 引き分け422

engine1

勝ち750(47.5% R-13.6 +-15.2) 先手勝ち401(25.4%) 後手勝ち349(22.1%)

宣言勝ち46 先手宣言勝ち24 後手宣言勝ち22 先手引き分け198 後手引き分け224

engine2

勝ち828(52.5%) 先手勝ち425(26.9%) 後手勝ち403(25.5%)

宣言勝ち60 先手宣言勝ち21 後手宣言勝ち39 先手引き分け224 後手引き分け198

750,422,828

momentum=0.7

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.7\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち842(54.9%) 後手勝ち691(45.1%) 引き分け467

engine1

勝ち660(43.1% R-37.1 +-15.3) 先手勝ち371(24.2%) 後手勝ち289(18.9%)

宣言勝ち30 先手宣言勝ち15 後手宣言勝ち15 先手引き分け227 後手引き分け240

engine2

勝ち873(56.9%) 先手勝ち471(30.7%) 後手勝ち402(26.2%)

宣言勝ち34 先手宣言勝ち14 後手宣言勝ち20 先手引き分け240 後手引き分け227

660,467,873

momentum=0.8

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.8\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち817(51.6%) 後手勝ち765(48.4%) 引き分け418

engine1

勝ち729(46.1% R-21.6 +-15.3) 先手勝ち382(24.1%) 後手勝ち347(21.9%)

宣言勝ち53 先手宣言勝ち26 後手宣言勝ち27 先手引き分け201 後手引き分け217

engine2

勝ち853(53.9%) 先手勝ち435(27.5%) 後手勝ち418(26.4%)

宣言勝ち39 先手宣言勝ち24 後手宣言勝ち15 先手引き分け217 後手引き分け201

729,418,853

momentum=0.9

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.momentum=0.9\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち843(52.1%) 後手勝ち775(47.9%) 引き分け382

engine1

勝ち694(42.9% R-40.1 +-15.3) 先手勝ち363(22.4%) 後手勝ち331(20.5%)

宣言勝ち40 先手宣言勝ち12 後手宣言勝ち28 先手引き分け193 後手引き分け189

engine2

勝ち924(57.1%) 先手勝ち480(29.7%) 後手勝ち444(27.4%)

宣言勝ち30 先手宣言勝ち8 後手宣言勝ち22 先手引き分け189 後手引き分け193

694,382,924

まとめ

momentum を適用し、レーティングに変化があるか調べた。

学習ロスと検証ロスは、一度下がったあとに上がり、再び下がった。また上がり幅は momentum が大きいほど大きかった。

平手局面の評価値は、 大きな差はなかった。

評価値の絶対値は、 大きな差はなかった

レーティングは、有意に高くなったパラメーターは無かった。

学習ロスと検証ロスについては、 momentum の慣性により、局所最適解を一度通り過ぎたあと、また局所最適解に向かって収束しているという事なのだと思われる。

平手局面の評価値については、学習に大きな問題が起きていない事を表している。

評価値の絶対値については、 momentum の値には関係ないのだと思われる。

レーティングについては、 momentum なしでよいという事を表しているのだと思われる。

今後は momentum なしで学習させていきたい。

tanuki- 2022-03-17 warmup

tanuki- 2022-03-17 warmup

実験内容

  • warmup を行い、レーティングに変化があるか調べる。

棋譜生成

生成ルーチン tanuki-棋譜生成ルーチン
評価関数 水匠5 FV_SCALE=16
1手あたりの思考 深さ最大 9 思考ノード数最大 50,000 ノード
開始局面 foodgate の 2020 年~ 2021 年の棋譜のうち、レーティング 3900 以上同士の対局の 32 手目までから 1 局面ランダムに選択し、その局面を開始局面とした ランダムムーブなし
生成局面数 10 億局面 × 2 セット
生成条件 対局は打ち切らず詰みの局面まで学習データに出力した

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkp_vm_256x2-32-32
学習手法 SGD ミニバッチ法
USI_Hash 1024
Threads 16
loop 100
batchsize 1000000
lambda 0.5
eta eta1=1e-8 eta2=1.0 eta1_epoch=10M/100M/1G/10G
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 無効
次元下げ なし
学習データ内で重複した局面の除外 しない
初期ネットワークパラメーター tanuki-wcsc29
勝敗項の教師信号 0.80

レーティング測定

対局相手 tanuki-wcsc29.halfkp_vm_256x2-32-32 に水匠 5 で生成した学習データを学習させたもの
思考時間 持ち時間 900 秒 + 1 手 5 秒加算
対局数 5000
同時対局数 64
ハッシュサイズ 768
開始局面 たややん互換局面集

実験結果

機械学習

レーティング測定

eta1_epoch=10M

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.eta1_epoch=10\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち805(53.2%) 後手勝ち707(46.8%) 引き分け488

engine1

勝ち771(51.0% R5.2 +-15.2) 先手勝ち418(27.6%) 後手勝ち353(23.3%)

宣言勝ち49 先手宣言勝ち23 後手宣言勝ち26 先手引き分け228 後手引き分け260

engine2

勝ち741(49.0%) 先手勝ち387(25.6%) 後手勝ち354(23.4%)

宣言勝ち45 先手宣言勝ち17 後手宣言勝ち28 先手引き分け260 後手引き分け228

771,488,741

eta1_epoch=100M

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.eta1_epoch=100\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち841(55.1%) 後手勝ち684(44.9%) 引き分け475

engine1

勝ち768(50.4% R1.9 +-15.2) 先手勝ち427(28.0%) 後手勝ち341(22.4%)

宣言勝ち48 先手宣言勝ち24 後手宣言勝ち24 先手引き分け230 後手引き分け245

engine2

勝ち757(49.6%) 先手勝ち414(27.1%) 後手勝ち343(22.5%)

宣言勝ち44 先手宣言勝ち22 後手宣言勝ち22 先手引き分け245 後手引き分け230

768,475,757

eta1_epoch=1G

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.eta1_epoch=1000\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち820(53.8%) 後手勝ち704(46.2%) 引き分け476

engine1

勝ち718(47.1% R-15.3 +-15.2) 先手勝ち392(25.7%) 後手勝ち326(21.4%)

宣言勝ち26 先手宣言勝ち13 後手宣言勝ち13 先手引き分け231 後手引き分け245

engine2

勝ち806(52.9%) 先手勝ち428(28.1%) 後手勝ち378(24.8%)

宣言勝ち61 先手宣言勝ち27 後手宣言勝ち34 先手引き分け245 後手引き分け231

718,476,806

eta1_epoch=10G

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.eta1_epoch=10000\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち863(52.9%) 後手勝ち768(47.1%) 引き分け369

engine1

勝ち768(47.1% R-16.5 +-15.2) 先手勝ち425(26.1%) 後手勝ち343(21.0%)

宣言勝ち39 先手宣言勝ち17 後手宣言勝ち22 先手引き分け150 後手引き分け219

engine2

勝ち863(52.9%) 先手勝ち438(26.9%) 後手勝ち425(26.1%)

宣言勝ち28 先手宣言勝ち13 後手宣言勝ち15 先手引き分け219 後手引き分け150

768,369,863

まとめ

warmup を行い、レーティングに変化があるか調べる。

学習ロスと検証ロスは、 eta1_epoch が大きくなるほど、下がる速度が下がった。

学習率は、 eta1_epoch=10M/100M については、 1.0 まで上がった。 eta1_epoch=1G/10G については、 1.0 まで上がらなかった。

平手局面の評価値は、 大きな差はなかった。

評価値の絶対値は、 大きな差はなかった

レーティングは、 eta1_epoch=10M/100M については、有意な差はなかった。 eta1_epoch=1G/10G については、有意に弱くなった。

学習ロスと検証ロスについては、学習率の変化に応じて下がり方が変わっているという事なのだと思う。

学習率については、 eta1_epoch=1G/10G については、学習率が上がりきらないまま、ロスが上がり始めてしまったためである。 newbob 風の学習率調整と組み合わせる場合、 eta1_epoch の値を調整しないと、十分に学習されないという事なのだと思われる。

平手局面の評価値については、学習に大きな問題が起きていない事を表しているのだと思われる。

評価値の絶対値については、 eta1_epoch の値はほとんど関係ないのだと思われる。

レーティングについては、 eta1_epoch の値は、学習率が上がりきっていればほとんど関係ないのだと思われる。ただし、学習率が上がりきらないと、有意に弱くなるのだと思われる。

学習速度や学習結果に大きな問題が無いため、今後は warmup あり、 eta1_epoch=100M で学習させたいと思う。

tanuki- 2022-03-16 save_eval_interval

 

tanuki- 2022-03-16 save_eval_interval

実験内容

  • save_eval_interval を変化させ、レーティングに変化があるか調べる。

棋譜生成

生成ルーチン tanuki-棋譜生成ルーチン
評価関数 水匠5 FV_SCALE=16
1手あたりの思考 深さ最大 9 思考ノード数最大 50,000 ノード
開始局面 foodgate の 2020 年~ 2021 年の棋譜のうち、レーティング 3900 以上同士の対局の 32 手目までから 1 局面ランダムに選択し、その局面を開始局面とした ランダムムーブなし
生成局面数 10 億局面 × 2 セット
生成条件 対局は打ち切らず詰みの局面まで学習データに出力した

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkp_vm_256x2-32-32
学習手法 SGD ミニバッチ法
USI_Hash 1024
Threads 16
loop 100
batchsize 1000000
lambda 0.5
eta 1.0
newbob_decay 0.5
nn_batch_size 1000
eval_save_interval 100000000/200000000/300000000/400000000/500000000
loss_output_interval 1000000
mirror_percentage 50
eval_limit 32000
weight_by_progress 無効
次元下げ なし
学習データ内で重複した局面の除外 しない
初期ネットワークパラメーター tanuki-wcsc29
勝敗項の教師信号 0.80

レーティング測定

対局相手 tanuki-wcsc29.halfkp_vm_256x2-32-32 に水匠 5 で生成した学習データを学習させたもの
思考時間 持ち時間 900 秒 + 1 手 5 秒加算
対局数 5000
同時対局数 64
ハッシュサイズ 768
開始局面 たややん互換局面集

実験結果

機械学習

レーティング測定

eval_save_interval=200000000

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.eval_save_interval=200000000\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち844(53.5%) 後手勝ち735(46.5%) 引き分け421

engine1

勝ち754(47.8% R-12.3 +-15.2) 先手勝ち407(25.8%) 後手勝ち347(22.0%)

宣言勝ち72 先手宣言勝ち31 後手宣言勝ち41 先手引き分け205 後手引き分け216

engine2

勝ち825(52.2%) 先手勝ち437(27.7%) 後手勝ち388(24.6%)

宣言勝ち31 先手宣言勝ち10 後手宣言勝ち21 先手引き分け216 後手引き分け205

754,421,825

eval_save_interval=300000000

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.eval_save_interval=300000000\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち860(55.2%) 後手勝ち697(44.8%) 引き分け443

engine1

勝ち798(51.3% R6.8 +-15.2) 先手勝ち443(28.5%) 後手勝ち355(22.8%)

宣言勝ち42 先手宣言勝ち18 後手宣言勝ち24 先手引き分け212 後手引き分け231

engine2

勝ち759(48.7%) 先手勝ち417(26.8%) 後手勝ち342(22.0%)

宣言勝ち38 先手宣言勝ち18 後手宣言勝ち20 先手引き分け231 後手引き分け212

798,443,759

eval_save_interval=400000000

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.eval_save_interval=400000000\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち854(53.4%) 後手勝ち745(46.6%) 引き分け401

engine1

勝ち800(50.0% R0.2 +-15.2) 先手勝ち436(27.3%) 後手勝ち364(22.8%)

宣言勝ち54 先手宣言勝ち29 後手宣言勝ち25 先手引き分け182 後手引き分け219

engine2

勝ち799(50.0%) 先手勝ち418(26.1%) 後手勝ち381(23.8%)

宣言勝ち31 先手宣言勝ち13 後手宣言勝ち18 先手引き分け219 後手引き分け182

800,401,799

eval_save_interval=500000000

対局数=2000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.eval_save_interval=500000000\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

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\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

対局数2000 先手勝ち857(54.5%) 後手勝ち715(45.5%) 引き分け428

engine1

勝ち811(51.6% R8.7 +-15.2) 先手勝ち440(28.0%) 後手勝ち371(23.6%)

宣言勝ち54 先手宣言勝ち23 後手宣言勝ち31 先手引き分け214 後手引き分け214

engine2

勝ち761(48.4%) 先手勝ち417(26.5%) 後手勝ち344(21.9%)

宣言勝ち26 先手宣言勝ち13 後手宣言勝ち13 先手引き分け214 後手引き分け214

811,428,761

まとめ

save_eval_interval を変化させ、レーティングに変化があるか調べた。

 

学習ロスと検証ロスは、 大きな差はなかった。

収束までの学習局面数は、 eval_save_interval が大きくなるほど多くなった。また eval_save_interval=400000000 くらいからは伸びが鈍化した。

平手局面の評価値は、 大きな差はなかった。

評価値の絶対値は、 大きな差はなかった

レーティングは、 tanuki-wcsc29.halfkp_vm_256x2-32-32 に水匠 5 で生成した学習データを学習させたものと比べて、有意な差はなかった。

 

学習ロスと検証ロスについては、 eval_save_interval はほとんど影響がないという事なのだと思われる。

収束までの学習局面数については、 eval_save_interval が大きいほどノイズが小さくなり、学習率が下がる機会が減るためだと思われる。

平手局面の評価値については、 eval_save_interval はほとんど影響がないという事なのだと思われる。

評価値の絶対値については、 eval_save_interval はほとんど影響がないという事なのだと思われる。

レーティングについては、 eval_save_interval はほとんど影響がないという事なのだと思われる。

 

eval_save_interval はレーティングには大きな影響はないという事が分かった。今後は、今まで通り、ランダムパラメーター空の学習には eval_save_interval=500M、追加学習には eval_save_interval=100M を使用したいと思う。

 

tanuki- 2022-03-06 棋譜生成時の開始手数 3

tanuki- 2022-03-06 棋譜生成時の開始手数 3

実験内容

  • 棋譜生成時の開始手数の最大値を 40 に設定した場合、レーティングに変化があるか調べる。

棋譜生成

生成ルーチン tanuki-棋譜生成ルーチン
評価関数 水匠5 FV_SCALE=24
1手あたりの思考 深さ最大 9 思考ノード数最大 50,000 ノード
開始局面 foodgate の 2020 年~ 2021 年の棋譜のうち、レーティング 3900 以上同士の対局の 40 手目までから 1 局面ランダムに選択し、その局面を開始局面とした ランダムムーブなし
生成局面数 5 億局面 × 4 セット
生成条件 対局は打ち切らず詰みの局面まで学習データに出力した

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkp_vm_256x2-32-32
学習手法 SGD ミニバッチ法
USI_Hash 1024
Threads 16
loop 100
batchsize 1000000
lambda 0.5
eta 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 無効
次元下げ なし
学習データ内で重複した局面の除外 しない
初期ネットワークパラメーター tanuki-wcsc29
勝敗項の教師信号 0.80

レーティング測定

対局相手 tanuki-wcsc29.halfkp_vm_256x2-32-32 に水匠 5 で生成した学習データを学習させたもの
思考時間 持ち時間 900 秒 + 1 手 5 秒加算
対局数 5000
同時対局数 64
ハッシュサイズ 768
開始局面 たややん互換局面集

実験結果

機械学習

レーティング測定

対局数=5000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.generator_start_position_max_play=40\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140

対局数5000 先手勝ち2141(55.4%) 後手勝ち1723(44.6%) 引き分け1136

engine1

勝ち1888(48.9% R-6.1 +-9.6) 先手勝ち1052(27.2%) 後手勝ち836(21.6%)

宣言勝ち134 先手宣言勝ち66 後手宣言勝ち68 先手引き分け576 後手引き分け560

engine2

勝ち1976(51.1%) 先手勝ち1089(28.2%) 後手勝ち887(23.0%)

宣言勝ち46 先手宣言勝ち21 後手宣言勝ち25 先手引き分け560 後手引き分け576

1888,1136,1976

まとめ

棋譜生成時の開始手数の最大値を 40 に設定した場合、レーティングに変化があるか調べた。

学習ロスと検証ロスは、最大値を 40 に設定したほうが低かった。

平手局面の評価値は、最大値を 40 に設定したほうが低かった。

評価値の絶対値は、最大値を 40 に設定したほうが高かった。

レーティングは、有意な差はなかった。

学習ロスと検証ロスについては、開始手数の最大値が大きくなるほど、教師データに含まれる評価値が大きくなるためだと思われる。

平手局面の評価値については、機械学習に大きな問題が生じていないことを表している。

評価値の絶対値については、学習ロスと検証ロスと同様、教師データに含まれる評価値が大きくなるためだと思われる。

レーティングについては、最大値 24 付近にピークがあるものと思われる。最大値 40 で有意差が出なかったことを考えると、これ以上の最適化は難しいと思われる。

tanuki- 2022-03-03 棋譜生成時の開始手数 2

tanuki- 2022-03-03 棋譜生成時の開始手数 2

実験内容

  • 棋譜生成時の開始手数の最大値を 70 に設定した場合、レーティングに変化があるか調べる。

棋譜生成

生成ルーチン tanuki-棋譜生成ルーチン
評価関数 水匠5 FV_SCALE=24
1手あたりの思考 深さ最大 9 思考ノード数最大 50,000 ノード
開始局面 foodgate の 2020 年~ 2021 年の棋譜のうち、レーティング 3900 以上同士の対局の 70 手目までから 1 局面ランダムに選択し、その局面を開始局面とした ランダムムーブなし
生成局面数 5 億局面 × 4 セット
生成条件 対局は打ち切らず詰みの局面まで学習データに出力した

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkp_vm_256x2-32-32
学習手法 SGD ミニバッチ法
USI_Hash 1024
Threads 16
loop 100
batchsize 1000000
lambda 0.5
eta 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 無効
次元下げ なし
学習データ内で重複した局面の除外 しない
初期ネットワークパラメーター tanuki-wcsc29
勝敗項の教師信号 0.80

レーティング測定

対局相手 tanuki-wcsc29.halfkp_vm_256x2-32-32 に水匠 5 で生成した学習データを学習させたもの
思考時間 持ち時間 900 秒 + 1 手 5 秒加算
対局数 5000
同時対局数 64
ハッシュサイズ 768
開始局面 たややん互換局面集

実験結果

機械学習

レーティング測定

対局数=5000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.generator_start_position_max_play=70\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140

対局数5000 先手勝ち2166(54.4%) 後手勝ち1812(45.6%) 引き分け1022

engine1

勝ち1915(48.1% R-10.3 +-9.6) 先手勝ち1053(26.5%) 後手勝ち862(21.7%)

宣言勝ち67 先手宣言勝ち29 後手宣言勝ち38 先手引き分け521 後手引き分け501

engine2

勝ち2063(51.9%) 先手勝ち1113(28.0%) 後手勝ち950(23.9%)

宣言勝ち113 先手宣言勝ち52 後手宣言勝ち61 先手引き分け501 後手引き分け521

1915,1022,2063

まとめ

棋譜生成時の開始手数の最大値を 70 に設定した場合、レーティングに変化があるか調べた。

学習ロスと検証ロスは、最大値を 70 に設定したほうが低かった。

平手局面の評価値は、ほとんど変化がなかった。

評価値の絶対値は、最大値を 70 に設定したほうが高かった。

レーティングは、最大値 70 のほうが有意に低かった。

学習ロスと検証ロスについては、開始手数の最大値が大きくなるほど、教師データに含まれる評価値が大きくなるためだと思われる。

平手局面の評価値については、機械学習に大きな問題が生じていないことを表している。

評価値の絶対値については、学習ロスと検証ロスと同様、教師データに含まれる評価値が大きくなるためだと思われる。

レーティングについては、どこかにピークがあるのだろうと思われるが、最大値 0 ~ 70 のどのあたりにあるかは、この結果だけからでは分からなかった。

次にレーティングの高かった、最大値 40 についても試したいと思う。

tanuki- 2022-02-27 棋譜生成時の開始手数

tanuki- 2022-02-27 棋譜生成時の開始手数

実験内容

  • 棋譜生成時の開始手数の違いにより、レーティングに変化があるか調べる。

棋譜生成

生成ルーチン tanuki-棋譜生成ルーチン
評価関数 水匠5 FV_SCALE=24
1手あたりの思考 深さ最大 9 思考ノード数最大 50,000 ノード
開始局面 foodgate の 2020 年~ 2021 年の棋譜のうち、レーティング 3900 以上同士の対局の 0/10/20/30/40/50/60/70/80/90/100/1000 手目までから 1 局面ランダムに選択し、その局面を開始局面とした ランダムムーブなし
生成局面数 5 億局面 × 1 セット
生成条件 対局は打ち切らず詰みの局面まで学習データに出力した

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkp_vm_256x2-32-32
学習手法 SGD ミニバッチ法
USI_Hash 1024
Threads 16
loop 100
batchsize 1000000
lambda 0.5
eta 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 無効
次元下げ なし
学習データ内で重複した局面の除外 しない
初期ネットワークパラメーター tanuki-wcsc29
勝敗項の教師信号 0.80

レーティング測定

対局相手 tanuki-wcsc29.halfkp_vm_256x2-32-32.suisho-wcsoc2020.depth=9.GeneratorRandomMove=false.startpos
思考時間 持ち時間 900 秒 + 1 手 5 秒加算
対局数 5000
同時対局数 64
ハッシュサイズ 768
開始局面 たややん互換局面集

実験結果

棋譜生成

generator_start_position_max_play=0

498085338 / 500000000

elapsed time = 19:00:00

current date time = 2022-02-13 11:52:41

finish date time = 2022-02-13 11:57:02

speed = 7318.52 (data/sec)

max speed = 7318.52 (data/sec)

generator_start_position_max_play=10

472724612 / 500000000

elapsed time = 15:00:00

current date time = 2022-02-14 02:58:55

finish date time = 2022-02-14 03:50:36

speed = 8794.84 (data/sec)

max speed = 8794.84 (data/sec)

generator_start_position_max_play=20

487754295 / 500000000

elapsed time = 16:00:00

current date time = 2022-02-14 19:51:57

finish date time = 2022-02-14 20:16:00

speed = 8483.42 (data/sec)

max speed = 8483.42 (data/sec)

generator_start_position_max_play=30

480434970 / 500000000

elapsed time = 16:00:00

current date time = 2022-02-15 12:17:50

finish date time = 2022-02-15 12:56:47

speed = 8370.86 (data/sec)

max speed = 8370.86 (data/sec)

generator_start_position_max_play=40

474755905 / 500000000

elapsed time = 16:00:00

current date time = 2022-02-16 04:58:52

finish date time = 2022-02-16 05:49:41

speed = 8278.02 (data/sec)

max speed = 8278.02 (data/sec)

generator_start_position_max_play=50

498384272 / 500000000

elapsed time = 17:00:00

current date time = 2022-02-16 22:51:17

finish date time = 2022-02-16 22:54:34

speed = 8174.38 (data/sec)

max speed = 8174.38 (data/sec)

generator_start_position_max_play=60

489962497 / 500000000

elapsed time = 17:00:00

current date time = 2022-02-17 15:56:27

finish date time = 2022-02-17 16:17:17

speed = 8024.77 (data/sec)

max speed = 8025.28 (data/sec)

generator_start_position_max_play=70

487755984 / 500000000

elapsed time = 17:00:00

current date time = 2022-02-18 09:19:13

finish date time = 2022-02-18 09:44:44

speed = 7996.42 (data/sec)

max speed = 7996.42 (data/sec)

generator_start_position_max_play=80

486582802 / 500000000

elapsed time = 17:00:00

current date time = 2022-02-19 02:46:33

finish date time = 2022-02-19 03:14:33

speed = 7982.43 (data/sec)

max speed = 7982.43 (data/sec)

generator_start_position_max_play=90

481768374 / 500000000

elapsed time = 17:00:00

current date time = 2022-02-19 20:16:33

finish date time = 2022-02-19 20:54:58

speed = 7906.18 (data/sec)

max speed = 7906.18 (data/sec)

generator_start_position_max_play=100

479272059 / 500000000

elapsed time = 17:00:00

current date time = 2022-02-20 13:56:53

finish date time = 2022-02-20 14:40:46

speed = 7870.01 (data/sec)

max speed = 7870.01 (data/sec)

generator_start_position_max_play=1000

473662571 / 500000000

elapsed time = 18:00:00

current date time = 2022-02-21 08:42:40

finish date time = 2022-02-21 09:42:16

speed = 7364.19 (data/sec)

max speed = 7364.19 (data/sec)

機械学習

レーティング測定

まとめ

棋譜生成時の開始手数の違いにより、レーティングに変化があるか調べた。

棋譜の生成速度は、 開始手数の最大値が 0 の場合を除き、開始手数の最大値が大きくなるほど下がった。

学習ロスと検証ロスは、 開始手数の最大値が 0 の場合を除き、開始手数の最大値が大きくなるほど、ロスが下がった。

平手局面の評価値は、 開始手数の最大値による差はほとんどなかった。

評価値の絶対値は、 開始手数の最大値が 0 の場合を除き、開始手数の最大値が大きくなるほど、評価値の絶対値が上がった。

レーティングは、計測誤差が大きく、数値がばらばらだった。開始手数の最大値が 0 の場合と 1000 の場合は、他に比べてレーティングが下がるようだった。

棋譜の生成速度については、開始手数が大きくなるほど、終盤の局面の割合が増え、有効分枝数が大きくなり、 1 手の探索にかかる時間が増えるのだと思われる。

学習ロスと検証ロスについては、開始手数の最大値が大きくなるほど、教師データに含まれる評価値が大きくなるためだと思われる。

平手局面の評価値については、機械学習に大きな問題が生じていないことを表している。

評価値の絶対値については、学習ロスと検証ロスと同様、教師データに含まれる評価値が大きくなるためだと思われる。

レーティングについては、計測誤差が大きく、確かなことは言えなかった。ただし、開始手数の最大値が 0 の場合と 1000 の場合は、学習データとしては不向きなように思われる。

取り急ぎ、最もレーティングの高かった 70 を、今後使用していきたいと思う。

tanuki- 2022-01-23 棋譜生成時の FV_SCALE

tanuki- 2022-01-23 棋譜生成時の FV_SCALE

実験内容

  • 棋譜生成時の FV_SCALE の違いにより、レーティングに変化があるか測定する。

棋譜生成

生成ルーチン tanuki-棋譜生成ルーチン
評価関数 水匠5 FV_SCALE=24
1手あたりの思考 深さ最大 9 思考ノード数最大 50,000 ノード
開始局面 foodgate の 2020 年~ 2021 年の棋譜のうち、レーティング 3900 以上同士の対局の 32 手目までから 1 局面ランダムに選択し、その局面を開始局面とした ランダムムーブなし
生成局面数 10 億局面 × 2 セット
生成条件 対局は打ち切らず詰みの局面まで学習データに出力した

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkp_vm_256x2-32-32
学習手法 SGD ミニバッチ法
USI_Hash 1024
Threads 16
loop 100
batchsize 1000000
lambda 0.5
eta 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 無効
次元下げ なし
学習データ内で重複した局面の除外 しない
初期ネットワークパラメーター tanuki-wcsc29
勝敗項の教師信号 0.80

レーティング測定

対局相手 tanuki-wcsc29.halfkp_vm_256x2-32-32.suisho-wcsoc2020.depth=9.GeneratorRandomMove=false.startpos
思考時間 持ち時間 900 秒 + 1 手 5 秒加算
対局数 5000
同時対局数 64
ハッシュサイズ 768
開始局面 たややん互換局面集

実験結果

棋譜生成

FV_SCALE=24 の場合

971608612 / 1000000000

elapsed time = 32:00:00

current date time = 2022-01-17 02:17:57

finish date time = 2022-01-17 03:13:56

speed = 8451.37 (data/sec)

max speed = 8474.66 (data/sec)

Number of plays per record=120

FV_SCALE=16 の場合

980828157 / 1000000000

elapsed time = 40:00:00

current date time = 2022-01-22 06:41:28

finish date time = 2022-01-22 07:28:11

speed = 6838.61 (data/sec)

max speed = 6842.35 (data/sec)

Number of plays per record=120

機械学習

レーティング測定

対局数=5000 同時対局数=64 ハッシュサイズ=768 開始手数=24 最大手数=320 開始局面ファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\TanukiColiseum\taya36_2020-11-06.sfen NUMAノード数=2 表示更新間隔(ms)=3600000

思考エンジン1 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine1\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\suisho5.FV_SCALE=24\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140

思考エンジン2 name=YaneuraOu NNUE 7.00 64ZEN2 TOURNAMENT author=by yaneurao exeファイル=C:\Jenkins\workspace\TanukiColiseum.2021-09-05\engine2\source\YaneuraOu-by-gcc.exe 評価関数フォルダパス=D:\hnoda\shogi\eval\tanuki-wcsc29.halfkp_vm_256x2-32-32.suisho-wcsoc2020.depth=9.GeneratorRandomMove=false.startpos\final 定跡手数=256 定跡ファイル名=no_book 思考ノード数=0 思考ノード数に加える乱数(%)=0 思考ノード数の乱数を1手毎に変化させる=False 持ち時間(ms)=900000 秒読み時間(ms)=0 加算時間(ms)=5000 乱数付き思考時間(ms)=0 スレッド数=1 BookEvalDiff=30 定跡の採択率を考慮する=false 定跡の手数を無視する=false SlowMover=100 DrawValue=-2 BookEvalBlackLimit=0 BookEvalWhiteLimit=-140

対局数5000 先手勝ち2221(53.2%) 後手勝ち1952(46.8%) 引き分け827

engine1

勝ち1985(47.6% R-14.1 +-9.6) 先手勝ち1052(25.2%) 後手勝ち933(22.4%)

宣言勝ち18 先手宣言勝ち8 後手宣言勝ち10 先手引き分け400 後手引き分け427

engine2

勝ち2188(52.4%) 先手勝ち1169(28.0%) 後手勝ち1019(24.4%)

宣言勝ち346 先手宣言勝ち197 後手宣言勝ち149 先手引き分け427 後手引き分け400

1985,827,2188

まとめ

棋譜生成時の FV_SCALE の違いにより、レーティングに変化があるか測定した。

学習ロスと検証ロスは、 FV_SCALE=24 のほうが高かった。

指し手一致率についても、 FV_SCALE=24 のほうが高かった。

平手局面の評価値は、 FV_SCALE=24 のほうが低かった。

評価値の絶対値は、 FV_SCALE=24 のほうが低かった。

レーティングは、 tanuki-wcsc29.halfkp_vm_256x2-32-32.suisho-wcsoc2020.depth=9.GeneratorRandomMove=false.startpos と比べて、優位に低かった。

学習ロスと検証ロスについては、教師データの評価値の絶対値が小さくなったのが原因だと思われる。

指し手一致率については、学習データに序中盤の局面が多く含まれていたためだと思われる。

平手局面の評価値については、教師データの評価値の絶対値が小さくなったためだと思われる。

評価値の絶対値についても、教師データの評価値の絶対値が小さくなったためだと思われる。

レーティングについては、上記の結果だけからは原因が説明できなかった。

水匠 5 を学習データの生成に用いる場合は、 FV_SCALE=16 を使用するのが良さそうである。