Processing math: 57%

산업공학/Reinforcement Learning

[강화학습] 4. Bellman Equation

테드리 2024. 3. 20. 01:44

Value Functions (가치 함수)

가치 함수는 각 상태 s(또는 상태-행동 쌍(s;a))의 퀄리티를 측정합니다. 이때, 정책 π에 대한 기대 보상은 Gt를 따른다.

  1. State-Value Function (상태-가치 함수) vπ(s)
    • 정책 π를 따랐을 때 특정 상태 $s에서 시작하는 기대 반환을 나타냄 
    • vπ(s)=Eπ[Gt|St=s]
  2. Action-Value Function (행동-가치 함수) qπ(s,a)
    • 상태 s에서 행동 a를 취하고 이후 π를 따라갔을 때의 기대 반환을 나타냄
    • qπ(s,a)=Eπ[Gt|St=s,At=a]
  3. Advantage Function (어드밴티지 함수) 
    • Aπ(s,a)=qπ(s,a)vπ(s)
    • 여기서, vπ(s)=aπ(a|s)qπ(s,a)

 

Bellman Equation

Bellman Equation은 벨맨 방정식은 재귀 방정식으로, 상태값 함수 vπ(s) 를 즉각적인 보상 Rt+1과 할인된 다음 상태 값 γvπ(St+1)로 분해한다.

 

vπ(s)=Eπ[Gt|St=s]=aEπ[Gt|St=s,At=a]π(a|s)=aπ(a|s)Eπ[Rt+1+γGt+1|St=s,At=a]=aπ(a|s)s,rEπ[Rt+1+γGt+1|St=s,At=a,St+1=s,Rt+1=r]p(s,r|s,a)=aπ(a|s)s,rp(s,r|s,a)(r+γvπ(s))=aπ(a|s)(E[Ras]+γsp(s|s,a)vπ(s))=Eπ[Rt+1+γvπ(St+1)|St=s]

 

 

qπ(s,a)=Eπ[Gt|St=s,At=a]=s,rp(s,r|s,a)(r+γaπ(a|s)qπ(s,a))=Eπ[Rt+1+γqπ(St+1,At+1)|St=s,At=a]

 

 

 

Optimal Value Functions and Policy

최적값 함수는 다른 모든 값 함수와 비교했을 때 최대값을 산출한다.

최적의 값 함수를 찾으면 MDP가 'solved '된다

  • Optimal State-Value Function: v(s)=max
  • Optimal Action-Value Function: q_*(s,a) = \max_{\pi} q_{\pi}(s,a)
[Theorem] 그 어떤 MDP도 다음을 만족한다
1. 모든 \pi에 대해 optimal policy \pi_{*} \geq \pi가 존재한다.
2. 모든 optimal policy는 v_{{\pi}_{*}}(s) = v_{*}(s)를 achieve 한다.
3. 모든 optimal policy는 q_{{\pi}_{*}}(s,a) = q_{*}(s,a)를 achieve 한다

 

Optimal Policy는 q_{*}(s,a)를 maximize함으로써 도출될 수 있다.

\pi_*(a|s) = \begin{cases}  1&  \text{ if } \;\;\;a = argmax_a q_*(s,a) \\  0& \text{ if\;\;\; otherwise}   \end{cases}

 

 

Bellman Optimality Equation

\begin{equation} v^*(s) = \max_{a \in A(s)} q^*(s, a) = \max_{a} \mathbb{E}_{\pi^*} \left[ G_t | S_t = s, A_t = a \right] \end{equation} \begin{equation} = \max_{a} \mathbb{E}_{\pi^*} \left[ R_{t+1} + \gamma G_{t+1} | S_t = s, A_t = a \right] \end{equation} \begin{equation} = \max_{a} \mathbb{E} \left[ R_{t+1} + \gamma v^*(S_{t+1}) | S_t = s, A_t = a \right] \end{equation} \begin{equation} = \max_{a} \sum_{s', r} p(s', r | s, a) \left( r + \gamma v^*(s') \right) \end{equation}

 

\begin{equation} q^*(s, a) = \mathbb{E} \left[ R_{t+1} + \gamma \max_{a'} q^*(S_{t+1}, a') | S_t = s, A_t = a \right] \end{equation} \begin{equation} = \sum_{s', r} p(s', r | s, a) \left( r + \gamma \max_{a'} q^*(s', a') \right) \end{equation}

 

 

 

참고 문헌

오승상 강화학습" target="_blank" rel="noopener" data-mce-href="http://오승상 강화학습">http://오승상 강화학습

 

오승상 강화학습 Deep Reinforcement Learning

고려대학교 오승상 교수의 강화학습 Deep Reinforcement Learning 강의 입니다. (자료) https://sites.google.com/view/seungsangoh

www.youtube.com