가치를 거치지 않고 정책 $\pi_\theta(a\mid s)$을 직접 파라미터화해, 목적함수를 경사상승으로 올린다. 연속 행동과 확률적 정책에 강하고, PPO를 비롯한 현대 강화학습의 주류로 이어지는 접근이다.
강의 슬라이드: PDF
왜 정책을 직접 다루나
가치 기반은 가치함수를 배우고 그로부터 탐욕적으로 정책을 뽑는다. 정책 기반은 정책을 직접 파라미터로 두고 최적화한다. 둘을 합친 것이 액터-크리틱이다.
정책을 직접 다루면 좋은 점이 여럿이다. 수렴이 더 매끄럽고, 연속·고차원 행동을 자연스럽게 다루며, 무엇보다 확률적 정책을 낼 수 있다. 단점은 지역 최적에 빠지기 쉽고, 정책 평가가 비효율적이며 분산이 크다는 것이다.
확률적 정책이 왜 본질적으로 필요한지 실버는 두 예로 보인다. 첫째는 가위바위보다. 결정적으로 낸다면 상대가 간파해 착취한다. 유일한 최적(내시 균형)은 셋을 1/3씩 균등하게 내는 확률적 정책이다. 가치 기반의 탐욕 정책은 이런 최적을 원천적으로 표현하지 못한다. 둘째는 에일리어싱 격자다. 두 칸이 관측상 똑같아 구분이 안 되면, 결정적 정책은 그 칸에서 늘 같은 방향을 골라 한쪽에서 막다른 곳에 갇힌다. 확률적 정책은 좌우를 섞어 빠져나온다. 부분관측에서 무작위가 약이 되는 대목이다.
무엇을 최대화하나
목적함수부터 정해야 한다. 에피소드형 문제면 시작 상태의 가치 $J_1(\theta) = v_{\pi_\theta}(s_1)$이다. 끝이 없는 연속형이면, 정책이 오래 돌 때 각 상태에 머무는 비율(정상분포 $d^{\pi_\theta}(s)$)로 가중한 평균 가치나, 스텝당 평균 보상을 쓴다. 세 목적함수는 형태가 다르지만, 놀랍게도 정책 경사 정리는 셋 모두에 같은 꼴로 성립한다. 그래서 하나만 유도해 두면 나머지가 따라온다.
유한 차분
경사를 구하는 가장 무식한 방법은 유한 차분이다. 파라미터를 한 축씩 살짝 흔들어 목적함수가 얼마나 변하는지 재서 기울기를 어림한다. 파라미터가 n개면 n번 평가해야 해 느리고 잡음이 많지만, 정책이 미분 불가능해도 되고 구현이 쉽다. 실제로 네발 로봇 AIBO의 빠른 보행이 이 방법으로 다듬어졌다. 다리 궤적을 정하는 열두 개 파라미터를 흔들어 가며, 사람이 손으로 맞춘 걸음보다 빠른 초당 291밀리미터의 보행을 로봇이 스스로 찾아냈다. 하지만 파라미터가 많아지면 유한 차분은 금세 벽에 부딪히고, 해석적 경사가 필요해진다.
몬테카를로 정책 경사
해석적으로 경사를 구하려면 트릭 하나가 필요하다. 목적함수의 경사에는 $\nabla_\theta \sum_a \pi_\theta(a\mid s)\, Q(s,a)$ 같은 합이 나오는데, 이건 정책에 대한 기댓값이 아니라 샘플로 추정할 수 없다. 여기서 우도비 항등식 $\nabla_\theta \pi_\theta = \pi_\theta \nabla_\theta \log \pi_\theta$를 쓰면 다시 $\pi_\theta$에 대한 기댓값으로 돌아온다. 이때 튀어나오는 $\nabla_\theta \log \pi_\theta(a\mid s)$가 스코어 함수다. 로그는 여기서 온다.
$$\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\!\left[ \nabla_\theta \log \pi_\theta(a\mid s)\; q_{\pi_\theta}(s,a) \right]$$스코어 함수의 모양은 정책마다 예쁘게 떨어진다. 이산 행동의 소프트맥스 정책이면 스코어는 “선택한 행동의 특징 $\phi(s,a)$ 빼기 정책 하 평균 특징"이다. 평균보다 좋았던 방향으로 확률을 민다는 뜻이다. 연속 행동의 가우시안 정책이면 $(a-\mu)\phi/\sigma^2$로, 실제 행동이 평균보다 위였고 결과가 좋았다면 평균을 그쪽으로 옮긴다.
$q$ 자리에 실제 리턴 $G_t$를 넣으면 REINFORCE, 곧 몬테카를로 정책 경사다. 무편향이지만 분산이 커서 학습이 흔들린다. 실버의 퍽 월드 예처럼 연속으로 힘을 주는 문제에서 정책 경사가 자연스럽게 통한다.
액터-크리틱
분산을 줄이는 열쇠는 $G_t$ 대신 크리틱이 추정한 가치를 쓰는 것이다. 크리틱은 정책을 평가하는 문제(4강)를 풀고, 액터는 그 평가로 정책을 민다. 둘을 함께 학습한다.
여기에 베이스라인을 빼면 분산이 더 준다. 핵심은 스코어 함수의 기댓값이 0이라는 점이다. $\sum_a \nabla_\theta \pi_\theta(a\mid s) = \nabla_\theta \sum_a \pi_\theta = \nabla_\theta 1 = 0$이므로, 상태에만 의존하는 어떤 베이스라인 $B(s)$를 빼도 경사의 기댓값은 그대로다. 분산만 준다. 가장 좋은 베이스라인은 상태 가치 $V(s)$이고, 그때 $q(s,a) - V(s)$가 바로 이점 함수 $A(s,a)$다.
실용적으로 더 반가운 사실이 있다. TD 오차 $\delta = r + \gamma V(s') - V(s)$의 기댓값이 정확히 이점이다.
$$\mathbb{E}[\delta \mid s,a] = Q(s,a) - V(s) = A(s,a)$$그래서 $Q$ 근사기를 따로 둘 필요 없이 $V$ 하나만 배우면 이점을 무편향으로 얻는다. 이게 A2C로 이어지는 실무 표준이다.
크리틱에 근사를 쓰면 경사가 틀어질까 걱정되지만, 크리틱을 정책과 “호환되게” 고르면(특징이 스코어 함수와 맞고 오차를 최소화하면) 근사를 써도 경사가 정확하다는 정리가 있다(호환 함수 근사). 또 4강에서 본 MC와 TD(0)와 TD(λ)의 스펙트럼은 크리틱뿐 아니라 액터에도 그대로 적용된다. 액터의 목표로 리턴(고분산)을 쓸지, TD 오차(고편향)를 쓸지, 적격 흔적으로 그 사이를 섞을지 고를 수 있다.
자연 정책 경사
한 걸음 더. 같은 정책을 다른 파라미터로도 표현할 수 있는데, 바닐라 경사는 표현 방식에 따라 방향이 달라진다. 자연 정책 경사는 파라미터 공간이 아니라 정책(분포) 공간에서 일정 거리만큼 움직이도록, 피셔 정보 행렬로 경사를 바로잡는다. 놀랍게도 호환 근사와 결합하면 자연 경사 방향이 크리틱의 파라미터 $w$ 그 자체가 된다. 액터를 크리틱 방향으로 밀면 된다는 뜻이다. 뒤의 TRPO와 PPO가 정책이 한 번에 너무 멀리 못 가게 KL 거리를 제약하는 발상이 바로 이 자연 경사의 후예다.
여섯 얼굴, 하나의 식
강의는 정책 경사의 여러 형태를 한 표로 묶으며 끝난다. 전부 스코어 함수에 무언가를 곱한 꼴이다.
- REINFORCE: 스코어 × 리턴 $G_t$
- Q 액터-크리틱: 스코어 × $Q_w(s,a)$
- 이점 액터-크리틱: 스코어 × $A_w(s,a)$
- TD 액터-크리틱: 스코어 × $\delta$
- TD(λ) 액터-크리틱: 스코어 × $\delta$, 적격 흔적과 함께
- 자연 액터-크리틱: 피셔 역행렬로 위 경사를 바로잡음
무엇을 곱하느냐가 편향과 분산의 트레이드오프를 정한다. 이 액터-크리틱과 이점 추정이, 신뢰 영역과 클리핑으로 안정화된 PPO 같은 현대 방법의 뼈대다. 자료 글에서 예고한 목표 지점이 여기서 이어진다.