심화 스터디/논문 리뷰 스터디

[논문 리뷰 스터디] Playing Atari with Deep Reinforcement Learning

죠_ 2023. 5. 11. 17:56

작성자 : 15기 김지호

 

 

 

 

논문

https://www.cs.toronto.edu/~vmnih/docs/dqn.pdf

 

 

DQN 논문리뷰를 하려고 했으나.. 강화학습에 대한 기초가 많이 부족하다고 느껴서 

이번 주는 강화학습 기본적인 내용에 대해 공부한 내용 포스팅하겠습니다 :) 

 

 

Reinforcement Learning

강화학습 문제의 특성

  • Trial and Error
    • 예측하고 움직이는 것이 아니고 해보면서 자신을 조정해나가는 것
    • 좋은 행동을 했을 경우에 좋은 반응이 환경으로부터 오게 됩니다. 이 반응을 "Reward” 라고 함
  • Delayed Reward
    • 강화학습이 다루는 문제에 "시간"이라는 개념이 포함되어 있다.
    • 시간의 순서가 있는 문제를 풀기 때문에 지금 한 행동으로 인한 환경의 반응이 늦어질 수가 있는데, 이럴 경우에 환경이 반응할 때까지 여러 가지 다른 행동들을 시간의 순서대로 했기 때문에 어떤 행동이 좋은 행동이었는지 판단하기 어려움

Markov Decision Process

MDP

강화학습은 MDP로 표현되는 문제를 푸는 알고리즘의 집합으로 이해해볼 수 있다

  • State
  • Action
  • State transition probability matrix 
    • s라는 state에서 a라는 행동을 취할 때 s'에 도착할 확률

  • Reward
    • environment가 agent에게 알려주는 값
    • agent가 action을 취하면 그에 따른 reward 를 enviroment가 알려준다.
    • 강화학습은 정답이나 사전에 환경에 대한 지식이 없이 이 reward를 통해서 agent가 학습함

  • Discount factor
    • 0~1 사이 값으로, 각 스텝들의 Reward를 계산할때 이 Discount factor를 곱해서 합한다.
    • 시간에 따라 Reward의 가치가 달라지는 것을 표현한다.
  • Policy
    • state s에서 action a를 할 확률
    • action을 결정할 때, 참조하는 값.
    • 강화학습의 목적이 optimal policy 찾기. ( accumulative reward = return 을 최대화하는 policy)

Value Function

State-value function

  • 지금부터 기대되는 return의 기댓값. 어떤 state의 가치, 평가.
  • value function을 얼마나 잘 계산하냐가 중요하다.
  • bias되지 않고 variance가 낮으며 true값에 가까우며 효율적으로 빠른 시간안에 수렴하는 것

Action-value function

  • 어떤 state에서 action a를 취할 경우의 기대되는 return (미래까지 포함한 기대값)
  • 어떤 행동을 했을 때 얼마나 좋을 것인가? Action에 대한 평가
  • Q-value 라고 생각하면 될 듯! q-learning, deep q-network같은 곳에서 말하는 Q

Bellman Equation

  • Value function들 사이의 연관성을 나타내는 식
  • Dynamic Programming의 기반이 된다.
  •  

  1. V를 next V로 나타내기
    • 현재 state의 value function과 next state의 value function의 상관관계
    • value function을 분해
    • 미래의 값들(next state-value function)으로 현재의 value function을 구한다 → dynamic programming
     

2. Q를 next Q로 나타내기

 

 


 

Optimal value function

  • 앞으로 가장 많은 reward를 받을 policy를 따랐을 때의 value function
  • 즉, 현재 (s,a)에서 얻을 수 있는 최대의 value function
  • optimal policy는 (s,a)에서 action-value function이 가장 높은 action만을 고르기 때문에 deterministic
  • Bellman equation을 통해서 iterative하게 MDP의 문제를 푸는 것 “Dynamic Programming”
  • Optimal Q를 찾자! → DP, MC, TD

 

Dynamic Programming

  • Environment의 reward, state transition matrix에 대해서 안다는 전제를 두고 문제를 푸는 방식.
  • 2 step으로 구분 : predict + control
    • 현재 optimal하지 않는 어떤 policy에 대해서 value function을 구하고 - “prediction”
    • 현재의 value function을 토대로 더 나은 policy를 구하고 “Control”
    • 이와 같은 과정을 반복해서 optimal policy를 구하는 것

 

 

 

 

 

 

Policy Iteration

Policy Evaluation + Policy Improvement로 이루어짐

 

 

 

Policy Iteration : Evaluation

  • 모든 상태 s에 대한 Value function을 Estimate하는 과정
  • 앞서 Bellman Equation으로 세웠던 V 업데이트 식 을 토대로 진행함
    • 이 값을 활용해서 각 state에 대한 value function을 update하는 과정이다.

 

Policy Iteration : Improvement

  • 구한 policy를 바탕으로 현재 policy를 업데이트한다.
  • max 연산 : 간단히 다음 state중에서 가장 높은 value function을 가진 state로 가는 것

Value Iteration

  • Policy Iteration과의 차이점
    • evaluation 할 때 수많은 계산을 해줘야하는데, VI에서는 evaluation을 단 한 번만 진행함
    • 현재 value function을 계산하고 update할 때 max를 취함으로서 greedy 하게 improve

DP의 단점

optimal한 해 → iteration마다 Reward function과 state transition matrix를 알아야 함.

DP를 sampling으로 풀면서 일단 가보면서 겪는 experience로 문제를 풀겠다. → 진짜 RL이 시작

  • Trial and Error
    • 예측하고 움직이는 것이 아니고 해보면서 자신을 조정해나가는 것
    • 좋은 행동을 했을 경우에 좋은 반응이 환경으로부터 오게 됩니다. 이 반응을 "Reward”
  • Delayed Reward
    • 강화학습이 다루는 문제에 "시간"이라는 개념이 포함되어 있다.
    • 시간의 순서가 있는 문제를 풀기 때문에 지금 한 행동으로 인한 환경의 반응이 늦어질 수가 있는데, 이럴 경우에 환경이 반응할 때까지 여러 가지 다른 행동들을 시간의 순서대로 했기 때문에 어떤 행동이 좋은 행동이었는지 판단하기 어려움

 

 

 

 

 

참고

https://www.youtube.com/watch?v=cvctS4xWSaU&list=PL_iJu012NOxehE8fdF9me4TLfbdv3ZW8g 

https://dnddnjs.gitbooks.io/rl/content/monte-carlo_methods.html