앎을 경계하기

Machine Learning/Reinforcement Learning

차근차근 Spinning Up 톺아보기 2 - Part 1: Key Concepts in RL

양갱맨 2019. 10. 30. 00:37

Reward and Return

강화학습을 공부하면 뭐든 다 중요하지만 정말정말 중요한 것이 Reward! Return!

중요할 수 밖에 없는게 agent가 학습하고자 하는게 누적 Reward(return)를 최대로하는 방법을 학습하는 것이니까..

reward function R은 현재 state에서 action을 해서 next state로 넘어갔을 때 받는 즉각적인 보상이다.

return은 이 보상을 누적시킨 합으로 나타낼 수 있는데,

discount factor를 적용시키지 않은 경우 아래와 같이 단순하게 에피소드의 reward들을 쭉 더하는 것이다.

discount factor를 적용하면 gamma를 사용해서 보상이 점점 감가되도록 하는 효과를 주는 것이다.

왜 discount factor를 사용할까?

discount factor를 적용하지 않으면 계속 더해져서 값이 커지기만 한다. 이렇게 되면 어떤 특정 값으로 수렴이 되지 않는다. 그러나 discount factor를 사용해서 reward를 감가시키면 무한하게 reward가 합쳐져도 어떤 값으로 수렴하게 된다.

 

RL Problem

return measure로 뭘 선택하던, policy로 뭘 선택하던 RL의 목표는 expected return을 최대화하는 것이다.

expected return에 대해서 말하기 전에 먼저 trajectories에서의 확률 분포에 대해 말하고자 한다.

환경의 transition과 policy는 모두 stochastic하다. 아래 식을 보자.

첫 state에 대한 확률인 rho_0()와 t=0부터 T-1까지 Transition Probability*policy의 Product의 곱으로 나타낼 수 있다. t가 t가 0부터 T-1까지인 이유는 terminal state는 다음 state에 대한 확률 계산할 필요 없기 때문이다.

expected return은 다음처럼 나타낼 수 있다.

위 식의 결과는 최종적으로 확률형태이고 확률 * Reward에 적분을 취하면 이것이 expected Return이 되는 것이다.

우리는 이 expected return J를 objective function으로 두고 이 목적함수를 최대로 만드는 policy를 찾으면 그것이 바로 optimal policy가 되는 것이다.

 

Value Functions

보통 state value function은 V, action-value function은 Q로 나타낸다.

나는 이해할 때 Q는 특정 state에서 특정 action을 했을 때 그 특정 action의 value를 구하는 것이 action-value function Q이고, V는 특정 state에서 할 수 있는 action들의 value들의 합이 value function이라고 이해했다. (왜냐면 V는 action과 독립이니까)

On-Policy Value Function은 아래와 같이 나타낼 수 있다.
현재 있는 state s에서 에피소드를 시작할 때 지금 따르고 있는 policy pi에 의해 action을 해서 얻은 expected return이다.

On-Policy Action-Value Function은 현재 있는 state s에서 에피소드를 시작할 때 지금 따르고 있는 policy pi에 의한 정해진 action을 하는게 아니라 그냥 어떤 action a를 했을 때 얻는 expected return이다.

Optimal한 형태의 V, Q는 굉장히 이해하기 쉽다. 위에서 구한 V와 Q에 max를 취하면 optimal V, Q인 것이다.

그럼 최적의 행동은 뭘까?

단순하다. 그냥 Q 함수를 최대로 만드는 action이 optimal action인 것이다.

 

Bellman Equations

항상 강화학습 공부하면 나오는게 Bellman Equation이다. 왜냐면 위의 가치함수들이 벨만 방정식과 연관이 있기 때문이다.

Bellman Expectation Equation

현 상태의 가치함수와 다음 상태의 가치함수 사이의 관계식

expectation 아래 P는 next state에 대한 확률 분포이다.

 

Bellman Optimality Equation

bellman expectation equation을 사용해서 value function을 업데이트하다 보면 value function이 수렴하게 되는데 이런 함수들 중에 가장 maximum 값을 갖는 함수가 optimal value function이 된다.

Bellman Backup은 next state / next state-action pair의 V또는 Q를 말한다.

 

Advantage Functions

advantage function은 특정 action이 특정 state에서 다른 액션들보다 얼마나 좋은지를 판단할 수 있는 함수로 사용된다.

advantage function은 사실 variance를 낮추기 위한 방법에서도 또 언급된다.

 

Formalism

Markov Decision Processes는 <S,A,R,P,rho0>로 나타낼 수 있다.

S : state space

A : action space

R : reward function

P : transition probability

rho0 : initial state distribution