TOP
> 記事閲覧

件名 | : Re: AobaZeroを序盤や、40手以内で投了する棋譜の学習回数を減らして+60 ELOほど強く |
投稿日 | : 2022/11/11(Fri) 23:42 |
投稿者 | : 山下 |
参照先 | : |
投了なし、とありの棋譜で強さを測定したことはないのですが、
おそらくプラスになってるのではないか、と思います。
勝率1%以下で延々指す局面はvalueもそれほど意味ある情報でなく
着手も厳しい手を指さない(Policyのトップを選ぶだけ)が多いです。
現在も投了しない棋譜は全体の10%で生成していて、
投了が間違う割合(投了の閾値、現在は勝率25%を下回った後、逆転勝ち)が
5%未満になるように閾値を自動調整しています。
つまり95%の投了は正しい、です。
投了は主に棋譜生成時間の短縮が狙いではあるのですが。
おそらくプラスになってるのではないか、と思います。
勝率1%以下で延々指す局面はvalueもそれほど意味ある情報でなく
着手も厳しい手を指さない(Policyのトップを選ぶだけ)が多いです。
現在も投了しない棋譜は全体の10%で生成していて、
投了が間違う割合(投了の閾値、現在は勝率25%を下回った後、逆転勝ち)が
5%未満になるように閾値を自動調整しています。
つまり95%の投了は正しい、です。
投了は主に棋譜生成時間の短縮が狙いではあるのですが。
そこで、直近の1600playoutの棋譜、216万棋譜に対して、学習率を0.001から0.000002までcos annealingで
変化させて学習しなおしてみました。
同時に、30手までの棋譜や、40手以内に投了した棋譜の学習回数を減らしてみました。
結果 +64 ELOほど強いweightができたので、
w4177からこの重みに切り替えて、学習も序盤の手の回数を減らすようにしました。
これにより、学習されない局面が増えるので(29%ほどが使われない)、平均手数が85.1手で、1局面を1回、学習するような
割合に変更しました。学習回数は今までの約半分になります。
weightが作られるタイミングは30000棋譜ごと、と今まで(34285棋譜ごと)より、やや早いです(100万棋譜のreplay bufferに33世代含まれる)。
棋力の向上が学習率を大きくし直して学習させたせいか、playout数が倍になったせいか、序盤の学習回数を減らしたせいか、
などは不明です。
具体的にはミニバッチ128を100万棋譜の約8510万局面からランダムに選んでるのですが
40手までで投了してる棋譜は4分の1、30手までは、0手目は20/3000、29手目は2999/3000 を
学習するようにしています。
if ( m <= 40 && (rand() % 4) != 0 ) cancel
if ( n < 30 && (rand() % 3000) > exp(8.0*(30-n)/30) ) cancel
対水匠5(7.50,1手40k)と1手100playoutでの勝率。1200局、互角局面(24手目まで)利用。256x20block
勝 分 敗 局数 (宣 千 宣) 先手勝率 勝率 95% ELO
661- 9-530 1200 (19- 9-1)(s=595-596,0.500), 0.555(0.028)( 38) 序盤や40手以内の学習回数を減らす
545-19-636 1200 (18-18-1)(s=602-579,0.510), 0.462(0.028)( -26) w4176 (最新)