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

바닥부터 배우는 강화 학습 | 10. 알파고와 MCTS

'바닥부터 배우는 강화 학습' 10장에는 MCTS(Monte Carlo Tree Search)의 개념과 알파고에 대해서 설명하고 있습니다. 아래 내용은 공부하면서 핵심 내용을 정리한 것입니다.

참고자료

도서: 바닥부터 배우는 강화 학습 / 10장 알파고와 MCTS

10.1 알파고

◈ 학습 단계

1. 지도 학습 정책 $\pi_{sl}$

2. 롤아웃 정책 $\pi_{roll}$

3. 강화 학습 정책 $\pi_{rl}$

$$\nabla_{\theta}J(\theta) = \mathbb{E} \left[ \nabla_{\theta} \log \pi_{\theta} (s, a) * G_t \right]$$

4. 밸류 네트워크 $v_{rl}$

$$v_{\pi_{rl}}(s) = \mathbb{E} \left [ G_t | s_t = s \right ]$$

◈ Monte Carlo Tree Search(MCTS)

1. 선택

$$a_t = \underset{a}{\mathrm{argmax}} \left ( Q(s_t, a) + u(s_t, a) \right ) $$

$$Q(s_{78}, a_{33}) = {1 \over 100} \sum_{i=1}^{100} V(s_L^i)$$

$$u(s_t, a) \propto {P(s, a) \over 1 + N(s, a)}$$

2. 확장(Expansion)

$$\begin{equation}
\begin{split}
P(s, a) &\gets \pi_{sl}(s, a) \\
N(s, a) &\gets 0 \\
Q(s, a) &\gets 0 \\
\end{split}
\end{equation}$$

3. 시뮬레이션(Simulation)

$$V(s_L) = {1 \over 2} v_{rl}(s_L) + {1 \over 2} z_L$$

4. 백 프로파게이션(Back propagation)

$$\begin{equation}
\begin{split}
N(s, a) &\gets N(s, a) + 1 \\
Q(s, a) &\gets Q(s, a) + {1 \over N(s, a)} \left ( V(s_L) - Q(s, a) \right ) \\
\end{split}
\end{equation}$$

$$\pi_{mcts}(s, a_i) = {N(s, a_i) \over N(s, a_1) + N(s, a_2) + N(s, a_3)} \;\;\;\; i= 1, 2, 3$$

10.2 알파고 제로

◈ 인간을 대신할 새로운 선생님, MCTS

$$L(\theta) = (z_t - v_t)^2 - \pi_t \log p_t$$

◈ 알파고 제로에서의 MCTS

바닥부터 배우는 강화 학습 | 10. 알파고와 MCTS | with-RL