1. 배경
REINFORCE 알고리즘 단점
- 정책을 업데이트하기 위해 에피소드가 끝날때까지 기다려야함
- 그래디언트의 분산이 매우 큼
위의 단점을 개선한 알고리즘이 A2C(advangate actor-critic)이다.
2. 그래디언트의 재구성
$$\begin{matrix}
\nabla_\theta J(\theta) &=& \mathbb{E} _{t\sim p_\theta(\tau)} [ \sum_{t=0}^{T}\limits(\gamma^t\nabla_\theta log\pi_\theta(u_t|x_t)(\sum _{k=t}^{T}\limits\gamma^{k-t}r(x_k,u_k))] \\
&=&
\sum_{t=0}^{T}\limits \left\{ \mathbb{E} _{t\sim p_\theta(\tau)} [ \gamma^t\nabla_\theta log\pi_\theta(u_t|x_t)(\sum_{k=t}^T\limits \gamma^{k-t}r(x_k,u_k))] \right\}
\end{matrix}$$
$$ \begin{matrix} \nabla_\theta J(\theta) &=& \sum_{t=0}^{T}\limits\int_{\tau_{x_0}:u_t}\int_{\tau_{x_{t+1}}:u_T} \left( \gamma^t\nabla_\theta log\pi_\theta(u_t|x_t) \left( \sum_{k=t}^{T}\limits\gamma^{k-t}r(x_k,u_k)\right)\right) p_\theta(\tau_{x_0:u_t},\tau_{x_{t+1}:u_T})d\tau_{x_{t+1}:u_T}d\tau_{x_0:u_t} \\ &=& \sum_{t=0}^{T}\limits\int_{\tau_{x_0}:u_t}\int_{\tau_{x_{t+1}}:u_T} \left( \gamma^t\nabla_\theta log\pi_\theta(u_t|x_t) \left( \sum_{k=t}^{T}\limits\gamma^{k-t}r(x_k,u_k)\right)\right) p_\theta(\tau_{x_0:u_t}|\tau_{x_{t+1}})p_\theta(\tau_{x_0:u_T})d\tau_{x_{t+1}:u_T}d\tau_{x_0:u_t}\\ &=& \sum_{t=0}^{T}\limits\int_{\tau_{x_0}:u_t}\left[ \int_{\tau_{x_{t+1}}:u_T}\left( \sum_{k=t}^{T}\limits\gamma^{k-t}r(x_k,u_k)\right)p_\theta(\tau_{x_0:u_t}|\tau_{x_{t+1}})d\tau_{x_{t+1}:u_T}\right]p_\theta(\tau_{x_0:u_t})d\tau_{x_0:u_t} \end{matrix} $$
위 식의 대괄호 항은 마르코프 가정에 의해 다음과 같이 행동가치함수로 치환할 수 있다.
$$ \int_{\tau_{x_{t+1}}:u_T}\left( \sum_{k=t}^{T}\limits\gamma^{k-t}r(x_k,u_k)\right)p_\theta(\tau_{x_0:u_t}|\tau_{x_{t+1}})d\tau_{x_{t+1}:u_T} = Q^{\pi_\theta}(x_t,u_t) $$
이를 치환하여 다시 작성해 보면
$$ \begin{matrix} \nabla_\theta J(\theta) &=& \sum_{t=0}^{T}\limits \gamma^t\nabla_\theta log\pi_\theta(u_t|x_t)Q^{\pi_\theta}(x_t,u_t)p_\theta(\tau_{x_0:u_t})d\tau_{x_0:u_t} \\ &=& \sum_{t=0}^{T}\limits \left( \int_{(x_t, u_t)} \gamma^t\nabla_\theta log\pi_\theta(u_t|x_t)Q^{\pi_\theta}(x_t,u_t)p_\theta(x_t,u_t)dx_tdu_t\right) \end{matrix} $$
여기서 $p_\theta(x_t,u_t)$는 $(x_t,u_t)$의 한계확률밀도함수(marginal probability density function)다.
확률의 연쇄법칙을 사용하여 정리하면,
$$ \begin{matrix} \nabla_\theta J(\theta) &=& \sum_{t=0}^{T}\limits \left( \int_{(x_t, u_t)} \gamma^t\nabla_\theta log\pi_\theta(u_t|x_t)Q^{\pi_\theta}(x_t,u_t)\pi_\theta(u_t|x_t)p_\theta(x_t)dx_tdu_t\right) \\ &=& \sum_{t=0}^{T}\limits \left( \mathbb{E}{x_t \sim p\theta(x_t), u_t\sim \pi_\theta(u_t|x_t)}\left[ \nabla_\theta log\pi_\theta(u_t|x_t)Q^{\pi_\theta}(x_t,u_t)\right] \right) \end{matrix} $$
여기서 $\gamma^t p_\theta(x_t)$를 상태변수 $x_t$의 감가된 확률밀도함수라고 한다.
감가율 $\gamma^t$는 에피소드의 후반부 궤적의 데이터 이용도를 크게 떨어뜨리므로 일반적으로 제거한다.
처음 식과 비교해 보면, 반환값 대신에 행동가치 함수가 나온것을 알 수 있다.
목적함수의 그래디언트를 계산하기 위해서 행동가치를 계산하면 되는 것이다.
행동가치는 상태변수 $x_t$에서 행동 $u_t$를 선택하고 그로부터 정책 $\pi$에 의해 행동이 가해졌을 때 기대할 수 있는 미래의 반환 값이므로
에피소드가 끝날 때까지 기다릴 필요가 없다.
'Data Science > Reinforcement' 카테고리의 다른 글
강화학습의 키, 가치함수 (0) | 2023.06.21 |
---|---|
A2C의 어드밴티지 함수 (0) | 2023.06.20 |
목적함수 (0) | 2023.05.23 |
강화학습의 개념 (0) | 2023.05.09 |
4.3 마르코브 보상 프로세스 : 강화학습의 수학적 기초와 알고리즘의 이해 (0) | 2022.11.07 |
댓글