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 を、今後使用していきたいと思う。