バッチサイズとステップあたりの学習速度は比例しそうだ。あるデータ生成速度に対して学習可能な範囲でバッチサイズを上げていくことが学習の高速化に繋がるかもしれない。前書き前回は教師あり学習において、バッチサイズとステップあたりの学習速度には比例関係があるのではないかという結果を得た。今回は強化学習でもこの関係が成り立つかどうかを検証していく。実験設定Miacis(categorical)でAlphaZero方式の学習を行った。実験結果floodgate2016年の棋譜を用いて計算した検証損失のグラフを次に示す。今までの結果から損失はあまり棋力に相関しないと思われるが、このグラフにおいてもバッチサイズが大きいと学習が速いことがわかる。バッチサイズ32,64で学習されたパラメータを用いて技巧2Depth1と1手1秒で200局対局を行い、性能を評価した。+230.2バッチサイズ32で200kステップ学習したパラメータの方がバッチサイズ64で100kステップ学習したパラメータよりやや強かったが、ほぼ同等と言える性能であった。バッチサイズ64で200kステップ学習したパラメータの方がより高い性能となった。バッチサイズによらない条件として次の三つを導入した。倍しなければならないバッチサイズによらず1ステップあたりにかかる時間は一定Learnerを1ステップごとにスリープさせている都合上(3)はほぼ成り立ってしまい、前回および今回の実験結果から(2)も成り立ちそうだが、(1)は多少制限が緩い可能性がある。ゲーム/チェックポイントと計算されていた。局面/ステップとなる。個人的には、この値がバッチサイズ4096となかなか近い値であると判断できるのではないかと感じる。だいたい1ステップあたりの生成量≒バッチサイズを目安として、バッチサイズあるいはスリープ時間を決定するのが良いのではないか。今回の実験では30局面/ステップほどの生成速度のままバッチサイズを64にしても(レートにして-25ほどの悪影響はあったかもしれないが)ほぼ問題なく学習できている。以前同じ設定でバッチサイズ4096にした場合上手く学習できなかったのでいくらでも大きくできるということはないと思われるが、できるだけ大きくすることで多少学習速度を上げることができる可能性はある。S3に生成した総ゲーム数と1局面あたりの思考時間が記載されている。24,000,000ゲームを5000基、12時間、1局面の思考時間約0.08秒で生成したことから1ゲームの平均手数はと求まる。今までは再現性や比較の観点から毎回ランダム初期化したパラメ...2019-04-10小さいバッチサイズに対する学習率設定Miacisではバッチサイズ64で学習を行っている。月別アーカイブはてなブログをはじめよう!tokuminiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。