논문 리뷰/강화학습

Playing Atari with Deep Reinforcement Learning 리뷰

kyj0015 2025. 4. 27. 14:20

링크: https://arxiv.org/pdf/1312.5602

 

간단 요약 및 목차

  • Background
    • 강화학습과 딥러닝이 달라 접목시키가 어려움
  • Architecture
    • CNN 기반의 네트워크
  • Methods
    • Experience Replay
    • 손실함수
  • Contribution
    • 최초로 강화학습에 딥러닝을 사용
  • Result and Conclusion
    • 7개중 6개의 게임에서 기존 방법 (Sarsa) 능가

 

강화학습의 기초

  • V (상태 가치 함수), Q (행동 가치 함수), Agent (모델), action (모델이 하는 행동), r (action을 통해 받을거라고 기대되는 리워드), R (모든 action 뒤에 최종적으로 받을거라도 기대되는 리워드의 합), G (모든 action 뒤에 최종적으로 받을 실제 리워드), state (실제 환경), observation (관찰해서 모델이 알고 있는 환경), p (보상을 얻거나 사건이 발생할 확률).
  • 강화학습이란 상태-행동 쌍 (s, a)에 대한 최적의 행동가치 함수 Q∗(s,a)를 학습하여 미래의 보상을 최대화 하는 정책을 찾는 것
  • agent는 state를 관찰해서 얻은 observation에서 최대한 큰 R를 받기 위해 스스로 어떤 action을 하면 p의 확률로 r의 reward를 받을 수 있는지 학습
  • 예를 들어 이상하게 생긴 주사위를 굴리면 정확히 몇의 확률로 6이 나오는지는 알 수 없음. 하지만 최대한 많이 6을 굴리기 위해서 스스로 주사위를 굴려보면서 이렇게 던지면 0.6의 확률로 리워드 5를 받고, 저렇게 던지면 0.4의 확률로 리워드 3을 받는다는 것을 알게됌

 

Background

  • 강화학습과 딥러닝
    • 강화학습에는 hand-labelled training data가 많이 필요함
    • reward는 sparse, noisy, delayed되서 학습이 어려움 딥러닝의 학습 데이터는 독립적이지만 강화학습은 비독립적임
    • 강화학습의 연속된 데이터는 보통 유사도가 높음
    • Table 기반의 Q-learning과 같은 손으로 확률을 구하는 방법은 현실 세계의 문제에는 적용하기 어려웠음
    • -> game-specific information이나 hand-desilgned visual feature 없이 학습하기를 바람
    • -> 강화학습에 딥러닝을 결합하여 게임에서 사람을 능가하는 Agent를 학습시키고자 함
  • 벨만 방정식
    • Q∗(s,a)=E[r+γa′max​Q∗(s′,a′)∣s,a]
    • * 은 최적의 공식을 찾는다는 의미
    • ' 는 바로 다음 t+1에서의 값을 말함
    • γ는 감쇠값으로 미래의 값이 현재의 값보다 얼마나 덜 중요한지를 나타냄
    • agent가 t 시점의 s에서 a를 했을때, 즉시 받는 리워드 r과 t+1 시점의 s'에서 a'를 했을때 받을 리워드의 합의 평균이 최대가 되도록 학습함

 

Methods

  • Experience Replay
    1. 에이전트의 경험 et = (st, at, rt, st+1)을 D (버퍼)에 저장하고 미니배치를 랜덤하게 샘플링하여 업데이트 함
  • 손실함수
    1. yi​=r+γa′max​Q(s′,a′;θi−1​) -> 실제 값 예측
    2. Li​(θi​)=Es,a∼ρ​[(yi​−Q(s,a;θi​))2] -> 실제값과 예측값의 차이를 줄이는 방식으로 학습
    3. 특이한 점은 예측값 네트워크를 실제값 네트워크로 갈아끼움
    4. 랜덤 초기화 후 실제값 네트워크와 예측값 네트워크가 비슷해지도록 학습
    5. 여태까지 학습한 예측값 네트워크를 실제값 네트워크로 바꿔끼움
    6. 다시 실제값 네트워크와 예측값 네트워크가 비슷해지도록 학습

 

Experiment

  • 네트워크 아키텍처 및 실제 학습 과정
    • state는 환경, observation은 환경을 관찰해서 얻은 값으로, state는 실제 게임, observation은 게임의 현재 환경을 캡처한 사진라고 생각하면 됌
    • 데이터 전처리: 게임 화면을 crop 및 resize 후 사용
    • CNN (8*8 filter 16개, ReLU, 4*4 filter 32개, ReLU)+ fully-connect network -> FFN로 가능한 모든 행동에 대한 Q값 출력
    • 가장 Q값이 높은 행동을 실행
    • ε‑greedy (ε만큼 최적의 행동, 1-ε만큼 랜덤 행동)로 총 1,000만 프레임 학습

 

Result

  • 7개중 6개의 게임에서 기존 방법 (Sarsa) 능가
  • 인간 대비 7개 중 3개의 게임에서 성능 능가
  • 강화학습의 안정성 향상
  • 학습 과정에서 실제 Q함수와 게임이 높은 상관 관계가 있음을 증명