Part IV: 두 줄기의 만남 (액터–크리틱과 PPO)

정책 그래디언트는 고른 것의 로그확률을 점수만큼 올렸고, 가치 기반 방법은 상태마다 앞으로 받을 보상의 합(리턴)을 어림했다. 이 파트는 둘을 한 모델 안에서 만나게 한다: 정책이 고르고, 가치함수가 그 선택을 평가한다. 그리고 그렇게 커진 학습이 너무 멀리 가지 않게 묶는다.


Chapter 9: Actor-Critic: 비평가를 곁에 두다

의문

REINFORCE는 응답 전체에 숫자 하나를 준다. 다음 오답을 보자.

17 × 3 = 10 × 3 + 7 × 3 = 30 + 24 = 54

가장 큰 실수는 “24” 하나이고, "10 × 3 + 7 × 3"이라는 분해는 오히려 훌륭한 수였다. 그런데 REINFORCE는 모든 토큰에 똑같이 R−bR - b(응답의 점수 RR 에서 베이스라인 bb, 곧 이 프롬프트에서 평소 받는 점수를 뺀 값)를 곱한다. 좋은 수와 나쁜 수가 함께 벌을 받고, 누가 진짜 범인인지는 수많은 샘플을 평균낸 뒤에야 드러난다.

토큰마다 따로 물을 수는 없을까? “이 토큰 하나가 결과를 얼마나 좋게, 혹은 나쁘게 만들었나?” 그러려면 풀이 중간중간에 "지금 이 풀이가 얼마나 유망한가"를 알려줄 누군가가 필요하다. 그 누군가가 비평가(critic)이고, 행동하는 정책(프롬프트를 받아 답을 고르는 언어 모델)을 액터(actor)라 부른다. 둘이 함께 학습하는 구조가 Actor-Critic이다.

두 이름에는 지금까지 따로 걸어온 두 줄기가 들어 있다. 액터는 고른 것의 로그확률을 점수만큼 올리는 정책 그래디언트 줄기의 정책이고, 비평가는 상태마다 앞으로 받을 보상의 합(리턴)을 벨먼 방정식과 시간차 학습으로 어림하는 가치 기반 줄기의 가치함수다. 가치 기반 방법은 가치함수만 배우고 행동은 행동 가치가 가장 큰 것을 고르는 식으로 정했지만, 액터–크리틱은 정책을 따로 두고 가치함수를 그 정책의 점수표로 쓴다.

어드밴티지: 가치가 얼마나 바뀌었나

"지금 이 풀이가 얼마나 유망한가"를 숫자로 적을 수 있다면, 토큰 하나의 책임은 유망함이 그 토큰 앞뒤로 얼마나 달라졌는지로 잴 수 있지 않을까? 먼저 "유망함"을 셀 수 있는 것으로 만들자.

보상이 정답 1 / 오답 0이라고 하자. 풀이를 어느 지점까지 써 둔 채로 모델에게 나머지를 이어 쓰게 하기를 여러 번 되풀이한다. 100번 가운데 45번이 정답으로 끝나면 그 앞부분의 유망함은 0.45다. 어떤 모델로 “17 × 3” 풀이의 지점마다 이렇게 세어 보니 아래와 같았다고 하자(설명을 위해 정한 값이다).

지금까지 쓴 풀이 결국 맞힐 확률
17 × 3은 0.45
17 × 3은 10 × 3 0.70
17 × 3은 10 × 3 + 7 × 3 = 30 + 0.80
… 30 + 21 0.95
… 30 + 24 0.05

이렇게 앞부분마다 매기는 유망함이 가치함수(value function) Vπ(st)\textcolor{#00897b}{V^\pi}(\textcolor{#0093b8}{s_t}) 다. 한 줄로 되짚으면, 상태 st\textcolor{#0093b8}{s_t} 에서 출발해 정책 π\pi 를 따를 때 앞으로 받을 보상의 합(리턴)의 기댓값이다. 언어 모델에서 상태는 "프롬프트 + 지금까지 쓴 토큰"이고, 응답 하나가 끝나면 한 판(에피소드)이 끝나므로 할인 없이 더한다(할인율 γ=1\textcolor{#7a1f5a}{\gamma} = 1). 보상이 끝에 한 번 정답 1 / 오답 0으로 오면 보상 합의 기댓값은 곧 정답일 확률이므로, V(st)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t})는 위 표에서 센 **“여기까지 쓴 풀이에서 계속 써 나갔을 때 결국 맞힐 확률”**이 된다.

"10 × 3"을 쓰는 순간 가치(결국 맞힐 확률)가 0.45에서 0.70으로 좋아졌다. "24"를 쓰는 순간 가치는 0.80에서 0.05로 무너졌는데, 이 가치의 변화가 바로 우리가 원하던 토큰별 책임이다.

0 0.5 1 가치 V (결국 맞힐 확률) 0.45 0.70 0.80 0.95 0.05 +0.25 +0.10 +0.15 −0.75 17 × 3은 10 × 3 + 7 × 3 = 30 + 21 또는 24 (여기까지 쓴 풀이)
역사: 벨먼의 쪼개기에서 비평가까지

한 상태의 가치를 "지금 받는 보상 + 다음 상태의 가치"로 쪼개어 푸는 생각은 리처드 벨먼(Richard Bellman)의 벨먼 방정식이다. 벨먼은 이 쪼개기로 전이 확률을 아는 문제의 가치를 셈했고, 비평가는 같은 쪼개기를 전이 확률 없이, 정책이 실제로 쓴 응답에서 배운다.

가치의 변화량

토큰 하나가 결과에 보탠 정도를 재려면 토큰 at\textcolor{#1c9c60}{a_t} 를 고르기 전의 가치 V(st)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) 와 고른 뒤의 가치, 이 두 가치를 비교하면 된다. 고른 뒤의 가치에서 고르기 전의 가치 V(st)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) 를 뺀 값을 어드밴티지(advantage) A(st,at)\textcolor{#8e44ad}{A}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t}) 라 하며, 그 행동이 "이 상태에서의 평균적인 행동"보다 얼마나 나았나를 잰다. (고른 뒤의 가치는 첫 행동만 at\textcolor{#1c9c60}{a_t} 로 정하고 그 뒤로 정책을 따를 때의 기대 리턴인 행동 가치 Q(st,at)\textcolor{#00897b}{Q}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t}) 이므로, 어드밴티지는 Q−V\textcolor{#00897b}{Q} - \textcolor{#00897b}{V} 다.)

언어 모델에는 상태 전이가 결정론적이다라는 특별한 성질이 하나 있다. 토큰 at\textcolor{#1c9c60}{a_t}를 고르면 다음 상태는 무조건 st+1=st⊕at\textcolor{#0093b8}{s_{t+1}} = \textcolor{#0093b8}{s_t} \oplus \textcolor{#1c9c60}{a_t}(뒤에 이어 붙이기)여서, 로봇처럼 “앞으로 가려 했는데 미끄러졌다” 같은 무작위 전이가 없다. 그래서 고른 뒤의 가치 Q(st,at)\textcolor{#00897b}{Q}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t}) 는 이번에 받은 보상 rt\textcolor{#d9670b}{r_t} 에 다음 상태의 가치 V(st+1)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_{t+1}}) 를 더한 값과 같다.

Q(st,at)=rt+V(st+1),A(st,at)=rt+V(st+1)−V(st)\textcolor{#00897b}{Q}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t}) = \textcolor{#d9670b}{r_t} + \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_{t+1}}), \qquad \textcolor{#8e44ad}{A}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t}) = \textcolor{#d9670b}{r_t} + \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_{t+1}}) - \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t})
Q(st,at)행동 at를 고른 뒤 기대되는 보상 합V(st)행동을 고르기 전의 기대 보상 합A(st,at)어드밴티지: 그 행동이 평균보다 얼마나 나은가rt시점 t의 보상 (토큰 보상)at고른 토큰 \small\begin{array}{ll} \textcolor{#00897b}{Q}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t}) & \text{행동 }\textcolor{#1c9c60}{a_t}\text{를 고른 뒤 기대되는 보상 합} \\ \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) & \text{행동을 고르기 전의 기대 보상 합} \\ \textcolor{#8e44ad}{A}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t}) & \text{어드밴티지: 그 행동이 평균보다 얼마나 나은가} \\ \textcolor{#d9670b}{r_t} & \text{시점 }t\text{의 보상 (토큰 보상)} \\ \textcolor{#1c9c60}{a_t} & \text{고른 토큰} \end{array}

행동 가치 식 Q=rt+V(st+1)\textcolor{#00897b}{Q} = \textcolor{#d9670b}{r_t} + \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_{t+1}}) 는 기댓값 없이 정확히 성립한다. 중간 보상 rt\textcolor{#d9670b}{r_t}는 마지막 토큰을 빼면 0이므로, 어드밴티지는 그냥 가치의 변화량이다. "10 × 3"의 어드밴티지는 0.70−0.45=+0.250.70 - 0.45 = +0.25, "24"의 어드밴티지는 0.05−0.80=−0.750.05 - 0.80 = -0.75.

ML에서: 정책 그래디언트의 가중치 자리

정책 그래디언트는 E[∑tΦt∇log⁡πθ]\mathbb{E}[\sum_t \textcolor{#8e44ad}{\Phi_t} \nabla\log\textcolor{#1565c0}{\pi_\theta}] 꼴이고, 가중치(곱하는 수. 신경망 파라미터가 아니다) Φt\textcolor{#8e44ad}{\Phi_t} 자리에 무엇을 넣느냐로 방법이 갈린다. REINFORCE는 모든 토큰에 같은 R−b\textcolor{#d9670b}{R} - \textcolor{#00897b}{b} 를 넣었는데, 가중치 Φt\textcolor{#8e44ad}{\Phi_t} 자리에 어드밴티지를 넣으면:

∇θJ=E[∑tA(st,at) ∇θlog⁡πθ(at∣st)]\nabla_\theta \textcolor{#d62728}{J} = \mathbb{E}\Big[\sum_t \textcolor{#8e44ad}{A}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t})\, \nabla_\theta \log \textcolor{#1565c0}{\pi_\theta}(\textcolor{#1c9c60}{a_t} \mid \textcolor{#0093b8}{s_t})\Big]
A(st,at)가중치 Φt 자리에 들어간 어드밴티지J목적함수πθ학습 중인 정책 (액터)\small\begin{array}{ll} \textcolor{#8e44ad}{A}(\textcolor{#0093b8}{s_t}, \textcolor{#1c9c60}{a_t}) & \text{가중치 }\textcolor{#8e44ad}{\Phi_t}\text{ 자리에 들어간 어드밴티지} \\ \textcolor{#d62728}{J} & \text{목적함수} \\ \textcolor{#1565c0}{\pi_\theta} & \text{학습 중인 정책 (액터)} \end{array}

어드밴티지를 넣은 정책 그래디언트도 여전히 편향이 없다(unbiased). A=Q−V\textcolor{#8e44ad}{A} = \textcolor{#00897b}{Q} - \textcolor{#00897b}{V}에서 빼는 V(st)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t})는 상태에만 의존하고 그 상태에서 고른 행동에는 의존하지 않는 베이스라인이기 때문이다. 상태를 고정하면 Ea∼πθ[∇θlog⁡πθ(a∣s)]=∑a∇θπθ(a∣s)=∇θ1=0\mathbb{E}_{\textcolor{#1c9c60}{a} \sim \textcolor{#1565c0}{\pi_\theta}}[\nabla_\theta \log\textcolor{#1565c0}{\pi_\theta}(\textcolor{#1c9c60}{a} \mid \textcolor{#0093b8}{s})] = \sum_{\textcolor{#1c9c60}{a}} \nabla_\theta \textcolor{#1565c0}{\pi_\theta}(\textcolor{#1c9c60}{a} \mid \textcolor{#0093b8}{s}) = \nabla_\theta 1 = 0 이므로, 여기에 상태만의 함수를 곱한 항은 기댓값이 0이다. REINFORCE의 베이스라인이 "이 프롬프트의 평균"이었다면, 가치함수는 "풀이의 이 시점에서의 평균"이다. 베이스라인이 토큰마다 새로 매겨진다.

문제 1: 학기 중에 바뀌는 예상 학점

조교가 과제를 채점할 때마다 「이대로 가면 A를 받을 확률」을 고쳐 알려 준다. 학기 초에는 0.5였고, 과제 1 뒤 0.7, 과제 2 뒤 0.6, 과제 3 뒤 0.9가 되었다. 기말고사를 치고 A를 받았다(확률 1). (가) 과제 1·2·3과 기말고사는 각각 A를 받을 확률을 얼마나 바꿨나? 가장 크게 기여한 것은 무엇인가? (나) 학기 끝에 「A를 받았다」는 결과 하나만 보고 네 번을 똑같이 칭찬하면, 과제 2는 어떤 평가를 받게 되나?

선생님 (질문)
선생님
민준 학생, A를 받는 데 가장 크게 기여한 건 무엇이라고 봤어요?
김민준 (평상)
김민준
기말고사요. A가 기말 성적으로 확정됐으니까요.
선생님 (평상)
선생님
기말고사를 치기 직전에 조교가 알려 준 확률은 얼마였죠?
김민준 (당황)
김민준
0.9요. 기말은 0.9를 1로 만든 거라 +0.1뿐이네요. 차례로 +0.2, −0.1, +0.3, +0.1이니까 가장 크게 바꾼 건 과제 3이에요.
이서연 (평상)
이서연
과제 2는 오히려 확률을 0.1 깎았어. 그런데 (나)처럼 결과만 보고 네 번을 똑같이 칭찬하면 과제 2도 칭찬을 받네. 누가 얼마나 보탰는지는 결과가 아니라 예상이 어떻게 바뀌었는지를 봐야 보여.
김민준 (평상)
김민준
조별과제가 A 나왔다고, 중간에 일을 망친 사람까지 똑같이 칭찬받는 거랑 같네요.

정리 (가) 과제 1 +0.2, 과제 2 −0.1, 과제 3 +0.3, 기말고사 +0.1. 가장 크게 기여한 것은 과제 3이고, 결과를 확정한 마지막 단계가 가장 크게 기여한 것은 아니다. (나) 확률을 깎은 과제 2까지 칭찬받으므로, 기여는 결과가 아니라 예상의 변화로 나눠야 보인다.

문제 2: 어느 토큰이 정답 여부를 정했나

이번에는 다른 작은 모델이 “17 × 3은” 뒤를 세 토큰으로 이어 쓰는데, 첫째 토큰에서 풀이 방법을, 둘째 토큰에서 중간 계산을, 셋째 토큰에서 답을 쓴다. 답이 51이면 보상 R=1\textcolor{#d9670b}{R} = 1, 아니면 0이고, 모델이 고르는 확률은 바로 아래 나무 그림과 같다.

V(st)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) 를 토큰 tt개를 쓴 뒤의 가치(결국 맞힐 확률)라 하자. (가) 「10 × 3 + 7 × 3」 → 「= 30 + 21」 → 「= 51」 경로에서 V(s0),…,V(s3)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_0}), \dots, \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_3}) 과 토큰마다의 어드밴티지, 곧 가치의 증분 ΔVt=V(st+1)−V(st)\Delta\textcolor{#00897b}{V}_t = \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_{t+1}}) - \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) 를 구하시오. (나) 모든 경로에 걸쳐 자리마다 증분 제곱의 평균 E[(ΔVt)2]\mathbb{E}[(\Delta\textcolor{#00897b}{V}_t)^2] 를 구하고, 셋을 더해 최종 보상의 분산 Var(R)=V(s0)(1−V(s0))\mathrm{Var}(\textcolor{#d9670b}{R}) = \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_0})\big(1 - \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_0})\big) 과 비교하시오. 정답 여부를 가장 많이 정한 자리는 어디인가? (다) 증분 제곱 평균의 합이 Var(R)\mathrm{Var}(\textcolor{#d9670b}{R}) 와 왜 맞아떨어지는지 설명하시오.

0.5 0.5 0.8 0.2 1 0.9 0.1 1 0.5 0.5 17 × 3은 10 × 3 + 7 × 3 17 + 17 + 17 = 30 + 21 = 30 + 24 = 34 + 17 = 51 ✓ = 41 ✗ = 54 ✗ = 51 ✓ = 41 ✗ 첫째 토큰 둘째 토큰 셋째 토큰
선생님 (질문)
선생님
민준 학생, 세 자리 가운데 정답 여부를 가장 많이 정한 건 어디라고 봤어요?
김민준 (평상)
김민준
첫 자리요. 「10 × 3 + 7 × 3」과 「17 + 17 + 17」이 딱 반반으로 갈리니까 제일 큰 갈림길이죠.
선생님 (평상)
선생님
(가)의 증분부터 볼까요.
김민준 (평상)
김민준
V\textcolor{#00897b}{V} 가 0.61 → 0.72 → 0.9 → 1 이라 증분이 +0.11, +0.18, +0.10 이에요.
선생님 (평상)
선생님
그건 한 경로예요. (나)대로 모든 경로를 확률로 가중해서 자리마다 E[(ΔVt)2]\mathbb{E}[(\Delta\textcolor{#00897b}{V}_t)^2] 를 재 보면요?
김민준 (평상)
김민준
첫 자리 0.0121, 둘째 0.0648, 셋째 0.1610이요.
김민준 (난처함)
김민준
셋째가 제일 크고, 반반으로 갈리는 첫 자리가 제일 작네요.
선생님 (평상)
선생님
반반으로 갈린다는 건 다음 토큰의 확률이 고르게 퍼져 있다는 뜻이에요. 최종 보상 R\textcolor{#d9670b}{R} 이 그 자리에서 얼마나 정해지느냐는 따로 재야 하죠. 첫 자리는 어느 방법을 골라도 가치가 0.72와 0.5라 맞힐 확률이 조금만 움직여요. 셋째 자리는 고르는 순간 R\textcolor{#d9670b}{R} 이 0 아니면 1로 확정되고요.
이서연 (의심)
이서연
그런데 셋을 더하면 0.2379 이고 Var(R)=0.61×0.39=0.2379\mathrm{Var}(\textcolor{#d9670b}{R}) = 0.61 \times 0.39 = 0.2379 네. 우연 아니야? 증분끼리 상관이 있으면 교차항 2 E[ΔVs ΔVt]2\,\mathbb{E}[\Delta\textcolor{#00897b}{V}_s\, \Delta\textcolor{#00897b}{V}_t] 가 남아야 하잖아.
선생님 (질문)
선생님
서연 학생, 둘째 토큰을 뽑기 직전에 서 있다고 해요. 앞으로 생길 증분 ΔV1\Delta\textcolor{#00897b}{V}_1 의 기댓값은 얼마죠?
이서연 (생각)
이서연
음… V(s2)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_2}) 는 그 뒤 R\textcolor{#d9670b}{R} 의 평균이니까, 그걸 s1\textcolor{#0093b8}{s_1} 에서 다시 평균 내야 하는데요.
선생님 (질문)
선생님
조건을 더 붙여 평균 낸 것을 덜 붙인 조건으로 다시 평균 내면 무엇이 되죠?
이서연 (평상)
이서연
원래 평균이요. 반복 기댓값이에요. 그럼 E[V(s2)∣s1]=E[E[R∣s2]∣s1]=E[R∣s1]=V(s1)\mathbb{E}[\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_2}) \mid \textcolor{#0093b8}{s_1}] = \mathbb{E}\big[\mathbb{E}[\textcolor{#d9670b}{R} \mid \textcolor{#0093b8}{s_2}] \mid \textcolor{#0093b8}{s_1}\big] = \mathbb{E}[\textcolor{#d9670b}{R} \mid \textcolor{#0093b8}{s_1}] = \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_1}) … 증분의 기댓값은 0이에요.
선생님 (질문)
선생님
그게 교차항과 무슨 상관이죠? 그 시점에 앞선 증분 ΔV0\Delta\textcolor{#00897b}{V}_0 는 어떤 수예요?
이서연 (아하)
이서연
이미 정해진 숫자요. 그러면 밖으로 빠지고, 교차항은 그 숫자 곱하기 0이네요. 증분들이 서로 직교해서 제곱만 남는 거예요.
이서연 (평상)
이서연
선형대수 시간에 서로 직교하는 벡터를 더하면 길이 제곱이 그냥 더해졌잖아요. 피타고라스가 확률변수에서 다시 나온 거네요.
선생님 (흐뭇함)
선생님
그래요. 다음 값의 평균이 늘 지금 값과 같은 수열을 마팅게일(martingale)이라 불러요. 공정한 내기에서 한 판 더 해도 기대 자산이 그대로인 것과 같죠. 조건이 하나 있어요. 그 반복 기댓값은 다음 토큰을 모델 자신의 확률로 뽑을 때만 성립해요.
이서연 (평상)
이서연
그러면 결과를 빨리 보려고 확률 높은 토큰 몇 개만 골라 강제로 갈라 보고 똑같이 평균 내면, V(st)\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) 의 흐름에 편향이 생기겠네요.
김민준 (평상)
김민준
아까 학점 문제랑 같네요. 조교가 공정하게 매기면 다음 과제 뒤에 예상이 오를지 내릴지 미리 알 수 없고, 학기 전체의 불확실성이 과제마다 겹치지 않게 나눠 떨어지는 거고요.

정리 (가) V\textcolor{#00897b}{V} = 0.61 → 0.72 → 0.9 → 1, 증분 +0.11, +0.18, +0.10. (나) E[(ΔVt)2]\mathbb{E}[(\Delta\textcolor{#00897b}{V}_t)^2] = 0.0121, 0.0648, 0.1610 (5%, 27%, 68%), 합 0.2379 = Var(R)\mathrm{Var}(\textcolor{#d9670b}{R}). 정답 여부를 가장 많이 정한 것은 셋째 자리이고, 반반으로 갈리는 첫 자리는 가장 적게 정했다. 다음 토큰의 확률이 얼마나 고르게 퍼졌는지와, 자리마다 증분 제곱의 평균이 Var(R)\mathrm{Var}(\textcolor{#d9670b}{R}) 가운데 얼마를 차지하는지는 다른 양이다. (다) 반복 기댓값 때문에 E[V(st+1)∣st]=V(st)\mathbb{E}[\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_{t+1}}) \mid \textcolor{#0093b8}{s_t}] = \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) 인 마팅게일이고, 증분의 교차항이 0이라 Var(R)=∑tE[(ΔVt)2]\mathrm{Var}(\textcolor{#d9670b}{R}) = \sum_t \mathbb{E}[(\Delta\textcolor{#00897b}{V}_t)^2] 가 정확히 성립한다. 불확실성이 토큰마다 빠짐없이, 겹침 없이 나뉘므로 「어느 토큰이 얼마나 결정했나」를 임의의 가중치 없이 정의할 수 있다. 증분은 곧 어드밴티지다. 단, 모델 자신의 확률로 뽑은 경로에서만(온폴리시: 지금 학습하는 모델이 직접 뽑은 샘플로 배우는 것) 성립한다.