読者です 読者をやめる 読者になる 読者になる

Itsukaraの日記

最新IT技術を勉強・実践中。最近はDeep Learningに注力。

DQNでのReplay Memory圧縮効果

下記でDeepMindのDQN再現コードを試行した話を書きましたが、当方のマシンではメモリが16GBしかないため、Replay Memoryが0.4M個に制限されていました。そこで、試しにReplay Memoryをメモリ上で圧縮する処理を入れてみたところ、Replay Memory用のメモリサイズが1/40以下に減りました。性能低下は16%程度です。これならば計算上は16M個まで保管できそうです。

itsukara.hateblo.jp

ただ、A3Cと較べてDQNは学習に時間が掛かり、Replay Memory圧縮で更に遅くなるため、Replay Memoryを16M個貯めるだけで54時間掛かりそうです。しかも、Deep Mindの論文と同じ程度の効果を出すには80M stepsも学習させなければならず、これには270時間以上掛かりそうです。そのため、実際に試す予定はありません。

ただ、A3Cの論文では、Relay Memoryも使うと、更に効果が高まる可能性があるとも書かれているので、そのようなことを試すには、Replay Memory圧縮が役立つと思います。

なお、なぜこれほど圧縮できるかというと、Breakoutの画面では黒色の部分が多く、これは値が0となるためです。また、単色で大きな図形が多いことも要因です。おそらくAtari2600の他のゲームでも圧縮は効果があると思います。

Replay Memory圧縮のコードを追加したものを、下記に置きましたので、興味のある方は見たり試したりしてください。

github.com