DeepMindがarXiv上で発表した、深層強化学習のモデルを段階的な枝刈りすることでモデルサイズのスケーリングが可能になることを示した「In deep reinforcement learning, a pruned network is a good network」を読んだ際のメモ。
概要
- 深層強化学習はモデルサイズをスケーリングことは困難だった
- 段階的に枝刈りすることでスケーリングが可能であることを実証した
- 枝刈りすることでパフォーマンスも向上する
導入
関連研究
方法
- 訓練の20%で枝刈りを開始し、80%で最終的なスパースレベル(0.95)になるように段階的に枝刈りする
- 15層のResNet
- 15のアタリゲームで評価
- オンライン、オフラインの両方で調査
結果
スケール則
- 枝刈りしないネットワークはスケールを増やすとパフォーマンスが低下する
- 段階的な枝刈りしたネットワークはスケールを増やすほどパフォーマンスが向上する
- 段階的な枝刈りを使用すると、パラメータ効率が向上することを示唆している
スパース性
- 90%から95%でパフォーマンスが向上
- 99%でパフォーマンス維持
他、CNN、再生率、データ量、オフライン設定の実験結果があるが省略
結論
感想
将棋AIのモデルでは、パラメータ数を上げるほど強くなることが経験的にわかっている。
現在、大会で実績のある最大のモデルは、dlshogiのResNet 30ブロック384フィルタのモデルである。
これ以上モデルサイズを大きくした場合にどれくらい強くなるかに興味があった。
より大規模なモデルで実験できるように、マルチGPUでの学習に取り組んでいる。
この論文の示唆するところを考慮すると、大規模なモデルは限界がありそうである。
枝刈りの手法により深層強化学習のパフォーマンスが向上することが示されており、将棋AIでも効果があるか試してみたい。
ニューラルネットワークの枝刈りは、推論速度を上げる代わりに精度がある程度犠牲になる認識だったが、深層強化学習では逆にパフォーマンスが向上するというのが興味深い。
枝刈りにより推論速度も上がるため、探索においても効果があるので一石二鳥な手法のように思う。
dlshogiのモデルで、95%に枝刈りして追加学習した場合と、枝刈りなしで追加学習した場合で比較を行ってみたい。
まとめ
段階的な枝刈りにより深層強化学習のパフォーマンスが向上しスケーリングが可能になることを示した論文を読んだ。
将棋AIでも段階的な枝刈りが効果があるか試してみたい。