[1710.02298] Rainbow: Combining Improvements in Deep Reinforcement Learning (arxiv.org)
이 논문을 마지막으로 DQN series의 끝이다. 몇 개의 글에 걸쳐서 다양한 DQN의 변형을 읽고 리뷰를 하였다. 논문들에는 이런 발전을 합쳐서 성능 결과를 낸 연구도 있지만, 이 논문은 6개의 DQN에서 발전한 것들을 다 합쳐서 성능을 대폭 끌어올린 논문이다. 이것을 Rainbow DQN이라고 부르는데 위에 있는 타노스의 인피니티 건틀렛과 비슷한 느낌이라 짤을 하나 만들어 보았다. 이것으로 이제 DQN은 끝이고 다른 RL 논문을 다뤄볼 예정이다.
Introduction
Deep Q-Network (리뷰: https://limepencil.tistory.com/38)이 RL에 가져온 혁신으로 인해 많은 발전들이 그 뒤를 따랐는데, 이들 중에 큰 몇 가지를 이야기해 보자면
- Double DQN https://limepencil.tistory.com/41
- Dueling DQN https://limepencil.tistory.com/42
- Prioritized Experience Replay https://limepencil.tistory.com/43
- Multi-step target(A3C)
- Distributional Q-learning
- NoisyNet https://limepencil.tistory.com/43
이다. 이들은 DQN에 큰 성능 향상을 이루었고, 이중에 몇 가지를 섞어 진행한 실험도 있다. 이 논문에서는 더 나아가 이 모든 것을 합쳐서 성능을 올리는지 연구하고, 또한 어떤 factor이 가장 성능 향상에 도움이 되거나/되지 않거나를 탐색한다.
Background & Extensions to DQN & The Integrated Agent
DQN의 대한 설명이나 각 extension에 대한 깊은 설명은 위에 링크들을 참고해 주면 되고, 여기서는 각 extension이 무엇을 하는지 짤막하게 설명하겠다.
- Double Q-Learning: addresses overestimation by decoupling maximization for bootstrap target and maximization in selecting an action
- Prioritized Replay: replays memory based on particular priority measured by absolute TD error
- Dueling Network: divide the layer into value stream and action stream and aggregate them later
- Multi-step learning: use $n$-step return from a given state
- Distributional RL: network learns to approximate the distribution of returns instead of the expected return
- NoisyNet: introduce random noise into the network to replace the normal exploration strategy
이들을 기존의 DQN을 뼈대로 두고, 각각 히 다른 부분을 바꾼다. 더 자세한 부분은 논문을 참조하자.
Experimental Methods
이를 실험하기 위해서 보통의 DRL을 실험하기 위해서 쓰이는 Atari 2600게임을 사용하였다. 전 논문들처럼 agent의 점수들은 normalized 되었다.
다양한 extension들을 합치기 위해서 hyperparameter을 기존 DQN에서 조금 변형하게 되었다.
- PER을 사용한 덕분에 learning update를 시작하는 frame을 200k 에서 80k로 바꾸게 되었다.
- NoisyNet을 사용하기 위해 $\epsilon$-greedy 정책에서 $\epsilon$을 0으로 바꾸고 NoisyNet의 parameter인 $\sigma_0$을 0.5로 바꾸었다.
- Optimizer을 RMSProp에서 Adam으로 바꾸어 learning rate의 sensitivity를 낮추었다.
- PER에서 proportional variant를 사용하였고 priority exponent $\omega = 0.5$, 그리고 importance sampling exponent인 $\beta$를 0.4에서 1로 linear 하게 증가시켰다
- multi-step learning에서는 $n = 3$ 일 때에서 전체적으로 좋은 결과를 보여주었다.
Analysis
Rainbow의 성능과 데이터 효율성은 어떤 single-extension baseline들보다 더 좋다. 학습 시간은 각 연구마다 다른 setup을 사용하였기 때문에 정확한 속도 향상은 비교하기 어렵다.
Rainbow에서 extension을 하나씩 빼보면서 성능 차이를 비교한 실험에서는 PER과 multistep learning이 가장 중요한 요소였다고 하고 있다. 이들을 뺀다면 초반성능과 후반 성능 전체에 영향을 미친다. DDQN과 Dueling DQN은 그렇게 큰 영향은 미치지 않았으나, 각각의 게임마다 성능차이는 달랐다. DDQN 같은 경우에는 support of distribution이 늘어나서 overestimation을 하게 된다면 성능이 오를 것으로 보인다.
Discussion
이 논문에서는 여러 가지의 extension들이 DQN에 모두 다 합쳐질 수 있는지 확인하였고, 거의 모든 component들이 성능 향상에 도움을 주었다는 것을 보았다. Policy-based network 같은 다른 유형의 RL은 다른 연구가 더 필요하다.