Attention please

[논문 리뷰] Dueling DQN: Dueling Network Architectures for Deep Reinforcement Learning (2016) 본문

논문 리뷰/Reinforcement Learning

[논문 리뷰] Dueling DQN: Dueling Network Architectures for Deep Reinforcement Learning (2016)

Seongmin.C 2025. 4. 22. 04:11
728x90
반응형

이번에 리뷰할 논문은 Dueling Network Architectures for Deep Reinforcement Learning 입니다. 

https://arxiv.org/abs/1511.06581

 

Dueling Network Architectures for Deep Reinforcement Learning

In recent years there have been many successes of using deep representations in reinforcement learning. Still, many of these applications use conventional architectures, such as convolutional networks, LSTMs, or auto-encoders. In this paper, we present a n

arxiv.org

 

 

 

 

 

 

New Architecture

논문 제목에도 알 수 있듯이 본 논문에서는 새로운 아키텍처 구조를 제안합니다.

 

 

위 그림을 보시면, 마지막 layer가 2개로 나눠진 것을 확인할 수 있는데, 한 부분은 State Value Function 을 맡고 있으며, 다른 하나는 State-dependent action advantage 를 맡고 있습니다. 위쪽의 architecture는 1개의 fully-connected layer가 존재하며 총 1024개의 unit으로 이루어져 있습니다. 반면, 아래쪽의 architecture는 2개의 fully-connected layer로 구성되어 있으며, 각각 512개의 unit들로 이루어져 있습니다. 물론 마지막의 output channel 수는 action의 개수를 의미합니다. 

 

이런 위의 새로운 architecture 구조와 DDQN 알고리즘을 더한 것이 최종적으로 본 논문에서 제안하는 방법론이라 할 수 있겠습니다.

2025.04.22 - [논문 리뷰/Reinforcement Learning] - [논문 리뷰] DDQN: Deep Reinforcement Learning with Double Q-learning (2016)

 

[논문 리뷰] DDQN: Deep Reinforcement Learning with Double Q-learning (2016)

이번에 리뷰할 논문은 Deep Reinforcement Learning with Double Q-learning 입니다.https://arxiv.org/abs/1509.06461 Deep Reinforcement Learning with Double Q-learningThe popular Q-learning algorithm is known to overestimate action values under cert

smcho1201.tistory.com

 

 

 

 

 

 

Advantage function

Advantage function의 수식은 다음과 같습니다.

 

$$A^{\pi}(s, a) = Q^{\pi}(s, a) - V^{\pi}(s)$$

 

일단 각 Q와 V에 대한 수식은 다음과 같습니다.

 

$$\begin{align*}
Q^{\pi}(s, a) &= \mathbb{E} \left[ R_t \mid s_t = s, a_t = a, \pi \right], \quad \text{and} \\
V^{\pi}(s) &= \mathbb{E}_{a \sim \pi(s)} \left[ Q^{\pi}(s, a) \right].
\end{align*}$$

 

보면 $V^{\pi}(s)$ 함수는 특정 state에서 취할 수 있는 action에 대한 $ Q^{\pi}(s, a) $ 값들의 평균값임을 알 수 있습니다. 즉, $ A^{\pi}(s, a) = Q^{\pi}(s, a) - V^{\pi}(s) $ 식이 의미하는 바는 특정 state에서 각 action들에 대한 $Q$값과 평균값의 차이를 의미합니다. 

 

또한 위의 $ A^{\pi}(s, a) = Q^{\pi}(s, a) - V^{\pi}(s) $ 을 다음과 같이 다시 전개할 수 있습니다.

 

$$ Q^{\pi}(s, a) = A^{\pi}(s, a) + V^{\pi}(s) $$

 

결국 간단하게 정리하면,

 

$$A + V = Q$$

$$ \mathbb{E} \left[ A + V \right] = \mathbb{E} \left[ Q \right]$$

 

인데, 위 식의 $\mathbb{E}$는 policy에 의한 Expectation 입니다 ($ \mathbb{E}_{a \sim \pi(s)} $). 고로 action을 파라미터로 가지지 않는 $V$는 Expectation을 그대로 빠져나와 상수가 됩니다. 또한 $\mathbb{E} \left[ Q \right]$는 $V$ 입니다. 고로 다음과 같이 정리할 수 있게 됩니다.  

 

$$\mathbb{E} \left[ A \right] + V = V$$

$$ \mathbb{E} \left[ A \right] = 0 $$

 

또한 만약에 policy가 $a^* = \arg\max_{a' \in \mathcal{A}} Q(s, a')$ 와 같이 하나의 action만 뽑는 deterministic policy 라면, 이 역시 $V = Q$ 가 됩니다. 항상 같은 $Q$ 값만을 추출하기 때문에 평균이 동일하기 때문이죠. 그러면 다음과 같이 전개가 가능합니다.

 

$$Q(s, a^*) = V(s)$$

$$\Rightarrow A(s, a^*) = 0$$

 

 

 

 

 

 

Dueling DQN

기존 DQN과 달리 Dueling DQN은 마지막 layer가 2개로 나눠집니다.

 

 

위 그림과 같이 fully-connected layer에 도달하기 전까지의 네트워크 파라미터는 $\theta$ 라 표기하며, 이후에 위쪽에 해당하는 State Value Function 인 $V$ 함수의 파라미터는 $\alpha$ 이고, 아래쪽에 해당하는 State-dependent action advantage 부분인 $A$함수의 파라미터는 $\beta$ 라 표기합니다. 또한 해당 네트워크의 최종 output은 $Q$값이기 때문에 다음과 같은 수식으로 나타낼 수 있습니다. 

 

$$Q(s, a; \theta, \alpha, \beta) = V(s; \theta, \beta) + A(s, a; \theta, \alpha)$$

 

하지만 $A$는 action에 대해 advantage를 상대적으로 나타내기 때문에 너무 크거나 너무 작게 나올 수 있습니다. 예를 들어, 어떤 action의 advantage만 커지게 되면 전체 $Q$가 왜곡될 수 있습니다. 그렇기 때문에 $\max_{a' \in \mathcal{A}} A(s, a'; \theta, \alpha)$를 빼주어 정규화를 진행합니다. 

 

$$Q(s, a; \theta, \alpha, \beta) = V(s; \theta, \beta) + \left( A(s, a; \theta, \alpha) - \max_{a' \in \mathcal{A}} A(s, a'; \theta, \alpha) \right)$$

 

이를 통해 최대 값을 기준으로 다른 action들의 상대적 차이를 조정해주어 advantage scale을 조절할 수 있게 됩니다. 

 

 

 

하지만 만약 $\max_{a'} A(s, a') \approx A(s, a)$와 같이 모든 action에 대해 Advantage 값이 비슷하다면, 어떤 action을 취하더라도 Advantage 값이 거의 같아지는 현상이 발생할 수 있습니다. 이럴 경우 다음과 같이 $Q$ 식에서 문제가 발생합니다. 

 

$$Q(s, a) = V(s) + A(s, a) - A(s, a) = V(s)$$

 

Advantage 값이 모두 동일하다면, 어떤 action을 취하더라도 $A(s, a)$ 는 항상 같고, 뺀 결과는 결국 $V(s)$ 만 남게 됩니다. 즉, 모든 action에 대한 $Q$값이 동일해지므로, 특정 action을 구별하지 못하게 되는 것이죠. 이는 학습을 불안정하게 만듭니다. 

 

$$Q(s, a) = V(s) + A(s, a) - \frac{1}{|\mathcal{A}|} \sum_{a'} A(s, a')$$

 

본 논문에서는 이를 해결하기 위해 위 수식과 같이 $A(s,a)$에서 모든 action에 대한 평균값을 빼줍니다. 이를 통해 $A(s,a)$ 간의 상대적인 차이는 그대로 유지되면서, 전체적으로 평균이 0에 가까워지도록 조정됩니다.

 

 

 

728x90
반응형
Comments