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

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

tanuki- 2023-01-04 Fine Tuning halfkp_1024x2-8-32 min_progress

tanuki- 2023-01-04 Fine Tuning halfkp_1024x2-8-32 min_progress

実験内容

  • 高ノード数の探索を用いて教師データを生成し、 halfkp_1024x2-8-32 評価関数を、水匠開発者杉村氏が公開している学習データ Suishopsv-150m を用いて Fine Tuning する。その際、進行度が一定値以上の局面のみ学習させる。

棋譜生成

生成ルーチン 不明
評価関数 水匠 4
1手あたりの思考 1 手 200 万ノード
開始局面 不明
開始局面後のランダムムーブ 不明
生成局面数 約 1 億 5 千万局面
生成条件 不明

棋譜シャッフル

シャッフルルーチン tanuki-棋譜シャッフルルーチン
qsearch あり
最小手数 0
最大手数 10000
最小進行度 0.0・0.1・0.2・0.3・0.4・0.5・0.6・0.7・0.8・0.9
最大進行度 1.0

機械学習

機械学習ルーチン やねうら王機械学習ルーチン
学習モデル halfkp_1024x2-8-32
学習手法 SGD ミニバッチ法
USI_Hash 1024
Threads 127
loop 100
batchsize 1000000
lambda 0.0
eta eta1=1e-8 eta2=0.001 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
教師局面内で重複した局面の除外 しない
初期ネットワークパラメーター tanuki-wcsc32 https://docs.google.com/document/d/1IjK1PpT_-lGZen28ACWNrKsjk-BVnS4riDAR2oPZHDk/edit
勝敗項の教師信号 0.99
やねうら王バージョン V5.33 相当
学習局面数 1 億 × 20 周

レーティング測定

対局相手 tanuki-wcsc32 https://docs.google.com/document/d/1IjK1PpT_-lGZen28ACWNrKsjk-BVnS4riDAR2oPZHDk/edit
思考時間 持ち時間 300 秒 + 1 手 2 秒加算
対局数 2000
同時対局数 64
ハッシュサイズ 512
開始局面 たややん互換局面集

実験結果

機械学習

レーティング測定

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.0\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち1017(55.9%) 後手勝ち803(44.1%) 引き分け180

engine1

勝ち973(53.5% R21.9 +-15.3) 先手勝ち544(29.9%) 後手勝ち429(23.6%)

宣言勝ち29 先手宣言勝ち17 後手宣言勝ち12 先手引き分け81 後手引き分け99

engine2

勝ち847(46.5%) 先手勝ち473(26.0%) 後手勝ち374(20.5%)

宣言勝ち19 先手宣言勝ち8 後手宣言勝ち11 先手引き分け99 後手引き分け81

973,180,847

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.1\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち937(52.1%) 後手勝ち861(47.9%) 引き分け202

engine1

勝ち1025(57.0% R44.0 +-15.4) 先手勝ち532(29.6%) 後手勝ち493(27.4%)

宣言勝ち40 先手宣言勝ち14 後手宣言勝ち26 先手引き分け97 後手引き分け105

engine2

勝ち773(43.0%) 先手勝ち405(22.5%) 後手勝ち368(20.5%)

宣言勝ち13 先手宣言勝ち5 後手宣言勝ち8 先手引き分け105 後手引き分け97

1025,202,773

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.2\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち926(51.8%) 後手勝ち862(48.2%) 引き分け212

engine1

勝ち1009(56.4% R40.1 +-15.3) 先手勝ち521(29.1%) 後手勝ち488(27.3%)

宣言勝ち44 先手宣言勝ち18 後手宣言勝ち26 先手引き分け105 後手引き分け107

engine2

勝ち779(43.6%) 先手勝ち405(22.7%) 後手勝ち374(20.9%)

宣言勝ち24 先手宣言勝ち10 後手宣言勝ち14 先手引き分け107 後手引き分け105

1009,212,779

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.3\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち1008(56.0%) 後手勝ち792(44.0%) 引き分け200

engine1

勝ち994(55.2% R32.8 +-15.3) 先手勝ち549(30.5%) 後手勝ち445(24.7%)

宣言勝ち32 先手宣言勝ち15 後手宣言勝ち17 先手引き分け105 後手引き分け95

engine2

勝ち806(44.8%) 先手勝ち459(25.5%) 後手勝ち347(19.3%)

宣言勝ち23 先手宣言勝ち12 後手宣言勝ち11 先手引き分け95 後手引き分け105

994,200,806

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.4\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち899(50.4%) 後手勝ち883(49.6%) 引き分け218

engine1

勝ち970(54.4% R27.5 +-15.3) 先手勝ち488(27.4%) 後手勝ち482(27.0%)

宣言勝ち51 先手宣言勝ち23 後手宣言勝ち28 先手引き分け110 後手引き分け108

engine2

勝ち812(45.6%) 先手勝ち411(23.1%) 後手勝ち401(22.5%)

宣言勝ち23 先手宣言勝ち5 後手宣言勝ち18 先手引き分け108 後手引き分け110

970,218,812

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.5\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち920(52.5%) 後手勝ち833(47.5%) 引き分け247

engine1

勝ち926(52.8% R17.2 +-15.3) 先手勝ち485(27.7%) 後手勝ち441(25.2%)

宣言勝ち45 先手宣言勝ち22 後手宣言勝ち23 先手引き分け122 後手引き分け125

engine2

勝ち827(47.2%) 先手勝ち435(24.8%) 後手勝ち392(22.4%)

宣言勝ち27 先手宣言勝ち9 後手宣言勝ち18 先手引き分け125 後手引き分け122

926,247,827

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.6\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち986(55.0%) 後手勝ち807(45.0%) 引き分け207

engine1

勝ち945(52.7% R16.9 +-15.3) 先手勝ち519(28.9%) 後手勝ち426(23.8%)

宣言勝ち39 先手宣言勝ち22 後手宣言勝ち17 先手引き分け99 後手引き分け108

engine2

勝ち848(47.3%) 先手勝ち467(26.0%) 後手勝ち381(21.2%)

宣言勝ち19 先手宣言勝ち8 後手宣言勝ち11 先手引き分け108 後手引き分け99

945,207,848

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.7\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち991(54.5%) 後手勝ち828(45.5%) 引き分け181

engine1

勝ち914(50.2% R1.6 +-15.2) 先手勝ち500(27.5%) 後手勝ち414(22.8%)

宣言勝ち52 先手宣言勝ち26 後手宣言勝ち26 先手引き分け83 後手引き分け98

engine2

勝ち905(49.8%) 先手勝ち491(27.0%) 後手勝ち414(22.8%)

宣言勝ち25 先手宣言勝ち13 後手宣言勝ち12 先手引き分け98 後手引き分け83

914,181,905

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.8\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち979(54.1%) 後手勝ち832(45.9%) 引き分け189

engine1

勝ち883(48.8% R-7.8 +-15.2) 先手勝ち483(26.7%) 後手勝ち400(22.1%)

宣言勝ち35 先手宣言勝ち15 後手宣言勝ち20 先手引き分け89 後手引き分け100

engine2

勝ち928(51.2%) 先手勝ち496(27.4%) 後手勝ち432(23.9%)

宣言勝ち20 先手宣言勝ち6 後手宣言勝ち14 先手引き分け100 後手引き分け89

883,189,928

対局数=2000 同時対局数=64 ハッシュサイズ=512 開始手数=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\halfkp_1024x2-8-32.add.Suishopsv-150m.eta2=0.001.min_progress=0.9\20 定跡手数=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=16

思考エンジン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\halfkp_1024x2-8-32\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=16

対局数2000 先手勝ち915(51.8%) 後手勝ち852(48.2%) 引き分け233

engine1

勝ち689(39.0% R-68.4 +-15.5) 先手勝ち361(20.4%) 後手勝ち328(18.6%)

宣言勝ち28 先手宣言勝ち12 後手宣言勝ち16 先手引き分け113 後手引き分け120

engine2

勝ち1078(61.0%) 先手勝ち554(31.4%) 後手勝ち524(29.7%)

宣言勝ち11 先手宣言勝ち3 後手宣言勝ち8 先手引き分け120 後手引き分け113

689,233,1078

学習ロスと検証ロスは、最序盤はゆっくり降下し、次第に降下速度が上がり、その後ゆっくり降下していった。また、進行度の最小値が高いほど、ロスの値は小さくなった。

学習率は、 20 億局面学習した段階では、下がらなかった。

平手局面の評価値は、初めのうちは初期値より上がり、その後徐々に下がっていった。進行度の最小値が 0.0~0.2 のときは、ほとんど同じ遷移だった。また、進行度の最小値が 0.3 以上の場合、進行度の最小値が上がれば上がるほど、平手局面の評価値は大きくなった。

評価値のスケールは、進行度の最小値が上がれば上がるほど、上がっていった。

最小進行度を 0.1 に設定したときが、最もレーティングが高くなった。

考察

学習ロスと検証ロス

最序盤にゆっくり降下したのは、 Warmup の影響だと考えられる。 Warmup 終了後、降下速度が最大となり、収束に近づくにつれて、降下速度が下がっていったのだと思われる。

学習率

20 億局面の学習では、収束にほとんど近づかなかったという事だと思われる。

平手局面の評価値

初めのうちに初期値より上がったのは、先手勝率を反映しているのだと思われる。一方、その後徐々に下がって言った理由は思いつかなかった。

評価値のスケール

進行度の最小値が上がれば上がるほど、中終盤の局面が増え、検証データに含まれる局面の評価値の絶対値が大きくなる。このため、進行度の最小値が上がれば上がるほど、評価値のスケールが大きくなったのだと思われる。

レーティング

進行度 0.0~0.1 の平手局面に近い局面は、 Fine Tuning の学習データから外したほうが良いという事は分かったが、理由として思い当たるものはなかった。

まとめ

高ノード数の探索を用いて教師データを生成し、 halfkp_1024x2-8-32 評価関数を、水匠開発者杉村氏が公開している学習データ Suishopsv-150m を用いて Fine Tuning した。その際、進行度が一定値以上の局面のみ学習させた。

進行度の最小値を複数試した結果、 0.1 のときに最もレーティングが高くなった。ただし、理由は分からなかった。

次回は、進行度の最大値を複数試し、最適な閾値を見つけたい。