[1511.06581] Dueling Network Architectures for Deep Reinforcement Learning (arxiv.org)
이번 논문에서는 두 개의 estimator 즉 state value function과 action advantage function 두 개를 DQN에서 변형한 논문에 대해 리뷰할 것입니다. DQN에 대한 리뷰는 아래 글을 참조하시면 됩니다.
[논문 리뷰] Playing Atari with Deep Reinforcement Learning (DQN) — LimePencil's Log (tistory.com)
Introduction
Here, we take an alternative but complementary approach of focusing primarily on innovating a neural network architecture that is better suited for model-free RL.
논문에서는 현존하는 model-free RL의 neural network에 complementary 한 improvement를 적용한 방법론을 설명하고 있다. 이 방법의 장점은 다른 RL 알고리즘과 간단하게 통합해서 작동할 수 있다. 이것을 논문에서는 dueling architecture이라고 하고 있는데, state value의 표현과 action advantage의 표현을 따로 분리해서 학습한다.
같은 CNN feature을 받아서 state value와 action advantage network로 나누고 이를 다시 special aggregating layer을 통해 합쳐서 state-action value function $Q$를 구할 수 있다. 즉, 기존의 DQN의 single stream에서 dual stream으로 교체한다고 생각하면 된다. 이 네트워크는 자동으로 state value와 action advantage를 인간의 supervision 없이 학습한다.
이 아키텍처는 어떤 state가 중요한지의 대한 것을 action과 관련 없이 판단할 수 있다. 즉 무슨 행동을 하는지 중요하지 않은 state 같은 경우를 판단할 수 있다는 것이다. Redundant 한 action인지 아닌지를 판단할 수 있는 좋은 방법이다.
Background
이 논문의 배경지식으로는 Q-function, DQN(https://limepencil.tistory.com/38), DDQN(https://limepencil.tistory.com/41), PER 등이 나오는데 priotized experience replay를 제외한 나머지는 리뷰 글을 이미 썼고 PER도 곧 쓸 것이다(2023.04.15).
The Dueling Network Architecture
Dueling DQN의 구조는 다음과 같다. 위에 있는 그림처럼 single sequence의 fully-connected layer이 있는 것과 대비해서 two sequence의 fully-connected layer이 있고 이들을 합쳐서 하나의 $Q$ fuction이 나오게 된다. 즉 output자체의 형식은 DQN과 같기 때문에 DDQN이나 PER 같은 다른 DQN의 improvement들을 적용하기에 용이하다.
마지막에 합쳐주는 aggregating layer을 $$ Q(s, a;\theta,\alpha,\beta) = V(s, a;\theta,\beta) + A(s, a;\theta,\alpha)$$처럼 그냥 합친다고 생각할 수 있지만 그러면 $V$와 $A$의 차이를 identify 할 수 없기 때문에 다른 수식을 사용해야 한다.
$$ Q(s, a;\theta,\alpha,\beta) = V(s, a;\theta,\beta) + (A(s, a;\theta,\alpha) - \underset {a' \in |A|}{max} A (s, a';\theta, \alpha))$$
이 수식을 사용하면 optimal action인 $$a^* = \mathrm {argmax}_{a' \in \mathcal {A}} Q(s, a';\theta,\alpha,\beta) = \mathrm {argmax}_{a' \in \mathcal {A}} A(s, a';\theta,\alpha)$$ 에서는 $Q(s, a';\theta,\alpha,\beta) = V(s;\theta,\beta)$가 성립한다.
다른 방식으로는 평균을 사용하는 방법이 있는데, 수식은 다음과 같다. $$ Q(s, a^*;\theta,\alpha,\beta) = V(s, a;\theta,\beta) + \Biggl(A(s, a;\theta,\alpha) - \frac {1}{|\mathcal {A}|} \sum_{a'} A (s, a';\theta, \alpha)\Biggl)$$ 이 방법은 $V$의 의미를 잃어버리지만 그 대신 $a^*$에 맞춰 update 하는 것보다 stable 하다. 그래서 이 논문에서는 이 수식을 채용하였다. 어떠한 값을 빼더라도 relative rank는 변하지 않기 때문에 정보의 손실은 일어나지 않는다. 또한 이 계산은 따로 하는 것이 아닌 네트워크의 일부분이기 때문에 auto backpropagation이 가능하다.
Experiments
The results show that with 5 actions, both architectures converge at about the same speed. However, when we increase the number of actions, the dueling architecture performs better than the traditional Q-network.
실험 결과에 따르면 Corridor이라는 실험 환경에서 Dueling DQN은 그냥 DQN보다 action의 개수가 많을 때 더 빠른 convergence를 보여주었다. 이는 공유되는 $V(s;\theta,\beta)$가 general 한 값을 학습하기 때문이다.
또한, Atari 벤치마크에서는 DQN, DDQN, Dueling DDQN, 그리고 PER을 적용한 성능을 비교하여 Dueling architecture이 실제 향상이 있다는 것을 증명하였다. 이 논문에서는 다른 hyperparameter은 다 같게 하고 learning rate를 조금 낮게 조정한 후에 convolution layer의 gradient을 $\frac {1}{\sqrt {2}}$로 rescale 하였다. 그리고 10 이상의 gradient를 clipping을 적용하였다. 실제로 모든 성능 향상 방법을 다 채택한 Dueling DDQN with PER이 제일 좋은 성능을 보여주는 것으로 보인다.
Saliency map을 계산해서 각 value network과 advantage network이 어떤 것을 집중해서 보고 있는지를 확인해 보면 value network는 앞에 오고 있는 장애물에 집중을 하고(이 state 자체를 판단) advantage network는 곧 닥쳐올 장애물에 집중을 하고 있는 것으로 보인다(이 상황에서 어떤 action을 취해야 하는지 판단). 즉 두 가지의 다른 network가 이 논문에서 제안한 역할을 하고 있는 것이다.
Discussion & Conclusion
이 dueling network의 장점은 보통 single network에서는 한 action에 대하여 update가 진행이 된다면 여기에서는 공통된 $V$가 update가 되기 때문에 더 efficient 하다고 볼 수 있다. 또한 기존의 DDQN은 Q-value 간의 크기 차이가 Q-value자체의 magnitude와 scale차이가 커서 noise를 발생시킬 수 있는데 dueling network는 이런 부분을 해결한다.
마무리를 하자면, 이 논문에서는 기존의 DQN의 network를 value network와 advantage network로 나누어서 Atari benchmark에서 state-of-the-art를 달성하였다.
'논문 리뷰 > Reinforcement Learning' 카테고리의 다른 글
[논문 리뷰] Noisy Networks for Exploration (NoisyNet) (0) | 2023.07.23 |
---|---|
[논문 리뷰] Prioritized Experience Replay (PER) (0) | 2023.05.22 |
[논문 리뷰] Deep Reinforcement Learning with Double Q-learning (DDQN) (0) | 2023.05.04 |
[논문 리뷰] Deep Recurrent Q-Learning for Partially Observable MDPs (DRQN) (0) | 2023.04.23 |
[논문 리뷰] Human-level Control through Deep Reinforcement Learning (DQN) (0) | 2023.03.30 |