딥러닝/강화학습(RL)

강화학습에서 랜덤성과 비랜덤성에 관하여 + Return, Value Function

Rudi 2022. 1. 21. 11:09

 

 

강화학습에서 랜덤성과 비랜덤성에 관하여

 

 

강화학습에서는 시간에 따라서 상태, 행동 보상이 결정된다. 이 값들에는 랜덤성이 포함되어 있고, 다음 Random Variable을 생각할 수 있습니다. 

 

  • State $S_t$
  • Action $A_t$
  • Reward $R_t$
  • Return $G_t = \sum_{k=0} ^\infty \gamma^k R_{t+k+1}$

 

한 가지 놓칠 수 있는 것은 Return 값 또한 Random Variable 이라는 것 입이다. Cumulative Reward 라고도 불리는 이 값은 시간에 따라서 변하는 Radom Variable이기 때문에, 상태에 대해서 고정적인 값을 내려주지 않습니다. 만일 이 값을 상태 또는 (상태+행동)에 대해서 평균을 내리게 된다면, 우리는 랜덤성이 사라진 실수 값을 얻을 수 있습니다. 이는 Value Function이라는 이름으로 불립니다.

 

  • State-value function $v: \mathcal{S} \rightarrow \mathbb{R}$
  • Action-value function $q : \mathcal{S} \times \mathcal{A} \rightarrow \mathbb{R}$

 

왼쪽의 MDP에서 state 1과 state2에 대해서 적당한 값으로 평가할 수 있습니다. 이와 다르게 오른쪽의 Trajectory에서는 시간에 따라서 얻는 Random Variable들이 있습니다. 



랜덤성이 사라진 이 값을 구하는 방법은 평균을 내리는 것 입니다. 예를 들어서, 시험 점수가 0~100점까지 uniform 하게 가능하다면, 여기에는 랜덤성이 있지만, 평균인 50점은 랜덤성이 없습니다. 강화학습에서도 Value function은 상태나 (상태+행동)에 대해서 얻게 되는 Return 값에 대해서 평균을 냅니다. 

 

[+] 수식으로 적으면 다음과 같습니다.

 

아래 식에서 $\mathbb{E}_\pi[\cdot]$ 는 에이전트가 Policy $\pi$ 를 따라서 행동했을 때 얻게 되는 평균을 나타냅니다. (다양한 Policy에 대해서 평균 내는 것이 아닙니다. 하나의 Policy에 대해서 행동한 Trajectory에서 발생하는 Return $G_t$ 에 대해서 평균 내는 것을 의미합니다. )

  • State-value function $v(s) = \mathbb{E}_\pi [G_t | S_t = s]$
  • Action-value function $q_\pi(s,a) = \mathbb{E}[G_t | S_t= s, A_t = a]$