with-RL
강화 학습2024년 1월 18일

바닥부터 배우는 강화 학습 | 08. 가치 기반 에이전트

'바닥부터 배우는 강화 학습' 8장에는 가치 기반 에이전트를 학습하는 방법에 대해서 설명하고 있습니다. 아래 내용은 공부하면서 핵심 내용을 정리한 것입니다.

참고자료

8.1 밸류 네트워크의 학습

$$\begin{equation}
\begin{split}
\theta' &= \theta - \alpha \nabla_{\theta}L(\theta) \\
&= \theta + \alpha (v_{true}(s) - v_{\theta}(s)) \nabla_{\theta}v_{\theta}(s)
\end{split}
\end{equation}$$

◈ 첫 번째 대안: 몬테카를로 리턴

$$V(s_t) \gets V(s_t) + \alpha(G_t - V(s_t))$$

$$L(\theta)=\mathbb{E} \left [ (G_t - v_{\theta}(s))^2 \right ]$$

$$\theta' = \theta + \alpha (G_t - v_{\theta}(s)) \nabla_{\theta}v_{\theta}(s)$$

◈ 두 번째 대안: TD 타깃

$$L(\theta)=\mathbb{E} \left [ (r_{t+1} + \gamma v_{\theta}(s_{t+1}) - v_{\theta}(s))^2 \right ]$$

$$\theta' = \theta + \alpha (r_{t+1} + \gamma v_{\theta}(s_{t+1}) - v_{\theta}(s)) \nabla_{\theta}v_{\theta}(s)$$

8.2 딥 Q러닝

◈ 이론적 배경 - Q러닝

$$\begin{equation}
\begin{split}
Q_*(s, a) &= \mathbb{E}_{s'} \left [ r + \gamma \underset{a'}{\mathrm{max}}Q_*(s', a') \right ] \\
Q(s, a) \gets Q(s, a) &+ \alpha (r + \gamma \underset{a'}{\mathrm{max}}Q(s', a') - Q(s, a))
\end{split}
\end{equation}$$

$$L(\theta) = \mathbb{E} \left [ (r + \gamma \underset{a'}{\mathrm{max}} Q_{\theta}(s', a') - Q_{\theta}(s, a))^2 \right ]$$

$$\theta' = \theta + \alpha \left ( r + \gamma \underset{a'}{\mathrm{max}} Q_{\theta}(s', a') - Q_{\theta}(s, a) \right ) \nabla_{\theta}Q_{\theta}(s, a)$$

딥 Q러닝 pseudo code

◈ 익스피어런스 리플레이어와 타깃 네트워크

익스피리언스 리플레이(Experience Replay)

별도의 타깃 네트워크(Target Network)

◈ DQN 구현

바닥부터 배우는 강화 학습 | 08. 가치 기반 에이전트 | with-RL