Miscellaneous

[2025-2] 박제우 - Playing Atari with Deep Reinforcement Learning

jw2463 2025. 8. 15. 14:59

1. Introduction

  • 이미지, 음성 등 고차원의 감각 데이터를 제어하는 것은 강화학습의 오랜 과제이다.
  • 기존 딥러닝 모델을 강화학습에 적용하기에는 한계가 있었다
    1. 우선 이러한 딥러닝 방식은 라벨링 된 데이터가 필요한데, 강화학습은 스칼라값으로 된 리워드가 필요하다.
    2. 피쳐간의 독립, 고정된 데이터 분포 등 딥러닝의 기본적인 전제 역시 강화학습과는 맞지 않는 부분이 많다.

  • 본 연구는 따라서 CNN방식과 Experience Replay Mechanism을 통해 이러한 한계를 극복한다.
  • experience replay mechanism을 활용한다. 이는 과거의 전이 행렬을 무작위로 샘플링 하여 다양한 과거 행동에 걸쳐 학습 분포를 부드럽게 한다.
  • 신경망은 Q-learning 알고리즘을 사용하고 가중치 갱신에는 SGD 방식이 사용된다.
    • 여기서 Q-Learning이란 강화학습 알고리즘의 한 종류로, 최적의 Policy를 학습하는 방법이다. 처음에는 아무 행동이나 하면서 시행착오를 통해 최적 Policy를 찾아 나가는 방식이다.
  • 이렇게 고안한 방식을 아타리 게임에서 적용시켜본다.

2. Background

  • 주어진 조건은 다음과 같다.
    • 환경 : Atari 에뮬레이터
    • 행동 : 가능한 행동 집합 중 하나를 선택함 : 
     

  • 관측 : 에이전트는 에뮬레이터 내부 상태는 볼 수 없고 화면 픽셀 이미지만 볼 수 있음 (Partially Observable)
  • 보상 : 게임 점수
  • 에이전트는 오직 현재 화면 x_t 만을 관측한다 (Partially Observable 상황) 
  • 모든 시퀀스는 유한한 시간 내에 종료된다고 가정→ 따라서 t+1 시점의 결정을 내리기 위해 1 ~ t-1 시점 까지의 정보가 필요하지 않고, 오직 t에만 의존한다는 것이다.
    • → MDP 문제로 전환될 수 있다. MDP란 State, Action, Transition probability, Reward Function, Discount Factor로 구성되어있다.
  • 에이전트는 강화학습 환경에서 행동을 선택하여 미래 누적 보상 R_t를 최대화 하는것을 목표로 한다.

  • 최적 행동 가치 함수는 상태-행동 쌍(s,a)에서 출발했을 때, 어떤 정책을 따를 수 있는 최대 기대 보상이다.

  • 여기서 r은 현재 시점의 보상이고, max 항은 다음 상태에서의 최대 기대 보상을 의미한다.
  • 즉 다음 상태 s’에 대한 최적 가치를 안다면, 현재 상태에서 최적의 행동을 선택할 수 있게 하는 것이다.
  • 강화학습에서의 목표는 이 최적 벨만 방정식을 근사하는 것이다.

 

  • 위 방정식을 통한 업데이트는 다음과 같이 진행된다.

  • 이론적으로 이 업데이트를 무한히 수행하면 최적 정책에 수렴할수는 있다. 그러나 이는 현실적으로 불가능 하다. (기존에는 이 문제를 동적 프로그래밍 방식으로 Q-table에 다 a, s에 대한 r값을 저장했다.)
    • ⇒ 따라서 이를 신경망을 통해 근사한다. 이를 근사하는 모델을 Q-Network라고 부른다(가중치 업데이트). 손실 함수는 다음과 같다.
     

  • 손실 함수는 다음과 같다. 여기서 파라미터 세타가 신경망의 가중치와 편향이다. 

  • 타깃값 yi는 현재 보상과 이전 Q Network가 예측한 미래 가치를 합쳐서 만들게 된다. 즉 Q Network에서는 타깃값이 고정되어있지 않다.  

  • SGD의 업데이트 공식은 다음과 같다.

3. Deep Reinforcement Learning

  • 본 실험의 목표는 강화학습과 딥러닝을 RGB 이미지에서 잘 작동하게 하기 위해 연관시키는 것이다.
  • 1990년대 중반에 등장한 TD-Gammon은 강화학습과 self-play 방식을 활용해 학습되었다.
  • 이는 정책을 직접 학습하는 대신 가치 함수를 근사하는 신경망을 학습하는 방식을 사용했다. 이 가치 함수는 현재 게임 상태를 입력으로 받아, 해당 상태가 얼마나 유리한지를 수치로 나타낸다.
    • 먼저 게임을 실제로 플레이하며 상태-행동-보상 데이터를 얻는다.
    $(s_t, a_t, r_t, s_{t+1}, a_{t+1})$
    • 이를 활용해 다음 상태의 가치 예측을 바탕으로 현재 상태의 예측을 보정한다.
    • 이는 에이전트가 실제로 선택한 행동을 기준으로 학습을 수행하기 때문에 On-Policy Learning이라고 불린다.
    • 그러나 이 방식은 데이터가 순차적이고 샘플 간 상관관계가 크다는 한계가 있다.
  • 이와는 다르게 본 연구에서는 Experience Replay라는 방식을 사용한다. 이 방식은 에이전트의 경험을 데이터셋 D에 저장한다.

  • 학습 시에는 이 데이터셋에서 무작위로 일부 샘플을 뽑아서 학습한다. 이렇게 무작위 방식을 통해 데이터 간 상관성을 줄일 수 있다.
  • 이 때 여기서는 e-greedy 방식을 통해 exploration과 exploitation을 병행한다.
    • 이는 policy가 정한 action을 1-e 확률로 실행하고 나머지 확률인 e동안은 랜덤한 action을 통해 새로운 공간을 탐색한다.
  • 마지막으로 긴 시퀀스 대신 고정된 길이의 벡터 표현으로 바꿔서 학습시킨다.
    • 예) 최근 4장의 게임 화면을 스택해서 상태 벡터로 받는 방식.
  • 이러한 방식이 제공하는 장점은 다음과 같다.
    • 과거의 경험들을 여러 번 학습에 반복적으로 활용할 수 있다.
    • 무작위 샘플링을 통한 데이터 간의 상관관계를 줄여줄 수 있다.
  • 실제 실험에서는 메모리 효율을 위해 마지막 N개의 경험만 메모리에 저장한다.

3.1 Preprocessing and Model Architecture

  • 앞선 알고리즘에서 $\phi$는 210 x 160 사이즈의 RGB 이미지를 흑백 사이즈의 84 x 84로 Downsize 및 Crop한다. 이 전처리 함수는 전처리 기록 마지막 4장의 이미지를 누적하여 Q함수에 대한 입력을 만든다. (84x84x4가 된다는 뜻. )
  • 신경망 Q는 다음과 같이 구성된다.
    • 84 × 84 × 4 → 8x8 필터 16개를 stride 4로 합성곱 → ReLU → 4x4 필터 32개를 stride 2로 합성곱 → ReLU → 256개의 유닛으로 구성된 FC층 → 출력층
  • 또한 이러한 방식은 기존의 상태와 행동을 함께 신경망에 넣는 방식과 달리, 상태만 입력하기 때문에 행동별 Q값을 한 번에 출력할 수 있게 된다.

4. Experiment & Result

  • 7가지의 아타리 게임을 대상으로 실험을 수행했고 모두 동일한 네트워크 구조, 학습 알고리즘, 파라미터 설정을 적용했다.
  • 단 게임 점수마다 스케일이 다르기 때문에 모든 양의 보상은 1로, 음의 보상은 -1로 고정했다.