이 글은 서강대 가상융합 전문대학원(구 메타버스 전문대학원) 강화학습 자료를 기반으로 작성되었습니다.
DQN의 탄생: 딥러닝이 강화학습을 만났을 때 (Replay Buffer & Target Network)
인간은 복잡한 세상 속에서 무수한 선택을 하고 그 결과를 기억하며 다음 결정을 내리는 존재이다. 이와 같은 방식으로 기계에게 스스로 판단하는 능력을 부여하고자 하는 시도에서 강화학습은 출발한다. 그러나 초창기 강화학습 알고리즘들은 현실 세계의 복잡성 앞에서 취약점을 드러냈다. 가능한 상태를 표로 저장하고 최적의 행동을 선택하는 방식, 즉 Tabular Q-learning이 대표적이었다. 이 방식은 단순하고 직관적이지만, 현실 세계에서는 거의 사용할 수 없을 만큼 취약하다. 세상은 우리가 상상하는 것보다 훨씬 많은 상태로 이루어져 있기 때문이다. 예를 들어, 카트폴(CartPole)처럼 단순한 물리 실험조차 상태 변수를 10개 구간으로만 이산화해도 개의 상태가 생긴다. Atari 게임처럼 이미지를 직접 입력받는 환경에서는 가능한 화면 조합이 약 개에 달한다. 이러한 방대한 상태 공간을 단순한 표에 모두 저장하는 것은 사실상 불가능한 일이다. Q-learning은 훌륭한 아이디어였지만, 그 자체만으로는 현실 세계의 복잡함을 견딜 수 없는 알고리즘이었다. 따라서 기계에게는 모든 경험을 일일이 기억하는 능력 대신, 비슷한 상황을 하나로 묶어 판단하는 패턴 인식 능력이 필요하게 된다.
이 패턴 인식을 가능하게 한 것이 신경망(Neural Network)이다. Q-learning은 신경망과 결합하는 방향으로 진화하였다. 표로 저장하던 $Q(s,a)$를 이제는 파라미터를 가진 함수$Q_{\theta}(s, a)$로 근사하게 된 것이다. 신경망은 비슷한 상태들에 대해 비슷한 Q값을 출력하도록 학습할 수 있기 때문에, 상태 공간이 아무리 커도 전부 저장할 필요가 없다. 이것이 바로 Deep Q-Network (DQN)의 출발점이다.
그러나 신경망 기반 Q-learning은 초기 실험에서 거의 모든 경우에 발산하는 문제에 직면하였다. 이는 "Deadly Triad(죽음의 삼중주)"로 불리는 함수 근사, 부트스트래핑, 오프-정책 학습 세 가지 요소가 함께 존재할 때 쉽게 발산으로 이어졌기 때문이다. 특히 신경망은 아주 작은 변화에도 출력이 크게 요동칠 수 있어, 목표값(target)이 계속 움직이는 학습 구조와는 극도로 상극이었다.
이러한 불안정성을 해결하기 위해 연구자들은 인간의 학습 방식을 다시 떠올렸고, 두 가지 혁신적인 메커니즘을 도입하였다. 인간은 중요한 경험들을 기억 속에 남겨두었다가 시간이 지나 상황이 정리된 후 다시 떠올리며 의미를 재구성한다. 이러한 인간의 기억 메커니즘을 기계 학습에 도입한 것이 바로 Experience Replay이다.
전통적인 방식에서는 에이전트가 겪은 경험을 발생한 순서 $(s_{t}, s_{t+1}, s_{t+2})$ 그대로 연속적으로 사용해 학습을 진행한다. 이 방식은 연속된 경험들이 서로 강하게 의존하여, 신경망이 특정 구간의 경험에 과도하게 적응하게 되는 높은 상관관계 문제를 발생시킨다. 또한 신경망은 최근에 본 경험에 지나치게 영향을 받는 Recent Bias 현상을 겪고, 새로운 패턴을 학습하는 과정에서 이전에 학습한 패턴을 쉽게 잊어버리는 Catastrophic Forgetting 현상에 취약하다.
Replay Buffer는 에이전트가 겪은 경험들을 순서대로 저장해 두는 일종의 기억 창고이다. 학습 단계에서는 버퍼에 저장된 수많은 과거 경험들 중 일부를 무작위로 샘플링하여 사용한다. 이 무작위 샘플링은 학습 데이터를 통계학에서 가정하는 독립 동일 분포(i.i.d.) 데이터에 가깝게 만들어준다. 이를 통해 학습에 사용되는 경험은 특정 시점이나 정책 상태에 치우치지 않고 보다 균형 잡힌 경험 분포를 형성하게 된다. 그 결과, 신경망은 환경 전체를 보다 폭넓게 커버하는 더 나은 커버리지를 확보하며, 동일한 경험을 여러 번 재사용할 수 있어 샘플 효율 역시 크게 향상된다. Experience Replay는 신경망 기반 강화학습이 안정적으로 사용될 수 있도록 하는 학습 구조의 재설계이다.
Experience Replay로 안정성은 확보했으나, 목표값을 계산할 때 사용하는 Q함수 자체가 계속 바뀌어 신경망을 혼란에 빠뜨리는 문제가 여전히 남아 있었다. 이 문제를 해결하기 위해 타깃 네트워크(Target Network)가 등장하였다.DQN은 실제 학습이 이루어지는 온라인 네트워크(Online Network)와 목표값 계산에 사용하는 타깃 네트워크(Target Network)를 분리한다. 온라인 네트워크는 행동 선택과 예측값 계산이라는 두 가지 핵심 기능을 담당한다. 반면 타깃 네트워크는 직접 학습되는 대상이 아니며, 일정 기간 동안 고정된 파라미터를 유지한 채 다음 상태의 가치 평가만을 수행한다. 이로써 타깃 네트워크는 시간차 학습에서 사용되는 목표값(target value)을 구성하는 고정된 기준이 된다. 타깃 네트워크의 파라미터는 역전파를 통해 직접 학습되지 않으며, 일정 학습 주기마다 온라인 네트워크의 파라미터를 복사하는 방식으로만 갱신된다. 이러한 구조는 시간차 학습에서 발생할 수 있는 불안정성을 줄이고, 온라인 네트워크가 보다 일관된 기준을 바탕으로 안정적으로 수렴하도록 돕는 역할을 한다.
Replay Buffer와 Target Network라는 두 가지 혁신은 신경망 Q-learning을 비로소 '쓸 수 있는 알고리즘'으로 만들어주었다. 이로써 기계는 끊임없이 변화하는 환경에서도 안정적으로 Q값을 추정하며, 필요할 때 경험을 다시 꺼내 학습할 수 있게 되었다.
Double DQN은 Q-learning에서 사용하는 연산이 Q값을 과대평가하는 경향을 줄이기 위해 행동을 선택하는 네트워크와 그 행동의 가치를 평가하는 네트워크를 분리하는 아이디어로 제안되었다. 이는 과도한 낙관주의를 줄이고 보다 정확한 Q값을 유지할 수 있게 한다.
이 모든 구성 요소가 합쳐져 DQN 알고리즘이 완성된다. 에이전트는 $\epsilon$-greedy 탐험으로 행동을 선택하고, 경험은 Replay Buffer에 저장된다. 학습 단계에서는 Replay Buffer에서 미니배치를 샘플링하고, Target Network를 이용해 타깃 $y = r + \gamma \max_{a'} Q_{\theta^-} (s', a')$을 계산한다. 이후 Online Network는 손실$(Q_{\theta}(s, a) - y)^2$을 최소화하도록 업데이트된다. 일정 주기마다 Target Network는 갱신되고, 은 점차 감소하여 탐험 비율을 줄여나간다.
DQN의 등장은 "기계가 어떻게 세계를 이해하고 판단하는가"에 대한 하나의 답이었다. 리플레이 버퍼는 기계에게 기억을 부여하였고, 타깃 네트워크는 기준점을 부여하였다. 신경망 구조는 방대한 상태 공간에서 패턴을 포착하는 능력을 부여하였다. 이 세 가지가 결합하자 기계는 더 이상 작은 문제에 국한된 학습자가 아니었다. DQN은 이후 등장한 Double DQN, Dueling DQN, Rainbow와 같은 더 높은 성능을 보여준 알고리즘들의 방향성을 제시하는 중요한 발걸음이었다. "경험으로부터 패턴을 배우고, 그 패턴으로부터 세상을 판단할 수 있다"는 원리가 오늘날 AI 에이전트가 스스로 결정을 내릴 수 있는 기반이 되었다.
'Reinforcement learning' 카테고리의 다른 글
| [강화학습 정복하기] 8강: 가치에서 정책으로-REINFORCE 알고리즘과 정책 그래디언트 (0) | 2025.12.22 |
|---|---|
| [강화학습 정복하기] 7강: DQN 성능 높이기-Dueling DQN 구조와 학습 안정화 팁 (0) | 2025.12.22 |
| [강화학습 정복하기] 5강: Q-learning vs SARSA: 지도 없이 길을 찾는 방법 (0) | 2025.12.22 |
| [강화학습 정복하기] 4강: MDP와 벨만 방정식: 강화학습을 지탱하는 수학적 뼈대 (0) | 2025.12.22 |
| [강화학습 정복하기] 3강: 첫 번째 실습 CartPole: 엡실론-그리디(ε-greedy)로 균형 잡기 (0) | 2025.12.22 |