← all posts
AI 2026.05.03 · 12 min read Advanced

Rainbow DQN의 다섯 가지 개선은 왜 함께 작동하는가

Dueling Network의 분해부터 Noisy Net의 암묵적 탐험까지, Rainbow를 구성하는 다섯 요소가 공유하는 설계 철학과 그 수학적 근거를 추적한다.


Rainbow(Hessel 2018)는 DQN 위에 여섯 가지 독립적인 개선을 쌓아 Atari 57게임에서 인간 수준을 뛰어넘었다. 그런데 이 개선들은 각자 별개의 논문에서 나왔음에도 함께 쌓였을 때 단순 합산보다 더 잘 작동한다. 왜 그런가? 그리고 이 요소들이 공유하는 설계 원칙은 무엇인가?

Q-value를 쪼갠다 — Dueling Network

DQN은 Q(s,a)Q(s, a)를 end-to-end로 학습한다. 이 방식의 낭비는, 어떤 state에서는 모든 action의 Q값이 높거나 낮아서 “이 상황이 좋다/나쁘다”는 정보가 action-specific 학습에 묻힌다는 것이다.

Dueling Network(Wang 2016)는 Q를 두 갈래로 분해한다.

Q(s,a;θ)=V(s;w)+A(s,a;w)1AaA(s,a;w)Q(s, a;\,\theta) = V(s;\,w) + A(s, a;\,w) - \frac{1}{|\mathcal{A}|}\sum_{a'} A(s, a';\,w)

V(s)V(s)는 state의 본질적 가치, A(s,a)A(s,a)는 그 state에서 해당 action이 평균보다 얼마나 나은지를 나타낸다. 공유 hidden layer의 gradient가 모든 action에 동시에 흘러들어, VV의 학습이 A|\mathcal{A}|배 강해진다.

여기서 mean subtraction이 핵심이다. Q=V+AQ = V + A만으로는 (V+c,Ac)(V+c, A-c)처럼 무한히 많은 분해가 존재해 네트워크가 하나의 표현으로 수렴할 이유가 없다. Mean subtraction은 aA(s,a)=0\sum_a A(s,a) = 0을 강제해 표현을 유일하게 만든다.

명제 1 · Dueling Decomposition의 유일성

Mean-centered constraint aA(s,a)=0\sum_a A(s,a) = 0을 만족하는 (V(s),A(s,a))(V(s), A(s,a))QQ로부터 유일하게 복구된다.

V(s)=1AaQ(s,a),A(s,a)=Q(s,a)V(s)V(s) = \frac{1}{|\mathcal{A}|}\sum_a Q(s, a), \quad A(s,a) = Q(s,a) - V(s)

▷ 증명

(V,A)(V', A')가 또 다른 identifiable 분해라면, V(s)=1AaQ(s,a)=V(s)V'(s) = \frac{1}{|\mathcal{A}|}\sum_a Q(s,a) = V(s)이고 따라서 A(s,a)=Q(s,a)V(s)=A(s,a)A'(s,a) = Q(s,a) - V'(s) = A(s,a). 유일성 성립. \square

중요한 경험을 더 자주 본다 — Prioritized Experience Replay

표준 DQN의 experience replay는 모든 transition을 1/N1/N의 동일한 확률로 샘플링한다. TD error δi|\delta_i|가 작은, 이미 잘 학습된 sample도 high-error sample과 같은 빈도로 불린다.

PER(Schaul 2016)은 priority를 TD error에 비례하게 설정한다.

pi=(δi+ϵ)αj(δj+ϵ)αp_i = \frac{(|\delta_i| + \epsilon)^\alpha}{\sum_j (|\delta_j| + \epsilon)^\alpha}

α\alpha는 prioritization 강도이고, ϵ\epsilon은 zero-division 방지를 위한 작은 상수다. 그런데 priority sampling은 gradient의 기대값을 uniform sampling과 다르게 만든다 — biased estimator다. 이를 보정하기 위해 Importance Sampling(IS) weight를 곱한다.

wi=(1Npi)βw_i = \left(\frac{1}{N \cdot p_i}\right)^\beta

β=1\beta = 1이면 완전히 unbiased로 복구된다. 학습 초기에는 β\beta를 작게 두어 variance를 낮추고, 학습이 진행될수록 β1\beta \to 1로 annealing한다. 모델이 부정확할 때는 bias가 오히려 variance를 억제하고, 모델이 수렴하면 unbiasedness가 중요해지기 때문이다.

트레이드오프

β\beta가 클수록 unbiased하지만 IS weight의 분산이 커진다. wmax/wminw_{\max}/w_{\min}이 수백 배에 달할 수 있어 gradient를 불안정하게 만들 수 있다. Rainbow에서는 max-normalization(w_i / max(w))으로 weight를 [0, 1]로 클리핑한다.

실제 reward를 더 많이 쓴다 — Multi-Step Returns

1-step TD는 매 step마다 bootstrapped value에 의존한다. 이 추정이 틀리면 오류가 매 step마다 누적된다.

Gt(n)=l=0n1γlrt+l+γnV^(st+n)G_t^{(n)} = \sum_{l=0}^{n-1} \gamma^l r_{t+l} + \gamma^n \hat{V}(s_{t+n})

nn을 늘리면 실제 reward를 더 많이 사용하게 되어 bootstrapping 의존도가 줄고, 분산이 감소한다. 대신 st+ns_{t+n}에서의 value 추정 오류가 전파될 수 있어 bias가 생긴다. 이 bias-variance tradeoff의 균형점이 Atari 환경에서는 경험적으로 n[3,5]n \in [3, 5] 근방이다.

Var(G(n))=σr21γ2n1γ2+γ2nσV2\text{Var}(G^{(n)}) = \sigma_r^2 \cdot \frac{1 - \gamma^{2n}}{1 - \gamma^2} + \gamma^{2n} \sigma_V^2

nn이 커지면 reward 항은 늘어나지만 γ2n\gamma^{2n}VV 항을 감쇄한다. 최적 nn에서 둘의 합이 최소가 된다.

탐험을 학습한다 — Noisy Networks

ϵ\epsilon-greedy는 모든 state에서 동일한 확률로 random action을 취한다. 이미 잘 알려진 state에서도, 불확실한 state에서도 똑같이 탐험한다는 뜻이다.

Noisy Net(Fortunato 2018)은 탐험을 weight의 확률성으로 구현한다.

W=μ+σϵ,ϵN(0,I)W = \mu + \sigma \odot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I)

μ\mu는 standard network의 weight, σ\sigma는 탐험의 강도, ϵ\epsilon은 매 forward pass마다 재샘플링된다. 핵심은 σ\sigma도 gradient로 학습된다는 것이다 — 불확실한 state에서는 gradient variance가 커서 σ\sigma가 자동으로 늘어나고, 잘 알려진 state에서는 줄어든다.

계산 효율을 위해 Factorized Gaussian noise를 쓴다. Full rank noise ϵRm×n\epsilon \in \mathbb{R}^{m \times n}mnmn개의 샘플이 필요하지만, ϵij=ϵixϵjy\epsilon_{ij} = \epsilon_i^x \cdot \epsilon_j^y로 factorize하면 m+nm + n개로 충분하다.

함께 쌓으면 무엇이 달라지는가

Hessel 2018의 ablation에서 각 요소의 단독 기여도는 다음과 같다(Atari 57게임 human-normalized score 기준):

  • Multi-step, Distributional: 각 +8~10%
  • PER: +6%
  • Dueling: +3~4%
  • Noisy Net: +2~3%
  • Double DQN: +1~2%

단순 합산이면 약 +22~27%이지만 실제 Rainbow는 +40% 이상이다. Synergy가 있다.

PER과 Dueling의 결합이 대표적이다. PER이 high-error sample을 자주 불러오면, Dueling의 VV head가 그 오류를 모든 action에 공유하며 빠르게 수정한다. Multi-step과 Distributional도 서로를 강화한다 — n-step return이 더 풍부한 target 정보를 제공하면, 분포 추정의 정확도가 함께 올라간다.

트레이드오프

이 요소들은 각자 hyperparameter를 가진다(α,β,n,σinit\alpha, \beta, n, \sigma_{\text{init}} 등). 조합하면 민감도가 곱해진다. Rainbow의 hyperparameter는 Atari에 맞게 조정된 것이므로, 새로운 환경에서는 재조정이 필요하다. 특히 nn이 너무 크면 off-policy bias가 커지고, β\beta annealing이 너무 빠르면 초기 학습이 불안정해진다.

정리

  • Dueling은 Q=V+AQ = V + A로 분해해 state-value 학습을 모든 action에 공유한다. Mean subtraction이 표현의 유일성을 보장한다.
  • PER은 TD error 기반 priority sampling으로 informative sample에 집중하고, IS weight로 bias를 보정한다.
  • Multi-step return은 실제 reward를 더 많이 사용해 bootstrapping 오류를 줄이며, 최적 nn은 bias-variance tradeoff에서 결정된다.
  • Noisy Net은 weight의 확률성으로 state-dependent exploration을 자동화하며, σ\sigma가 gradient로 학습된다.
  • 이 네 요소는 독립적인 동기에서 나왔지만, 모두 gradient signal의 품질 향상이라는 원칙을 공유하기 때문에 결합했을 때 synergy가 발생한다.
REF
Schaul et al. · 2016 · Prioritized Experience Replay · ICLR