논문 리뷰/강화학습
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′maxQ∗(s′,a′)∣s,a]
- * 은 최적의 공식을 찾는다는 의미
- ' 는 바로 다음 t+1에서의 값을 말함
- γ는 감쇠값으로 미래의 값이 현재의 값보다 얼마나 덜 중요한지를 나타냄
- agent가 t 시점의 s에서 a를 했을때, 즉시 받는 리워드 r과 t+1 시점의 s'에서 a'를 했을때 받을 리워드의 합의 평균이 최대가 되도록 학습함
Methods
- Experience Replay
- 에이전트의 경험 et = (st, at, rt, st+1)을 D (버퍼)에 저장하고 미니배치를 랜덤하게 샘플링하여 업데이트 함
- 손실함수
- yi=r+γa′maxQ(s′,a′;θi−1) -> 실제 값 예측
- Li(θi)=Es,a∼ρ[(yi−Q(s,a;θi))2] -> 실제값과 예측값의 차이를 줄이는 방식으로 학습
- 특이한 점은 예측값 네트워크를 실제값 네트워크로 갈아끼움
- 랜덤 초기화 후 실제값 네트워크와 예측값 네트워크가 비슷해지도록 학습
- 여태까지 학습한 예측값 네트워크를 실제값 네트워크로 바꿔끼움
- 다시 실제값 네트워크와 예측값 네트워크가 비슷해지도록 학습
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함수와 게임이 높은 상관 관계가 있음을 증명