본문 바로가기
Paper

논문 리뷰 | [DQN] Playing Atari with Deep Reinforcement Learning (2013)

by 힢힢 2025. 4. 12.

강화학습과 딥러닝의 결합으로 성공적인 결과를 보인 DQN 모델을 제안한 DeepMind의 논문이다. 

 

https://arxiv.org/abs/1312.5602

 

Playing Atari with Deep Reinforcement Learning

We present the first deep learning model to successfully learn control policies directly from high-dimensional sensory input using reinforcement learning. The model is a convolutional neural network, trained with a variant of Q-learning, whose input is raw

arxiv.org

 


[ Playing Atari with Deep Reinforcement Learning (2013) ]

✦ Abstract

 

본 논문은 강화학습을 이용해 고차원의 시각 입력으로부터 직접 control policy를 학습하는 데 성공한 최초의 딥 러닝 모델을 소개한다. 모델은 convolutional neural network (CNN)이며, input으로 raw pixel을 받고, output으로 미래 보상을 추정하는 value function을 생성한다.

 


 

✦ Introduction

 

RL에서 high-dimensional sensory inputs로부터 직접 에이전트를 제어하는 것을 학습하는 것은 오랜 챌린지였다. 대부분의 성공적인 RL 시스템은 hand-crafted features에 의존하였고, 그 성능은 feature representation의 퀄리티에 따라 크게 달라졌다. 딥러닝의 발전으로 raw sensory data로부터 high-level features를 추출하는 것이 가능해져, cv나 음성인식에서 큰 성과를 거두었다. 이는 자연스럽게 RL에서도 sensory data로 직접 학습하는 것이 가능하지 않을까 하는 질문을 떠오르게 하였다.

 

그러나, 강화학습은 딥러닝 관점에서 몇 가지 챌린지가 존재한다.

 

1. 성공적인 딥러닝 방식은 대량의 hand-labelled training data가 필요함.

→ RL은 sparse, noisy하고, 지연된 보상으로부터 학습해야 함

(supervised learning은 input과 target 간의 직접적인 연관성이 존재함)

 

2. 딥러닝은 데이터 샘플이 독립적이어야 함.

→ RL은 강하게 연관된 state로부터 얻은 데이터를 사용

 

3. 딥러닝에서의 데이터 분포는 고정적인 것을 전제로 함

→ RL의 알고리즘이 새로운 행동을 학습함에 따라 데이터 분포가 변함

 

본 논문은 CNN으로 위와 같은 문제들을 극복하고, 복잡한 RL 환경에서 raw video data로부터 성공적으로 control policy를 학습할 수 있음을 보여준다. Q-learning의 변형 알고리즘을 사용하고, 데이터의 상관성 문제 (correlated data)와 계속 변하는 데이터 분포 문제 (non-stationary distribution)를 완화하기 위해, experience replay 매커니즘을 사용한다. 이는 이전 transition을 랜덤으로 샘플링하여 학습 분포를 부드럽게 한다.

 

이를 Atari 2600 환경에서 검증하는데, Atari는 고차원의 시각 input과 다양한 task를 가지는 실험적인 RL 환경이다. 하나의 신경망 네트워크로 많은 게임을 학습시켰으며, 게임의 정보나 hand-designed feature는 제공되지 않았다. (video input만으로 학습함)

 


 

✦ Background

 

에이전트는 환경 (여기서는 Atari)과 상호작용하여 action, observation, reward의 시퀀스를 경험한다. 매 타임 스텝마다 에이전트는 가능한 행동 A 중에서 행동 a_t를 선택한다. 에이전트는 환경의 내부 상태를 관찰하지 못하고, 현재 화면을 표현하는 픽셀값인 x_t만 관찰하고, 게임 스코어의 변화를 나타내는 보상 r_t를 받는다. 

 

에이전트가 현재 화면의 장면만 관찰하므로, 상황을 완전히 이해하기가 어렵다. 이를 해결하기 위해 action, observation의 시퀀스로 학습을 진행하고, 시퀀스는 유한하다. 또, 이는 각 시퀀스가 별개의 state인 Markov decision process (MDP)를 야기하므로 t에 state에 대한 표현으로 완전한 시퀀스 s_t를 사용하는 일반적인 RL 방법론을 적용할 수 있다.

 

에이전트의 목표는 미래 보상을 최대화하는 방식으로 행동을 선택하는 것이다. 미래 보상은 매 타임스텝마다 감마 값으로 할인된다. 

time t에서의 future discounted return

 

최적의 action-value function Q*(s,a)를 어떤 시퀀스 s를 보고 어떤 행동 a를 수행했을 때 기대할 수 있는 보상의 최대값으로 정의한다. 

optimal action-value function

 

optimal action-value function Q*(s,a)는 벨만 방정식 (Bellman Equation)이라는 중요한 수식을 만족한다. 만약 다음 타임 스텝에서 시퀀스 s'의 가능한 모든 행동 a'에 대한 Q*(s',a')를 안다면, 최적의 전략은 즉각적인 보상 r과 할인된 미래 보상의 합을 최대화하는 행동 a'를 선택하는 것이다. 

 

 

많은 RL 알고리즘이 반복적으로 벨만 방정식을 업데이트하여 action-value function을 추정한다. 이러한 value iteration 알고리즘은 최적의 함수로 수렴하는 것을 보장하지만, 현실에서는 각 시퀀스가 다르게 추정되어 실용적이지 않다. 그래서, 일반적으로 linear function approximator를 사용하여 Q값을 근사하는데, 본 논문에서는 non-linear function approximator인 neural network로 Q값을 근사하였고, 이를 Q-network라고 한다. Q-network는 매 반복마다 아래의 손실함수를 최소화하도록 훈련된다.

 

loss function

 

target

 

target은 네트워크 가중치에 의존한다. 이는 학습 전에 고정된 타겟을 사용하는 supervised learning과 상반되는 부분이다.

gradient

 

기댓값을 정확하게 계산하는 대신, 보통 샘플 하나를 이용해서 근사하는 stochastic gradient descent (SGD)로 손실함수를 최적화한다.  매 타임스텝마다 가중치가 업데이트되고, 기댓값 대신에 behavior distribution과 환경으로부터 하나의 샘플을 뽑아서 사용하면 익숙한 Q-learning 알고리즘이 된다.

 

- model-free : 환경을 모델링하지 않고, 환경으로부터 얻은 샘플만 사용함

- off-policy : 행동 분포를 따르면서도, 학습은 최적 전략으로 이루어짐 (여기서는 ϵ-greedy strategy)

 


 

✦ Deep Reinforcement Learning

 

TD-Gammon은 on-policy 샘플들로부터 가치 함수를 근사하는 네트워크의 파라미터를 업데이트한다. 샘플들은 환경과의 상호작용으로 얻은 s_t, a_t, r_t, s_{t+1}, a_{t+1} 이다. 이와 다르게, 본 논문에서는 매 타임 스텝마다 얻은 경험 e_t = (s_t, a_t, r_t, s_{t+1})를 데이터셋 D에 저장하는 experience replay 기법을 사용한다. 즉, D에서 랜덤 샘플링한 샘플들로 네트워크를 학습한다. experience replay를 수행한 후에 에이전트는 ϵ-greedy policy를 따라 행동을 선택하고 수행한다. 

 

  * deep Q-learning의 장점

1. 데이터 효율성 증가 : 과거 경험을 여러 번 재사용 가능

2. 데이터 상관성 제거 : 무작위 샘플링으로 시간적으로 연속된 샘플을 사용하지 않게 됨

3. 학습 안정화 : on-policy는 현재 파라미터가 다음 데이터 샘플을 결정하므로 학습 데이터 분포가 계속 변하고 특정 행동이 강화되어 local minimum에 빠질 수 있다. -> experience replay를 사용함으로써 행동 분포가 많은 이전 state에 의해 평균되고, 학습을 부드럽게 만든다.

 

※ TD-Gammon : Backgammon 게임에서 model-free 알고리즘과 MLP로 인간 수준 이상의 플레이를 보여줌

 

 

  - Preprocessing and Model Architecture

 

raw Atari frames를 그대로 input으로 사용하면, 계산 비용이 많이 들어 input 차원을 줄이는 전처리 단계가 필요하다.

(RGB를 gray-scale로 변환, 210 x 260 pixel -> 110 x 84 (downsampling), 크롭 : 84 x 84)

 

마지막 4개의 프레임만 이 전처리를 적용하여 쌓아 Q-function의 input으로 사용한다. (input : 84 x 84 x 4)

 

history와 action (state + action)을 input으로 사용하는 기존 방식들은 각 액션의 큐 값을 계산하기 위해 분리된 forward pass가 필요해 액션 수가 증가함에 따라 비용이 선형적으로 증가한다는 단점이 있다. 그래서, state만 input으로 사용하고, 가능한 액션에 대해 분리된 output unit을 출력하도록 하는 구조를 사용하여 효율성을 높였다. 이는 단일 forward pass만으로 주어진 state에서 가능한 모든 액션에 대한 q value를 계산할 수 있다는 이점이 있다.

 

 


 

✦ Experiments

 

7개의 atari 게임에서 성능을 검증하였고, 모두 동일한 네트워크 구조, 알고리즘, 하이퍼 파라미터 세팅을 사용하였다. 각 게임에 특화된 정보를 제공하지 않아 모델의 robustness를 보였다. 모든 positive reward는 +1, negative reward는 -1, 변화가 없으면 0 reward를 사용하였다. 이렇게 보상을 clipping함으로써 error derivatiave (오차 기울기)의 크기를 제한할 수 있고, 여러 게임에 대해 동일한 학습률을 사용하기 쉬워진다. 하지만, 보상의 크기 차이를 구분할 수 없어 에이전트 성능에 영향을 줄 수 있다.

 

 


 

✦ Training and Stability

 

supervised learning과 다르게, RL에서는 학습 중에 에이전트의 성능을 정확하게 평가하기가 어렵다. 그래서, 한 에피소드 동안 받은 총 보상을 여러 게임에 대해 평균낸 값을 성능 지표로 사용할 수 있지만, 이 지표는 매우 noisy하다. 왜냐하면, policy의 가중치가 조금만 바뀌어도 상태 분포가 크게 변하기 때문이다. 

 

 

왼쪽의 두 그래프가 해당 지표 (average total reward metric)를 사용한 것인데 값이 매우 노이지함을 알 수 있다. 그래서, 더 안정적인 평가 지표로 policy가 예측한 action-value funcion Q (주어진 상태에서 정책을 따름으로써 에이전트가 얻을 수 있는 할인된 보상값의 기대값)를 사용한다. 이를 위해, 학습 시작 전에 random policy를 사용하여 일정 수의 state를 수집하고, 학습 중에는 이 state들에 대해 가장 큰 Q 값들로 평균을 추적한다. 이 방식 (average predicted Q)을 사용한 것이 오른쪽의 두 그래프인데 훨씬 부드러운 곡선을 그린다는 것을 알 수 있다. 이는 학습 도중 예측된 Q 값이 점진적으로 좋아지는 것 뿐만 아니라, 발산과 같은 문제도 보이지 않았다. 

 


 

✦ Main Evaluation

 

 

 

DQN은 모든 게임에서 Sarsa와 Contingency 보다 우수한 성능을 보였고, 몇 개의 게임에서는 사람 플레이보다 높은 성능을 보였다. 

 


 

✦ Conclusion

 

1. 강화학습을 위한 새로운 딥러닝 모델을 소개함 - DQN (Deep Q-Network) : CNN + Q-learning

2. input으로 raw pixel만 사용 - hand crafted feature 필요 없음, game specific information 필요 없음

3. online Q-learning의 변형 제안 - stochastic minibatch updates, experience replay로 학습 안정화

4. 7개 게임 중 6개에서 SOTA 달성

5. 모든 게임에서 모델 구조나 하이퍼 파라미터를 조정하지 않음 - generalization, robustness 높음