これまでニューラルネットワークの構成に、5ブロックのResNetを使ってきたが、層を増やすると精度がどれくらい上がるか実験を行ってみた。
これまでは、ResNetの構成は、こちらの論文([1603.05027] Identity Mappings in Deep Residual Networks)で精度が高いとされている「full pre-activation」の構成に、こちらの論文([1605.07146] Wide Residual Networks)で提案されている畳み込み層の間にdropoutを加えた構成を使用していた。
一方、AlphaGo Zeroでは通常のResNetの構成を使用している。
そこで、通常のResNet構成で層を増やした場合とWideResNetで層を増やした場合でも比較を行った。
また、フィルター数も変更して比較した。
比較したパターンは以下の通り。
ResNet構成 | ブロック数 | フィルター枚数 | |
パターン1 | WideResNet | 5 | 192 |
パターン2 | 通常 | 5 | 192 |
パターン3 | 通常 | 10 | 192 |
パターン4 | 通常 | 10 | 128 |
パターン5 | 通常 | 10 | 64 |
パターン6 | WideResNet | 10 | 192 |
測定結果
測定条件
policyのtest accuracy
valueのtest accuracy
学習時間
※1000万局面あたり
※パターン1とパターン6は1080Ti、残りは1080で学習したのでそのまま比較はできないが参考として記載
考察
policyのtest accuracy
10ブロック、192フィルターのResNet、WideRestがtest accuracyが高い値になっている。
層数を増やすと精度が上がることが確かめられた。
同じ10ブロックでも、フィルター枚数を64にすると、5ブロック192フィルターより精度が落ちている。
10ブロック、128フィルターで、5ブロック192フィルターと同じくらいになっている。
層数とフィルター枚数はともに重要であり、バランスをとる必要がありそうである。
valueのtest accuracy
傾向は、policyとほぼ同じとなった。
学習時間
ResNetのブロックを倍にすると学習時間は、1.76倍になった。
層を増やすと実行時のNPSにも影響するので、精度と学習時間、対局時の速度でバランスをとる必要がある。
どれがベストか探るには実験時間がかかりすぎる。
前回35億局面学習したときよりは精度を上げたいので、今後はとりあえず10ブロックで実験していこうと思う。