[LLM의 RL] 2. 강화학습 알고리즘의 종류
[LLM의 RL] 이전 포스팅 1. 강화학습의 기본 개념과 이어집니다.
강화학습의 알고리즘은 가치 함수나 정책을 어떻게 학습하는지에 따라 달라진다.
- Value-based: 각 상태(or 상태-행동)의 가치 함수를 학습하고, 이 값을 기반으로 최적 행동을 선택한다.
- Policy-based: 가치 함수 없이 정책 자체를 직접 최적화한다.
- Actor-Critic: $\pi_\theta$ 에 해당하는 Actor와 가치를 추정하는 가치 함수인 Critic으로 구성된다.
Value-based Approach
각 상태(or 상태-행동)의 가치 함수를 학습하고, 이 값을 기반으로 최적 행동을 선택한다. 이 값을 기반으로 최적 행동을 선택한다.
가치 함수를 학습할 때 $G_t$ 를 정답 레이블로 사용하여 $V^\pi$ 와 $Q^\pi$ 를 학습한다.
Monte-Carlo
\[V(s) \gets V(s) + \alpha (G_t - V(s))\]$(G_t - V(s))$ 로 표현된 정답과 예측의 차이를 $\alpha$ 로 표현된 가중치만큼 업데이트 한다.
TD(0)
\[V(s) \gets V(s) + \alpha (R_{t+1} + \gamma V(s') - V(s))\]$R_{t+1} + \gamma V(s’)$ 는 다음 timestep에 대한 즉시 보상과 이후 보상을 예측한 값이고, TD target이라고 부른다.
또한, $R_{t+1} + \gamma V(s’) - V(s)$ 를 TD-error라고 부른다.
이렇게 한 스텝만 transition하여 결과를 보는 경우를 1-step lookahead라고 하며, 이후 보상들이 예측값이기 때문에 bootstrap이라고 부른다.
Q-learning
\[Q(s, a) \gets Q(s, a) + \alpha (r + \gamma max_a Q(s', a') - Q(s, a))\]$r + \gamma max_a Q(s’, a’)$ 는 Bellman Target이라고 부르고, $Q(s’, a’)$ 또한 추정치이기 때문에 Q-learning도 TD(0)와 같이 bootstrapping 방식이다.
이때 정책 $\pi(s)$ 는 $\displaystyle \arg\max_a Q(s, a)$ 를 따라 구한 Q값 중 최적의 Q값을 선택하는 방식으로 “간접적으로” 업데이트 된다.
Policy-based Approach
Value-based 방식은 가치 함수를 사용해서 state 또는 state-action pair의 가치를 계산해 최적의 값을 선택하도록 정책을 업데이트 했다. Policy-based는 $G_t$ 를 가중치처럼 사용해서 정책을 “직접” 업데이트 한다. 대표적인 알고리즘 REINFORCE를 통해 알아보자.
\[\nabla_\theta J(\theta) = \mathbb{E} [\nabla_\theta \log \pi_\theta (a_t \mid s_t) \cdot G_t]\]- $\pi_\theta (a \mid s)$: $\pi$ (정책), $\theta$ (정책을 결정하는 모든 파라미터)
- $\displaystyle \nabla_\theta = \frac{\partial}{\partial\theta}$: $\theta$ 를 조금 바꾸면 값이 어떻게 바뀌는지를 나타내는 gradient 값이다.
- $J(\theta)$: 최대화 하려는 목적 함수이다. Policy-based에서는 $\mathbb{E}[G_0]$ 자체를 목적 함수로 둔다.
- $\log\pi_\theta$: $\log$ 를 사용하여 미분하면 수식적으로 깔끔해진다. log-derivative trick이라고 한다.
- $G_t$: 가중치로 사용되는 값이다. $G_t$ 가 크면 좋은 행동이었으므로 자주 하도록 업데이트되고, 반대로 작으면 그 행동이 별로였으니 덜 하도록 업데이트 된다.
Value-based와 Policy-based의 차이
Value-based 기법들은 정책은 $\pi$ 가 $\displaystyle \arg\max_a Q(s, a)$ 즉, 현재의 가치함수를 기반으로 최적의 보상을 선택하는 것이다. 가치함수가 정확해질 수록, $\pi(s)$ 가 현실과 유사한 환경에서 최적의 해를 선택할 수 있게 된다.
Policy-based는 현재 timestep에서 얻을 수 있는 보상 $G_t$ 를 가중치로 하여 $\pi_\theta(a \mid s)$ 를 조정
Actor-Critic
등장 배경
| Value-based | Policy-based |
|---|---|
| $\arg\max$ 필요 → continuous 불가능* | $G_t$ 를 직접 사용 → 분산이 큼 |
| 정책을 직접 최적화하지 않음 | 학습이 불안정하고 최적 수렴 속도가 느림 |
$\therefore$ 정책을 직접 학습하며, 보상은 가치 함수가 계산하는 Actor-Critic 방식이 등장
구성 요소
Actor(정책): $\pi_\theta(a \mid s)$ 로, 행동 확률을 출력한다. (Policy-based)
Critic(가치): $V_w(s)$ 또는 $Q_w(s, a)$ 로, 상태(또는 상태-행동)의 좋고 나쁨을 평가. (Value-based)
Advantage: Critic이 구한 보상을 기반으로 Value-based와 Policy-based를 연결하는 역할을 한다.
Advantage
Advantage는 아래의 수식을 의미하며, Critic의 평가를 사용해서 업데이트 된다.
\[\begin{align*} A^\pi(s_t, a_t) &= Q^\pi(s_t, a_t) - V^\pi(s_t) \\ \overset{근사}\longrightarrow A^\pi(s_t, a_t) &= r_{t+1} + \gamma V^\pi(s_{t+1}) - V^\pi(s_t) \end{align*}\]근사 과정
$A^\pi(s_t, a_t) = Q^\pi(s_t, a_t) - V^\pi(s_t)$ 에서 현실에서는 $Q^\pi$ 를 정확히 모름.
$Q^\pi$ 의 Bellman Expectation Equation을 보면, $Q^\pi(s_t, a_t) = \mathbb{E}[r_{t+1} + \gamma V^\pi(s_{t+1}) \mid s_t, a_t]$ 이다.
이를 one-step transition 샘플로 바꾸어 근사하면 아래처럼 표현할 수 있다.
$Q^\pi(s_t, a_t) \approx r_{t+1} + \gamma V^\pi(s_{t+1})$ (근사에서의 $r_{t+1}$ 과 $s_{t+1}$ 은 현재 policy를 따랐을 때 환경이 주는 정보이다.)
이 Advantage는 TD target에서 baseline으로 $V^\pi (s)$ 를 빼는 형태로, 기댓값은 유지하지만 분산을 감소하는 효과가 있다.
위 근사 과정에서는 one-step transition이라고 했지만, 실제로는 TD($\lambda$)를 주로 많이 사용한다.
Actor와 Critic 업데이트
[Actor]
\[\nabla_\theta J(\theta) = \mathbb{E}[\nabla_\theta \log \pi_\theta (a_t \mid s_t)A_t]\]앞서 Critic으로부터 구한 Advantage를 사용해서 정책을 업데이트 한다.
- Actor: 지금 한 action을 더 할까 말까?
- Critic: 이 행동은 평균보다 좋았어/나빴어.
[Critic]
\[L(w) = (r_{t+1} + \gamma V_w (s_{t+1}) - V_w(S_t))^2\]MSE를 구하는 방식으로 업데이트 한다. Value-based 방식과 동일하다.
one-step 기준 전체 학습 루프
- 상태 $s_t$
- actor 행동 샘플링: $a_t \sim \pi_\theta (\cdot \mid s_t)$
- 보상 $r_{t+1}$, 다음 상태 $s_{t+1}$
- Advantage: $\delta_t = r_{t+1} + \gamma V(s_{t+1}) - V(s_t)$
- Actor 업데이트: $\theta \gets \theta + \alpha \nabla \log \pi (a_t \mid s_t) \delta_t$
- Critic 업데이트: $w \gets w - \beta \nabla L(w)$
알고리즘
Actor-Critic 방식을 사용하는 대표적인 알고리즘으로는 A2C/A3C, PPO, DDPG(Q-critic), SAC 등이 있다.
생각해보기
만약, Critic이 완벽에 가깝게 수렴하면 Actor에는 무슨 일이 일어날까?
→ Critic이 완벽에 가까워진다는 것은 $A_t \to 0$ 에 수렴한다는 것이고, 이는 곧 가치 함수가 현실과 거의 유사하게 예측할 수 있게 된다는 것이다. 따라서 Actor는 정확한 피드백을 받을 수 있게 되고, 현실과 유사한 환경에서 시뮬레이션 하게 되어 $\pi_\theta$ 는 최적 정책으로 수렴해간다.