본문으로 건너뛰기
#robot-learning#reinforcement-learning#policy-gradients#ppo#sac

강화학습 05 — 정책 경사에서 PPO·SAC까지

원본 슬라이드와 공개 자막을 대조해 REINFORCE, 기준값과 어드밴티지, 중요도 표집, TRPO·PPO·SAC를 풀어 봅니다. 확률비·엔트로피·손실 부호를 직접 계산한 예제와 함께 설명합니다.

Series map

시리즈

행동을 평가하는 데서 한 걸음 더 나아가, 좋은 결과를 만드는 행동의 확률을 직접 바꿔 보자. 이번 장은 정책의 기울기를 구하는 방법과, 그 기울기를 실제 로봇 학습에 쓰기 위해 필요한 장치를 다룬다.

Oier Mees · ETH Zurich 2026 5강 · 공식 강의 · 원본 PDF

P001 — 좋은 행동의 확률을 직접 바꾸는 정책 경사. Oier Mees, ETH Zurich Robot Learning 2026.
P001 — 좋은 행동의 확률을 직접 바꾸는 정책 경사

컵을 향해 손을 뻗는 로봇이 매번 조금 다른 방향으로 움직인다고 하자. 우연히 컵을 잘 잡았던 움직임은 더 자주 선택하고, 컵을 넘어뜨렸던 움직임은 덜 선택하면 어떨까? 이번 장은 이 직관을 신경망 가중치의 미분으로 바꾸는 과정이다.

04장에서는 행동의 점수인 Q 함수를 배우고, 그 점수가 큰 행동을 골랐다. 이번에는 정책(policy) 자체를 조절한다. 정책은 상태를 보고 행동을 선택하는 규칙이며, 확률적 정책은 가능한 행동마다 선택 확률 또는 확률밀도를 내놓는다. “정책을 개선한다”는 말은 그 분포를 더 좋은 결과가 나오는 방향으로 바꾼다는 뜻이다.

REINFORCE의 유도에서 시작해 흔들리는 학습 신호를 기준값·어드밴티지로 다듬고, 과거 자료 재사용의 조건을 거쳐 PPO와 SAC까지 간다. 같은 actor–critic 구조라도 자료를 어떻게 수집하고 어떤 목표를 최적화하는지가 다르다.

원강의 0:00부터.

P002 — 알고리즘 표는 필요한 정보와 재사용 가능한 자료를 비교한다. Oier Mees, ETH Zurich Robot Learning 2026.
P002 — 알고리즘 표는 필요한 정보와 재사용 가능한 자료를 비교한다

표의 네 열은 정확한 계산, 작은 표를 배우는 방법, 이산 행동을 내는 심층 강화학습, 연속 행동을 다루는 심층 강화학습이다. 행을 따라 읽으면 각 방법이 요구하는 정보를 비교할 수 있다. 동역학 모델은 행동 뒤의 상태가 어떻게 바뀌는지 알려 주는 규칙이다. 모델을 아는 가치 반복과, 경험만 저장하는 Q-learning의 출발점은 다르다.

이산 행동은 왼쪽·오른쪽처럼 나열할 수 있는 선택이고, 연속 행동은 관절 목표 각도나 토크처럼 실수 값을 정하는 선택이다. 영상 입력의 차원이 크다는 사실과 행동이 연속이라는 사실도 별개다. 영상에서 네 방향 중 하나를 고르는 정책은 입력은 크지만 행동은 이산적이다.

재현 버퍼(replay buffer)는 과거의 상태·행동·보상·다음 상태를 저장하는 기억 장치다. Q-learning 계열은 과거 행동이 현재 정책과 달라도 갱신에 활용할 수 있다. SARSA와 기본 정책 경사는 현재 정책이 만드는 자료 분포에 더 직접적으로 묶인다. 표의 수렴 체크는 작은 유한 MDP, 충분한 방문, 적절한 학습률 같은 조건 아래의 이야기다. 신경망으로 표를 바꿨다고 그 보장이 그대로 이어지지는 않는다.

DDPG에도 actor가 있으므로 “04장은 가치만 있고 05장에서 처음 정책 신경망이 나온다”고 나누면 부정확하다. 이번에는 확률적 정책의 기울기와 그 추정 문제를 중심으로 이 관계를 다시 살펴본다.

원강의 0:05부터.

P003 — 가치를 평가한 뒤 고를까, 선택 확률부터 배울까. Oier Mees, ETH Zurich Robot Learning 2026.
P003 — 가치를 평가한 뒤 고를까, 선택 확률부터 배울까

가치 기반 방법은 “이 행동을 하면 앞으로 얼마를 얻을까?”를 먼저 묻는다. 정책 경사(policy gradient)는 “좋은 결과를 만든 행동이 더 자주 나오게 하려면 정책의 어느 가중치를 바꿔야 할까?”를 묻는다. 두 질문은 경쟁하기도 하고 actor–critic에서 결합되기도 한다.

가중치 θ\theta는 신경망의 조절 손잡이들을 한 벡터로 모은 표기다. πθ(a∣s)\pi_\theta(a\mid s)는 상태 ss에서 행동 aa를 선택하는 분포다. 로짓(logit)은 확률로 바꾸기 전의 점수다. 예를 들어 두 행동의 로짓이 0과 1이면 softmax는 각 점수에 지수 함수를 적용하고 그 합으로 나눠, 약 0.269와 0.731의 확률로 바꾼다. 연속 행동에서는 평균과 표준편차를 출력해 가우시안 분포를 만들 수 있다. 가우시안은 평균 주변에 종 모양으로 값이 모이는 분포이고, 표준편차는 그 퍼진 폭을 조절한다.

정책을 직접 배운다고 미래 결과 평가가 필요 없어지는 것은 아니다. 실제 보상이나 critic이 어떤 행동이 더 나았는지 알려 주어야 한다. 또한 확률적으로 움직인다는 사실만으로 안전한 탐색이나 충분한 경험이 보장되지는 않는다.

원강의 1:30부터.

P004 — 한 번의 행운보다 반복 실행의 기대 수익을 높인다. Oier Mees, ETH Zurich Robot Learning 2026.
P004 — 한 번의 행운보다 반복 실행의 기대 수익을 높인다

보상은 한 시점의 평가 신호, 수익(return)은 여러 시점의 보상을 합한 값이다. 컵에 가까워질 때마다 작은 보상을 주고 집기에 성공하면 큰 보상을 주었다면, 한 번의 실행이 얻은 수익은 그 신호들의 합이다. 할인율은 먼 미래의 보상을 얼마나 반영할지 정한다.

G(τ)=∑t=0T−1rt,J(θ)=Eτ∼pθ[G(τ)]G(\tau)=\sum_{t=0}^{T-1}r_t,\qquad J(\theta)=\mathbb E_{\tau\sim p_\theta}[G(\tau)]

τ\tau는 실행 전체인 궤적, pθp_\theta는 현재 정책이 만드는 궤적 분포다. J(θ)J(\theta)는 그 분포에서 얻는 평균 수익이다. 오른쪽의 여러 갈래 선은 같은 시작점에서도 정책의 무작위 선택과 환경의 불확실성 때문에 서로 다른 결과가 나온다는 뜻이다. 가장 좋은 한 경로가 아니라 그 경로들이 나오는 확률까지 고려해야 한다.

이후 유도를 읽기 쉽게 본문은 유한 길이 TT와 할인 없는 수익을 사용한다. 할인된 목표를 정확히 미분하려면 시간별 할인 가중치도 일관되게 넣어야 한다. Gt=∑k=tT−1γk−trkG_t=\sum_{k=t}^{T-1}\gamma^{k-t}r_k라고 정의하면 기울기의 해당 시점 앞에는 γt\gamma^t도 붙는다. 단순히 보상 합의 기호만 바꾸어 두 목표를 섞지 않는다.

원강의 2:40부터.

P005 — 궤적의 확률은 시작·행동·환경 변화가 이어진 곱이다. Oier Mees, ETH Zurich Robot Learning 2026.
P005 — 궤적의 확률은 시작·행동·환경 변화가 이어진 곱이다

궤적은 τ=(s0,a0,s1,a1,…,sT)\tau=(s_0,a_0,s_1,a_1,\ldots,s_T)처럼 상태와 행동을 시간순으로 모은 기록이다. 시작 상태를 뽑고, 정책이 행동을 고르고, 환경이 다음 상태를 만드는 과정을 반복한다.

pθ(τ)=ρ0(s0)∏t=0T−1πθ(at∣st)P(st+1∣st,at)p_\theta(\tau)=\rho_0(s_0)\prod_{t=0}^{T-1}\pi_\theta(a_t\mid s_t)P(s_{t+1}\mid s_t,a_t)

ρ0\rho_0는 시작 상태 분포이고 PP는 환경의 전이다. 여러 단계가 모두 일어나야 한 궤적이 만들어지므로 항들을 곱한다. 이 곱을 로그로 바꾸면 합이 된다는 사실이 뒤에서 긴 실행의 기울기를 계산하게 해 준다.

모델 프리 정책 경사에서도 환경은 이 확률에 포함된다. 다만 정책 가중치를 바꿀 때 시작 분포와 환경 법칙 자체는 바뀌지 않는다고 가정한다. 이 가정 덕분에 나중에 그 두 항의 직접적인 가중치 미분이 사라진다. 상태 분포가 정책에 따라 달라지는 효과까지 무시한다는 뜻은 아니다. 그 효과는 전체 궤적 분포에 이미 들어 있다.

원강의 3:20부터.

P006 — 몬테카를로 평가는 실행 결과를 평균내는 계산이다. Oier Mees, ETH Zurich Robot Learning 2026.
P006 — 몬테카를로 평가는 실행 결과를 평균내는 계산이다

같은 정책으로 로봇을 여러 번 실행한 뒤 각각의 수익을 구하면 정책의 평균적인 성능을 추정할 수 있다. 몬테카를로(Monte Carlo)라는 이름은 무작위 표본으로 평균이나 적분을 계산하는 방법을 가리킨다. 정책 신경망의 가중치를 눈으로 보는 대신 실제 결과를 평가하는 것이다.

J^(θ)=1N∑i=1NG(τi),τi∼pθ\widehat J(\theta)=\frac1N\sum_{i=1}^N G(\tau_i),\qquad \tau_i\sim p_\theta

여기서 NN은 궤적 수다. 10번 실행해 성공한 횟수만 세는 평가도, 매 궤적의 에너지 비용까지 합하는 평가도 같은 틀에 넣을 수 있다. 표본이 많으면 추정이 보통 더 안정되지만, 한 로봇에서 연속 수집한 자료는 서로 상관될 수 있고 모든 초기 조건을 충분히 대표하지 못할 수도 있다.

평균을 낼 때는 어느 정책이 수집했는지가 중요하다. 오늘 정책을 평가하는 식에 어제의 다른 정책이 만든 궤적을 그대로 섞으면, 구하려는 평균과 실제 표본 분포가 달라진다. 뒤의 중요도 표집은 이 차이를 보정하려는 시도다.

원강의 3:47부터.

P007 — 보상으로 가중치를 미분하려면 환경을 통과해야 하는가. Oier Mees, ETH Zurich Robot Learning 2026.
P007 — 보상으로 가중치를 미분하려면 환경을 통과해야 하는가

미분은 가중치를 아주 조금 바꾸었을 때 목표가 어느 방향으로 얼마나 변하는지 나타낸다. 그 기울기 쪽으로 가중치를 움직이는 것이 경사 상승이다. 일반적인 지도학습에서는 신경망 출력과 손실 사이의 연산을 따라 역전파하면 된다.

로봇이 움직여 컵에 닿고, 컵이 미끄러져 실패하는 과정은 미분 가능한 신경망 연산만으로 이어져 있지 않다. 접촉이 불연속일 수 있고 실제 세계의 전이 규칙도 모른다. 그렇다고 정책을 개선할 기울기를 전혀 구할 수 없는 것은 아니다. 보상 수치 자체를 행동에 대해 미분하는 대신, 그 보상을 얻은 행동이 나올 확률을 미분하는 길이 있다.

이를 위해 기대 수익을 궤적 확률과 수익의 곱을 적분한 형태로 쓴다. 미분과 적분의 순서를 바꾸는 데에는 적절한 미분 가능성·적분 가능성 조건이 필요하다. “적분이 선형이니 언제나 가능하다”는 결론까지 확장하지 않는다.

원강의 5:37부터.

P008 — 로그 미분 항등식은 미분할 대상과 표집할 대상을 나눈다. Oier Mees, ETH Zurich Robot Learning 2026.
P008 — 로그 미분 항등식은 미분할 대상과 표집할 대상을 나눈다

양수 함수의 로그 미분은 원래 함수의 미분을 그 함수로 나눈 값이다. 양변에 원래 확률밀도를 곱하면 다음 항등식이 나온다.

∇θpθ(τ)=pθ(τ)∇θlog⁡pθ(τ)\nabla_\theta p_\theta(\tau)=p_\theta(\tau)\nabla_\theta\log p_\theta(\tau)

이를 기대 수익의 미분에 넣으면 아래처럼 궤적 분포에서 표집할 수 있는 기대값이 된다.

∇θJ(θ)=Eτ∼pθ[G(τ)∇θlog⁡pθ(τ)]\nabla_\theta J(\theta)=\mathbb E_{\tau\sim p_\theta}[G(\tau)\nabla_\theta\log p_\theta(\tau)]

pθp_\theta에서 실제로 궤적을 얻고, 각 표본에 대해 ∇θlog⁡pθ(τ)\nabla_\theta \log p_\theta(\tau)를 계산해 수익으로 가중한다. ∇\nabla는 모든 가중치에 대한 편미분을 모은 벡터다. 수익은 이 계산에서 숫자로 취급하므로, 보상 함수가 매끈하지 않더라도 확률 분포에 관한 조건이 맞으면 이 방법을 사용할 수 있다.

이는 표집 연산을 보통의 미분으로 통과한 것이 아니다. 표집으로 얻은 행동이 정책 아래에서 얼마나 그럴듯한지를 미분하는 점수 함수(score function) 추정이다. Silver 7강의 likelihood-ratio 설명도 같은 연결을 다룬다.

원강의 7:27부터.

P009 — 환경을 몰라도 행동 로그 확률은 계산할 수 있다. Oier Mees, ETH Zurich Robot Learning 2026.
P009 — 환경을 몰라도 행동 로그 확률은 계산할 수 있다

궤적 확률의 곱에 로그를 취하면 시작 상태, 각 행동, 각 전이의 로그 확률을 더한 꼴이 된다. 시작 분포와 환경 전이가 정책 가중치와 직접적인 매개변수를 공유하지 않는다면, 그 둘의 가중치 미분은 0이다. 남는 것은 정책 신경망이 내놓는 행동 확률의 로그 미분이다.

∇θlog⁡pθ(τ)=∑t=0T−1∇θlog⁡πθ(at∣st)\nabla_\theta\log p_\theta(\tau)=\sum_{t=0}^{T-1}\nabla_\theta\log\pi_\theta(a_t\mid s_t)

이제 모델 프리로 실행할 수 있다. 로봇에서 상태·행동·보상을 기록하고, 정책이 기록된 행동에 부여한 로그 확률을 계산한다. 이미지가 입력이든 관절 상태가 입력이든 원리는 같다.

연속 행동에서 πθ(at∣st)\pi_\theta(a_t\mid s_t)는 특정 실수 행동을 정확히 뽑을 확률이 아니라 확률밀도다. 밀도 값은 1보다 클 수 있으며, 로그 밀도를 사용하는 것은 정상이다. 가우시안의 분산이 0으로 무너지거나 로그 확률 계산에 수치 오류가 생기면 이 추정도 불안정해질 수 있다.

원강의 11:28부터.

P010 — REINFORCE는 수집·평가·정책 갱신을 반복한다. Oier Mees, ETH Zurich Robot Learning 2026.
P010 — REINFORCE는 수집·평가·정책 갱신을 반복한다

REINFORCE의 순서는 간단하다. 현재 정책으로 여러 궤적을 수집하고, 각 궤적의 수익을 구하고, 행동 로그 확률의 기울기에 그 수익을 곱해 평균낸다. 마지막으로 그 방향으로 정책 가중치를 갱신한다.

g^=1N∑iG(τi)∑t∇θlog⁡πθ(ai,t∣si,t),θ←θ+ηg^\widehat g=\frac1N\sum_i G(\tau_i)\sum_t\nabla_\theta\log\pi_\theta(a_{i,t}\mid s_{i,t}),\quad\theta\leftarrow\theta+\eta\widehat g

η\eta는 학습률이다. 수익을 최대화하므로 위 식은 더하기다. 최소화하는 최적화 도구를 쓴다면 손실을 음의 로그 확률과 수익의 곱으로 만들고 경사 하강을 적용해야 한다. 수익 가중치까지 정책과 함께 미분해 버리면 의도한 점수 함수 추정과 다른 계산이 될 수 있어, 보통 그 가중치에는 역전파를 흘리지 않는다.

우리 예제는 상태가 하나이고 행동이 둘인 문제에서 이 갱신을 직접 실행한다. 좋은 행동의 보상 확률은 0.8, 다른 행동은 0.2다. 64개 표본씩 1,500회 갱신하고, 매번 실제 평균 수익과 별도로 정책의 정확한 기대 보상도 계산한다. 뒤의 실행 파일과 CSV로 확인할 수 있다. 이는 로봇 PPO나 SAC를 학습시킨 결과가 아니다.

원강의 13:50부터.

P011 — 행동 복제의 기울기에 결과의 가중치를 붙인다. Oier Mees, ETH Zurich Robot Learning 2026.
P011 — 행동 복제의 기울기에 결과의 가중치를 붙인다

행동 복제는 전문가가 했던 행동의 로그 확률을 높이는 방향으로 학습한다. 기본 형태에서는 시연마다 성공의 정도를 수익으로 평가하지 않는다. REINFORCE는 자기 정책으로 수집한 행동에 결과의 가중치를 붙인다. 관측된 행동을 더 그럴듯하게 만드는 미분이 어느 정도 공통으로 쓰이는 셈이다.

다만 “좋은 행동은 올리고 나쁜 행동은 내린다”는 표현에는 기준이 필요하다. 모든 수익이 양수라면 수익 99인 궤적도 101인 궤적도 로그 확률을 높이는 항을 만든다. 99가 상대적으로 낮다는 이유만으로 그 표본의 계수가 음수가 되지는 않는다. 경쟁하는 행동 확률을 정규화하는 과정과 여러 표본의 평균이 함께 결과를 결정한다.

뒤에서 기준값 100을 빼면 가중치가 −1과 +1로 바뀐다. 이때 비로소 “평균보다 못한 행동의 확률을 낮춘다”는 직관이 표본별 부호와 직접 맞아떨어진다. 행동 복제와 비슷한 수식 모양만 보고, 과거 전문가 자료를 그대로 넣어도 동일한 정책 경사가 된다고 생각해서는 안 된다.

원강의 14:54부터.

P012 — 미래 행동은 이미 받은 보상을 바꿀 수 없다. Oier Mees, ETH Zurich Robot Learning 2026.
P012 — 미래 행동은 이미 받은 보상을 바꿀 수 없다

컵에 잘 접근하던 로봇이 마지막에 지나치게 움직여 컵을 놓치는 그림이다. 궤적 전체의 수익을 모든 행동에 곱하면 어느 시점의 선택과 무관한 과거 보상까지 학습 신호에 섞인다. 행동을 한 뒤 바뀔 수 있는 결과는 현재와 미래의 보상뿐이다.

Gt=∑k=tT−1rk,∇θJ=E[∑t∇θlog⁡πθ(at∣st)Gt]G_t=\sum_{k=t}^{T-1}r_k,\quad\nabla_\theta J=\mathbb E[\sum_t\nabla_\theta\log\pi_\theta(a_t\mid s_t)G_t]

GtG_t는 그 시점부터 남은 보상을 더한 reward-to-go다. tt 뒤의 보상만 곱해도, 행동 전의 역사에 조건부로 점수 함수의 평균이 0이라는 성질 때문에 기대 기울기는 유지된다. 과거에서 온 불필요한 잡음을 덜어 내는 것이다.

이 수정이 “초반 접근 동작은 언제나 잘했다고 판정한다”는 뜻은 아니다. 나중에 컵을 놓쳐 받은 벌점은 초반 행동의 미래에도 속하므로 여전히 그 행동의 GtG_t에 들어간다. reward-to-go는 과거 보상을 제거할 뿐, 행동별 책임을 완벽하게 찾아 주는 장치는 아니다. 이 구별을 해야 컵 그림의 직관과 실제 수식을 함께 이해할 수 있다.

원강의 15:54부터.

P013 — 99와 101의 차이를 100 근처의 큰 숫자에서 꺼내기. Oier Mees, ETH Zurich Robot Learning 2026.
P013 — 99와 101의 차이를 100 근처의 큰 숫자에서 꺼내기

두 로봇 팔 그림은 비슷한 고득점의 차이를 보여 준다. 하나는 컵을 지나쳤지만 수익 99, 다른 하나는 잘 잡아 수익 101을 얻었다고 하자. 두 실행을 구분하는 차이는 2인데, 각 표본 기울기에 곱하는 숫자는 약 100이다. 비슷한 큰 수가 무작위 기울기에 실리면 평균을 안정적으로 추정하는 데 많은 표본이 필요할 수 있다.

여기서 분산(variance)은 반복해서 수집한 표본으로 만든 기울기 추정치가 얼마나 흔들리는지 나타낸다. 수익 두 개의 차이만으로 모든 문제의 분산을 알 수는 없다. 정책의 점수 함수 크기, 두 행동의 확률, 보상 잡음도 영향을 준다. 그림의 “2%”는 대비를 위한 숫자이지 일반적인 신호 대 잡음비의 측정 공식은 아니다.

기준값을 빼면 같은 차이 2를 유지하면서 공통으로 큰 부분을 제거할 수 있다. 실제로 분산이 얼마나 달라지는지는 아래의 작은 문제에서 정확히 계산한다. 적절한 기준값이 도움이 된다는 주장과, 어떤 기준값이든 무조건 분산을 줄인다는 주장은 다르다.

원강의 18:06부터.

P014 — 행동과 독립적인 기준값은 평균 기울기를 바꾸지 않는다. Oier Mees, ETH Zurich Robot Learning 2026.
P014 — 행동과 독립적인 기준값은 평균 기울기를 바꾸지 않는다

현재 상태에서 대략 어느 정도 수익을 기대하는지 나타내는 값을 기준값(baseline)으로 쓴다. 수익이 기준보다 높으면 양수, 낮으면 음수가 된다. 99와 101에서 100을 빼면 −1과 +1이므로 두 행동을 구별하는 방향이 선명해진다.

Ea∼πθ[b(s)∇θlog⁡πθ(a∣s)]=b(s)∇θ∑aπθ(a∣s)=0\mathbb E_{a\sim\pi_\theta}[b(s)\nabla_\theta\log\pi_\theta(a\mid s)]=b(s)\nabla_\theta\sum_a\pi_\theta(a\mid s)=0

Silver 강의의 기준값 설명처럼, 이 항의 기대값이 0이므로 정책 경사에 Gt−b(st)G_t-b(s_t)를 써도 같은 기대 기울기를 얻는다. 핵심은 기준값이 현재 표집한 행동에 의존하지 않는 것이다. 상태별로 달라도 된다. 기준 신경망을 함께 학습하더라도 actor 갱신에서는 그 값을 고정한 가중치로 취급한다.

강의 그림처럼 같은 미니배치의 수익 평균을 기준으로 쓰는 구현에는 작은 주의점이 있다. 자기 표본이 자기 기준값에도 포함되면 독립성 논증이 그대로 성립하지 않는다. 독립 궤적 N개인 단순 문제에서는 기대 추정치가 1−1/N1-1/N배로 줄어드는 효과가 있다. 별도 자료로 학습한 기준값이나 자기 표본을 제외한 평균을 쓰면 이 문제를 피할 수 있다. 실제 예제에서 N=2를 전수 계산해 확인했다.

원강의 19:39부터.

P015 — 상태 가치가 알려 주는 지금 상황의 기준 성적. Oier Mees, ETH Zurich Robot Learning 2026.
P015 — 상태 가치가 알려 주는 지금 상황의 기준 성적

같은 수익 10이라도 쉬운 시작점에서는 실망스러운 결과이고, 거의 실패할 상황에서는 훌륭한 결과일 수 있다. 따라서 모든 상태에서 상수 100을 빼는 것보다, 현재 상태에서 정책이 원래 기대하는 성적을 기준으로 삼는 편이 유용하다.

Qπ(s,a)Q^\pi(s,a)는 지금 행동 aa를 하고 이후 정책 π\pi를 따를 때의 기대 수익이다. Vπ(s)V^\pi(s)는 그 상태에서 정책대로 행동했을 때의 평균 수익이다. reward-to-go는 이 Q 값의 잡음 있는 표본이라고 볼 수 있다. 상태 가치 신경망은 그 표본들에서 평균을 배우는 기준값 역할을 한다.

상태 가치가 모든 정책에서 분산을 최소화하는 최적 기준값인 것은 아니다. 한 상태의 기울기 제곱 크기까지 고려하면 최적 상수는 다음처럼 가중 평균이 된다.

b∗(s)=E[∥g(a)∥2Qπ(s,a)∣s]E[∥g(a)∥2∣s]b^*(s)=\frac{\mathbb E[\|g(a)\|^2Q^\pi(s,a)\mid s]}{\mathbb E[\|g(a)\|^2\mid s]}

g(a)=∇θlog⁡πθ(a∣s)g(a)=\nabla_\theta \log \pi_\theta(a\mid s)다. 점수 함수의 크기가 행동마다 다르면 이 값은 단순 평균인 Vπ(s)V^\pi(s)와 다를 수 있다. Silver 7강도 V를 “좋은 기준값”으로 소개한다. 아래 그래프는 이 차이를 일부러 분리한 예다.

기준값 변화에 따른 정확한 정책 경사 분산. 상태 가치99.6과 분산 최소 기준100.4를 구별한다
두 행동의 선택 확률이0.7과0.3일 때 계산한 결과. V는 유용하지만 이 예의 최적 기준은 아니다.JJo, 실행 코드와 수치 CSV 공개 · 원본 자료

원강의 21:43부터.

P016 — 어드밴티지는 현재 정책의 평균보다 얼마나 나은가다. Oier Mees, ETH Zurich Robot Learning 2026.
P016 — 어드밴티지는 현재 정책의 평균보다 얼마나 나은가다

어드밴티지(advantage)는 행동의 절대 점수가 아니라, 같은 상태에서 현재 정책의 평균에 비해 얼마나 나은 선택인지 나타낸다.

Aπ(s,a)=Qπ(s,a)−Vπ(s),Ea∼π[Aπ(s,a)]=0A^\pi(s,a)=Q^\pi(s,a)-V^\pi(s),\quad\mathbb E_{a\sim\pi}[A^\pi(s,a)]=0

두 행동의 Q 값이 4와 10이고 정책이 각각 75%와 25%로 선택한다면 V는 5.5다. 어드밴티지는 −1.5와 +4.5가 된다. 두 값의 단순 평균은 0이 아니지만 정책 확률로 가중한 평균은 0이다. 이것이 비교의 기준이 “가능한 모든 행동의 산술 평균”이 아니라 “현재 정책의 평균”이라는 뜻이다.

표본 수익에서 학습한 상태 가치를 빼면 어드밴티지의 추정치를 얻는다. 정확한 AπA^\pi 대신 근사 critic을 쓸 때에는 그 오차도 actor에 전달된다. 낮은 분산을 얻는 대신 오차·편향을 관리해야 한다는 문제가 actor–critic의 핵심으로 이어진다.

원강의 23:06부터.

P017 — 정책을 바꾸면 자료가 나오는 분포도 바뀐다. Oier Mees, ETH Zurich Robot Learning 2026.
P017 — 정책을 바꾸면 자료가 나오는 분포도 바뀐다

정책이 왼쪽으로 자주 움직이도록 바뀌면 카메라가 보는 장면과 다음에 방문하는 상태도 달라진다. 이전 정책이 수집한 데이터셋은 새 정책이 실제로 겪을 세계를 그대로 대표하지 않는다. 이것이 정책 학습에서의 분포 변화다.

기본 REINFORCE 식은 현재 정책의 궤적에서 평균을 구한다. 한 배치에서 현재 가중치의 기울기를 계산하는 순간에는 이 조건이 맞지만, 가중치를 바꾸고 같은 배치로 계속 갱신하면 조건이 어긋난다. 자료를 디스크에서 삭제해야 한다는 뜻이 아니라, 보정 없이 계속 현재 정책 표본처럼 사용할 수 없다는 뜻이다.

실제 로봇 자료는 수집 시간이 들고 마모와 리셋 비용도 생긴다. 같은 자료로 여러 번 학습할 수 있다면 유리하지만, 재사용할수록 달라지는 분포를 어떻게 다룰지 필요하다. 여기서 중요도 표집, 작은 정책 갱신, off-policy critic이라는 서로 다른 해결 방향이 나온다.

원강의 24:22부터.

P018 — 다른 분포에서 모은 자료의 평균을 보정하는 중요도 표집. Oier Mees, ETH Zurich Robot Learning 2026.
P018 — 다른 분포에서 모은 자료의 평균을 보정하는 중요도 표집

그림의 파란 분포는 구하고 싶은 목표 분포, 노란 분포는 실제 표본을 뽑은 분포다. 표본이 노란 분포에서 나왔다면, 목표에서 상대적으로 더 자주 나와야 할 표본에는 큰 가중치를 준다. 가중치는 목표 밀도를 수집 밀도로 나눈 값이다.

Ex∼p[f(x)]=Ex∼q[p(x)q(x)f(x)]\mathbb E_{x\sim p}[f(x)]=\mathbb E_{x\sim q}[\frac{p(x)}{q(x)}f(x)]

두 행동의 수집 확률이 0.8과 0.2, 새 정책 확률이 0.4와 0.6이라고 하자. 두 번째 행동의 보상만 1이면 수집 평균은 0.2지만 목표 평균은 0.6이다. 두 번째 행동에 3을 곱하고 첫 번째 행동에 0.5를 곱하면 수집 분포의 가중 평균이 정확히 0.6으로 바뀐다.

이 항등식에는 목표 분포가 양수인 곳에서 수집 분포도 양수라는 지지집합(support) 조건이 필요하다. 이전 정책이 어떤 행동을 정말 확률 0으로 배제했다면 그 행동의 결과는 자료에서 복원할 수 없다. 유한 표본에서 우연히 한 번도 관찰하지 못했다는 사실과, 분포가 원천적으로 확률 0을 준다는 사실도 구분하자.

원강의 25:39부터.

P019 — 같은 환경에서는 궤적 확률비의 환경 항이 약분된다. Oier Mees, ETH Zurich Robot Learning 2026.
P019 — 같은 환경에서는 궤적 확률비의 환경 항이 약분된다

이전 정책을 πold\pi_{\rm old}, 바꾸려는 정책을 πθ\pi_\theta라고 쓰자. 같은 초기 분포와 같은 MDP에서 수집한 동일 궤적의 확률비를 만들면 시작 확률과 환경 전이가 분자·분모에서 약분된다.

wθ(τ)=pθ(τ)pold(τ)=∏t=0T−1πθ(at∣st)πold(at∣st)w_\theta(\tau)=\frac{p_\theta(\tau)}{p_{\rm old}(\tau)}=\prod_{t=0}^{T-1}\frac{\pi_\theta(a_t\mid s_t)}{\pi_{\rm old}(a_t\mid s_t)}

정책이 각 기록된 행동에 부여한 로그 확률만 저장해도, 새 정책의 로그 확률과 비교해 이 비율을 계산할 수 있다. 로봇의 접촉 동역학을 정확히 몰라도 되는 이유다.

Berkeley 5강 Part4의 설명에서도 초기 분포·전이 항을 약분해 정책 확률비만 남기는 과정을 확인할 수 있다. 이 약분은 같은 환경이라는 가정 아래 성립한다. 시뮬레이션에서 모은 궤적을 실제 로봇의 분포로 바꿀 때 전이가 달라졌다면 정책 확률비만으로 모든 차이가 보정되지는 않는다. 보상 정의나 종료 조건을 바꾼 자료도 아무 설명 없이 같은 데이터로 취급하면 안 된다.

원강의 28:18부터.

P020 — 많은 확률비의 곱은 소수 표본에 지나친 무게를 줄 수 있다. Oier Mees, ETH Zurich Robot Learning 2026.
P020 — 많은 확률비의 곱은 소수 표본에 지나친 무게를 줄 수 있다

한 단계의 비율이 1.1이어도 100번 곱하면 약 13,781이다. 0.9를 100번 곱하면 약 0.0000266이다. 긴 궤적에서는 작은 차이가 누적되어 어떤 표본은 거의 무시되고 어떤 표본은 추정을 지배하게 될 수 있다.

다만 모든 중요도 가중치가 언제나 지수적으로 폭발한다는 정리는 아니다. 정책과 환경, 호라이즌, 보상의 구조에 따라 분산은 다르다. 로그 확률을 더해 계산하면 곱셈의 수치적 오버플로는 늦출 수 있지만, 통계적으로 일부 표본에 무게가 몰리는 문제까지 해결하지는 못한다.

이 단계의 완전한 궤적 가중치는 분포를 정확히 바꾸려는 계산이다. 뒤에서 한 시점의 행동 비율만 남기는 계산은 더 편리하지만 추가 근사에 해당한다. 두 수식을 같은 정확도의 항등식으로 읽지 않아야 한다.

원강의 29:50부터.

P021 — 행동 확률비만 쓰면 방문 상태 분포의 변화가 남는다. Oier Mees, ETH Zurich Robot Learning 2026.
P021 — 행동 확률비만 쓰면 방문 상태 분포의 변화가 남는다

한 시점에서 상태와 행동이 나올 확률은 방문 상태 분포와 조건부 행동 분포의 곱이다. 따라서 새 정책과 이전 정책의 상태–행동 비율에도 두 항이 생긴다.

dθ(s)πθ(a∣s)dold(s)πold(a∣s)=dθ(s)dold(s)πθ(a∣s)πold(a∣s)\frac{d_\theta(s)\pi_\theta(a\mid s)}{d_{\rm old}(s)\pi_{\rm old}(a\mid s)}=\frac{d_\theta(s)}{d_{\rm old}(s)}\frac{\pi_\theta(a\mid s)}{\pi_{\rm old}(a\mid s)}

행동 확률비는 두 정책 신경망으로 계산할 수 있다. 반면 dθ(s)d_\theta(s)는 정책이 환경에서 어느 상태를 얼마나 자주 방문하는지에 관한 분포라, 신경망의 한 번 출력만으로는 알 수 없다. 이 비율을 1로 놓으면 현재 배치가 대표하는 상태들에서 새 정책의 행동을 평가하는 대리 목적(surrogate objective)을 얻는다.

여기에 이전 정책 아래에서 추정한 어드밴티지를 고정해 사용하는 것이 TRPO·PPO로 이어지는 실용적인 구성이다. 새 정책이 아직 크게 바뀌지 않은 지점에서 유용하지만, 임의의 과거 버퍼를 넣어도 정확한 현재 정책 경사가 되는 것은 아니다. 상태 분포 근사와 미래 수익 평가의 차이를 모두 생각해야 한다.

원강의 31:14부터.

P022 — 한 배치를 여러 번 쓸 때 이전 정책은 고정해 둔다. Oier Mees, ETH Zurich Robot Learning 2026.
P022 — 한 배치를 여러 번 쓸 때 이전 정책은 고정해 둔다

알고리즘 그림의 되돌아가는 화살표는 자료를 새로 모으지 않고 같은 배치로 몇 번 갱신한다는 뜻이다. 이때 자료를 수집한 이전 정책의 로그 확률은 계속 같은 기준으로 남아야 한다. 갱신할 때마다 분모도 현재 정책으로 덮어쓰면 비율이 늘 1이 되어 변화량을 감시하지 못한다.

수집한 배치에서 수익과 어드밴티지를 추정하고, 이를 고정한 채 여러 미니배치와 epoch로 갱신한다. epoch는 같은 수집 자료를 한 차례 훑는 학습 단위다. 갱신이 충분히 진행되면 새 자료를 수집하고 이전 정책 기준도 새로 설정한다.

이는 오래된 자료를 무제한 재사용하는 off-policy 학습과 다르다. 강의의 “off-policy 버전”이라는 표제는 기본 on-policy 식에서 한 걸음 확장한 유도다. 이 근사와 제한을 사용하는 PPO를 DQN·SAC처럼 임의의 재현 버퍼에서 계속 배우는 알고리즘과 같다고 묶으면 자료 사용 방식의 차이를 놓친다.

원강의 32:35부터.

P023 — 엔트로피는 행동 분포가 한 선택에 몰리는 정도를 조절한다. Oier Mees, ETH Zurich Robot Learning 2026.
P023 — 엔트로피는 행동 분포가 한 선택에 몰리는 정도를 조절한다

엔트로피(entropy)는 분포가 얼마나 퍼져 있는지를 수치로 나타낸다. 이산 행동 두 개를 각각 50%로 선택하면 자연로그 단위의 엔트로피는 약 0.693이고, 사실상 하나만 고르면 0에 가까워진다. 보상만 높이려다 정책이 너무 일찍 한 선택에 몰릴 때 엔트로피 보너스가 탐색을 유지하는 데 도움을 줄 수 있다.

H(π(⋅∣s))=−∑aπ(a∣s)log⁡π(a∣s)H(\pi(\cdot\mid s))=-\sum_a\pi(a\mid s)\log\pi(a\mid s)

연속 행동의 대각 가우시안에서는 미분 엔트로피가 표준편차의 로그 합에 비례한다. 미분 엔트로피는 음수도 가능하고 단위·좌표변환에 따라 값이 달라지므로, 이산 엔트로피와 숫자만 직접 비교하지 않는다.

엔트로피를 더한다고 가보지 못한 상태가 모두 방문되거나 importance sampling의 지지집합 문제가 자동으로 해결되지는 않는다. 상태별 행동 분포를 퍼뜨리는 효과와 환경에서 그 상태까지 도달할 수 있는가는 별개다. 위험 행동의 확률이 늘 수도 있으므로 물리 로봇에서는 명령 제한·중단 조건 같은 별도의 설계가 필요하다.

원강의 33:25부터.

P024 — 정책 변화는 가중치 거리보다 행동 분포에서 측정한다. Oier Mees, ETH Zurich Robot Learning 2026.
P024 — 정책 변화는 가중치 거리보다 행동 분포에서 측정한다

그림에서 이전 정책이 0.005를 주었던 행동에 새 정책이 0.10을 주면 비율은 20이다. 드문 한 번의 고득점 경험이 여러 갱신을 통해 지나치게 증폭될 수 있다는 예다. 신경망 가중치의 작은 변화가 행동 분포에서도 작게 나타나리라는 보장은 없다.

KL 발산은 두 분포가 얼마나 다른지 재는 양이다. 이전 정책에서 새 정책으로의 KL은 이전에 가능하던 행동을 새 정책이 거의 불가능하게 만들 때 큰 값을 준다.

DKL(πold∥πθ)=∑aπold(a∣s)log⁡πold(a∣s)πθ(a∣s)D_{\rm KL}(\pi_{\rm old}\Vert\pi_\theta)=\sum_a\pi_{\rm old}(a\mid s)\log\frac{\pi_{\rm old}(a\mid s)}{\pi_\theta(a\mid s)}

KL은 방향을 바꾸면 보통 값이 달라져 일반적인 거리와 같지 않다. 여러 상태에서 평균 KL이 작다는 조건도 모든 상태·모든 행동의 확률비가 일정 범위 안에 있다는 뜻은 아니다. 평균적인 정책 변화를 억제하는 통계적 장치로 이해하는 것이 정확하다.

원강의 35:31부터.

P025 — TRPO는 기대 개선을 추구하면서 정책 변화를 제한한다. Oier Mees, ETH Zurich Robot Learning 2026.
P025 — TRPO는 기대 개선을 추구하면서 정책 변화를 제한한다

TRPO는 이전 정책이 수집한 상태·행동에서 새 정책의 확률비와 이전 어드밴티지의 곱을 크게 만든다. 동시에 이전 상태 분포에서 평균낸 KL이 허용량을 넘지 않도록 제한한다. 이 허용량이 신뢰 영역(trust region)의 크기 역할을 한다.

max⁡θ Eold[ut(θ)A^t],ut(θ)=πθ(at∣st)πold(at∣st)\max_\theta\ \mathbb E_{\rm old}[u_t(\theta)\widehat A_t],\quad u_t(\theta)=\frac{\pi_\theta(a_t\mid s_t)}{\pi_{\rm old}(a_t\mid s_t)}

TRPO 원 논문은 정책 성능의 하한을 바탕으로 개선을 보장하는 이론을 유도한 뒤, 실용 알고리즘에서 평균 KL과 표본 추정·지역 근사를 사용한다. 따라서 그림의 “단조 개선 보장”을 실제 신경망의 모든 실행에서 수익이 반드시 증가한다는 약속으로 읽지는 않는다.

Berkeley 9강 Part4는 자연 경사와 행렬–벡터 계산의 관계를 보완한다. 곡률을 나타내는 Fisher 정보 행렬을 통째로 만들고 역행렬을 구하면 매개변수 수가 클 때 비싸다. 원 논문의 실용 구현은 행렬–벡터 곱과 켤레 기울기(conjugate gradient)를 써서 행렬을 명시적으로 만들지 않고 방향을 근사하고, 선 탐색으로 스텝을 조절한다. 강의에 있는 “약 20배”는 구현·문제에 따른 설명이지 고정된 연산량 법칙이 아니다. K-FAC도 모든 TRPO 실행에 필수인 추가 단계는 아니다.

원강의 37:39부터.

P026 — 험한 지형을 걷는 정책은 관절 감각과 학습 환경을 함께 설계한다. Oier Mees, ETH Zurich Robot Learning 2026.
P026 — 험한 지형을 걷는 정책은 관절 감각과 학습 환경을 함께 설계한다

사족 로봇이 턱과 장애물을 넘는 사진이다. 네 다리가 있다고 자동으로 지형을 이해하는 것은 아니다. 발이 닿은 뒤 미끄러지는지, 몸이 기울었는지, 관절이 목표 각도를 따라갔는지 같은 정보를 빠르게 이용해야 균형을 유지할 수 있다.

Lee·Hwangbo 등의 2020년 연구는 시뮬레이션에서 지형·접촉 정보를 더 많이 볼 수 있는 교사 정책을 강화학습으로 만들고, 실제로 사용할 수 있는 관절 인코더와 IMU의 고유감각(proprioception) 시계열만 보는 학생 정책에 증류했다. IMU는 몸의 회전·가속 관련 신호를 측정하는 관성 센서다. 학생은 교사의 행동과 내부 표현을 모방해 학습한다.

zero-shot은 배치할 때 시험 지형마다 다시 정책을 튜닝하지 않고 적용했다는 뜻이다. 학습 자료나 시뮬레이션 설계가 필요 없었다는 뜻은 아니다. 논문은 지형 교육과정, 물리 모델, 감각 이력 처리까지 함께 사용한다. 이 결과를 “TRPO 수식 하나만 넣으면 어떤 지형이든 걷는다”로 축소하면 중요한 조건이 사라진다. 원 논문의 실제 평가 범위 안에서 읽자.

원강의 39:20부터.

P027 — PPO는 유리한 변화가 너무 커졌을 때 추가 이득을 끊는다. Oier Mees, ETH Zurich Robot Learning 2026.
P027 — PPO는 유리한 변화가 너무 커졌을 때 추가 이득을 끊는다

PPO-Clip은 복잡한 KL 제약 최적화 대신 확률비와 어드밴티지로 만든 목적을 잘라 쓴다. utu_t는 새 행동 확률을 수집 당시 확률로 나눈 값이다. ϵ\epsilon이 0.2면 잘린 비율의 구간은 0.8부터 1.2다.

Lclip(θ)=Eold[min⁡(utA^t,clip⁡(ut,1−ϵ,1+ϵ)A^t)]L^{\rm clip}(\theta)=\mathbb E_{\rm old}[\min(u_t\widehat A_t,\operatorname{clip}(u_t,1-\epsilon,1+\epsilon)\widehat A_t)]

어드밴티지가 +2라면 비율 1.5가 원래 주는 목적값은 3이지만, 잘린 항은 2.4이므로 더 작은 2.4를 쓴다. 좋은 행동을 이미 충분히 늘렸다면 그 표본에서는 더 늘릴 유인이 사라진다. 반대로 어드밴티지가 −2이고 비율이 0.5라면 원래 항 −1보다 잘린 항 −1.6이 작으므로 −1.6을 쓴다. 나쁜 행동을 이미 충분히 줄인 뒤의 추가 이득을 끊는다.

양수 어드밴티지와 음수 어드밴티지에서 서로 다른 쪽이 평평해지는 PPO 목적 그래프
확률비0.8~1.2를 음영으로 표시했다. 평평해지는 쪽이 어드밴티지 부호에 따라 달라진다.JJo, 실행 코드와 수치 CSV 공개 · 원본 자료

정책의 실제 비율을 구간 안에 강제로 고정하는 것은 아니다. 나쁜 방향의 변화에는 잘리지 않은 벌점이 남고, 공유 가중치의 다른 표본 업데이트 때문에 이 표본의 비율도 더 변할 수 있다. PPO에는 TRPO의 이론적 단조 개선 보장이 없다. KL 감시나 조기 중단을 함께 쓰는 구현도 있다. Adam 같은 1차 최적화 도구로 다루기 쉽다는 점이 큰 장점이다.

언어모델 학습에도 관련 목적이 사용되지만, GRPO를 PPO와 동일한 알고리즘이라고 부르지는 않는다. 이번 장에서는 로봇 정책의 자료 수집과 연속 제어에 초점을 둔다.

원강의 40:05부터.

P028 — 루빅스 큐브 조작은 제어·상태 추정·시뮬레이션의 결합이다. Oier Mees, ETH Zurich Robot Learning 2026.
P028 — 루빅스 큐브 조작은 제어·상태 추정·시뮬레이션의 결합이다

사진의 다섯 손가락 로봇 손은 큐브를 잡은 채 자세를 바꾸고 면을 회전시킨다. 사람에게 익숙한 이 조작은 접촉점이 계속 바뀌고 물체가 미끄러질 수 있는 어려운 제어 문제다. 그림 속 고무장갑은 마찰·접촉 조건을 바꾸는 교란의 예다.

OpenAI의 2019년 연구는 PPO 기반의 기억을 가진 제어 정책과, 카메라 영상에서 큐브 자세·면 회전 상태를 추정하는 별도의 시각 모델을 사용했다. 최종 조작 정책에 원시 카메라 영상을 그대로 넣어 모든 문제를 한꺼번에 해결한 구성으로 읽으면 안 된다. 큐브를 푸는 고수준 순서를 정하는 문제와 손으로 다음 조작 목표를 실제 수행하는 문제도 구별한다.

자동 도메인 무작위화(ADR)는 시뮬레이션의 물리·시각 조건을 점점 다양한 범위로 바꿔 학습시킨다. 특정 시뮬레이터의 마찰이나 외관에만 맞추지 않고 여러 조건에서 동작하도록 만드는 것이다. 사진은 사람 수준의 모든 손재주를 입증하는 자료가 아니라, 논문에 정의된 큐브 과제와 교란 조건에서의 결과다. 하드웨어 자유도 수와 독립적으로 명령하는 액추에이터 수 또한 항상 같은 것은 아니다.

원강의 42:05부터.

P029 — PPO의 전체 목적에는 배우·평가자·탐색이 함께 들어간다. Oier Mees, ETH Zurich Robot Learning 2026.
P029 — PPO의 전체 목적에는 배우·평가자·탐색이 함께 들어간다

첫 항은 actor가 좋은 행동의 확률을 높이도록 하는 잘린 대리 목적이다. 둘째 항은 critic이 상태 가치를 목표 수익에 맞추게 하는 제곱 오차다. 셋째 항은 정책이 지나치게 빨리 한 행동에 몰리지 않게 하는 엔트로피 보너스다.

Ltotal=Lclip−cVE[(Vϕ(s)−Vtarget)2]+cHE[H(πθ(⋅∣s))]L^{\rm total}=L^{\rm clip}-c_V\mathbb E[(V_\phi(s)-V^{\rm target})^2]+c_H\mathbb E[H(\pi_\theta(\cdot\mid s))]

위 식은 최대화하는 목적이므로 가치 오차 앞에 마이너스가 붙는다. 최소화하는 손실로 구현한다면 첫째와 셋째 항의 부호를 뒤집고 가치 오차는 양수로 둔다. cVc_V와 cHc_H는 서로 단위가 다른 항의 크기를 조절하는 계수다.

VtargetV^{\rm target}은 critic이 맞히려는 목표 값이다. 끝까지 관측한 수익, 부트스트랩한 수익 등 구현에 따라 구성 방법이 달라진다. actor의 어드밴티지 추정과 critic의 목표는 구별해 저장하고, 보통 actor 갱신에서 어드밴티지를 고정한다. 같은 앞부분 신경망을 공유하면 세 항의 기울기가 그 표현을 함께 바꾸므로 한 표본의 클리핑만으로 전체 정책 변화가 엄격히 제한되지는 않는다.

원강의 43:22부터.

P030 — actor–critic은 행동 선택과 미래 평가를 나누어 함께 배운다. Oier Mees, ETH Zurich Robot Learning 2026.
P030 — actor–critic은 행동 선택과 미래 평가를 나누어 함께 배운다

actor는 정책이고 critic은 가치 추정기다. critic이 평가한 기대보다 결과가 좋았는지를 actor가 행동 확률을 바꾸는 신호로 이용한다. actor–critic은 연속 행동만을 위한 구조가 아니며, 이산 행동 정책에도 적용할 수 있다. 또한 모든 actor–critic이 on-policy인 것도 아니다. PPO와 SAC가 바로 그 차이를 보여 준다.

한 단계 TD 오차로 어드밴티지를 추정하는 가장 간단한 형태는 다음과 같다.

δt=rt+γ(1−dt)Vϕ(st+1)−Vϕ(st)\delta_t=r_t+\gamma(1-d_t)V_\phi(s_{t+1})-V_\phi(s_t)

dtd_t는 실제 종료일 때 1이다. critic이 정확하고 상태가 충분한 정보를 담으면 이 오차는 행동에 따른 상대적인 가치를 알려 준다. critic이 부정확하면 편향이 작다는 보장까지 자동으로 생기지는 않는다. 에피소드가 실제 끝난 경우에는 이후 가치가 0이고, 단지 수집 길이가 잘린 경우에는 적절히 부트스트랩해야 한다.

여러 단계 TD 오차를 결합하는 일반화 어드밴티지 추정(GAE)은 λ\lambda로 단기 부트스트랩과 긴 표본 수익의 비중을 조절한다. λ=0\lambda=0이면 한 단계 TD, 길게 합하면 표본 수익 쪽에 가까워진다. 분산과 가치 근사 오차 사이의 절충을 조절하는 것이다. GAE 원 논문은 PPO 구현을 읽기 전 연결 자료로 유용하다.

로봇 시뮬레이션에서는 critic만 지형의 실제 마찰이나 정확한 물체 상태처럼 추가 정보를 보는 비대칭 구성을 쓸 수도 있다. 배치 시 actor가 실제 센서만으로 동작해야 한다는 조건을 지켜야 하며, 모든 특권 정보 활용이 같은 통계적 조건을 만족하는 것은 아니다.

원강의 45:14부터.

P031 — SAC는 과거 상태에서 현재 정책의 행동을 평가한다. Oier Mees, ETH Zurich Robot Learning 2026.
P031 — SAC는 과거 상태에서 현재 정책의 행동을 평가한다

SAC는 재현 버퍼에서 과거 전이를 꺼내 critic을 학습한다. actor를 갱신할 때도 과거 상태를 사용하지만, 그 상태에서의 행동은 현재 정책에서 새로 뽑는다. 버퍼에 저장된 옛 행동을 그대로 따라 하도록 학습하는 방식과 다르다. critic은 이 현재 행동의 가치를 추정해 actor에 신호를 준다.

SAC는 보상뿐 아니라 정책 엔트로피도 높이는 최대 엔트로피 강화학습 목표를 사용한다. 최대화하는 actor 목표는 기대 Q와 엔트로피의 합이다. 이를 최소화 손실로 바꾸면 다음 부호가 된다.

Lπ(θ)=Es∼D,a∼πθ[αlog⁡πθ(a∣s)−min⁡j=1,2Qϕj(s,a)]L_\pi(\theta)=\mathbb E_{s\sim D,a\sim\pi_\theta}[\alpha\log\pi_\theta(a\mid s)-\min_{j=1,2}Q_{\phi_j}(s,a)]

엔트로피는 기대 로그 확률의 음수이므로 αlog⁡π−Q\alpha \log \pi-Q를 최소화하는 것이 Q+αHQ+\alpha H를 최대화하는 것과 맞다. 사진의 actor 식에 있는 +αH−Q+\alpha H-Q를 그대로 최소화하면 오히려 엔트로피를 줄이는 방향이 되므로, 본문은 원 논문의 로그 확률 형태로 부호를 분명히 쓴다.

아래 식에서 세타는 actor의 가중치, 피는 critic의 가중치다. 아래첨자 j는 두 critic 중 어느 것인지 구분하는 번호이고, 피 위의 막대는 target 복사본을 뜻한다. D는 과거 전이를 저장한 재현 버퍼다. 실용적인 연속 행동 SAC에서는 두 Q 추정기와 천천히 갱신하는 target 복사본을 사용한다. 다음 상태의 현재 정책 행동을 뽑아 아래 목표를 만들고, 각 critic은 이 목표와의 제곱 오차를 줄인다.

y=r+γ(1−d)[min⁡jQϕˉj(s′,a′)−αlog⁡πθ(a′∣s′)],a′∼πθ(⋅∣s′)y=r+\gamma(1-d)[\min_j Q_{\bar\phi_j}(s',a')-\alpha\log\pi_\theta(a'\mid s')],\quad a'\sim\pi_\theta(\cdot\mid s')

작은 쪽의 Q를 쓰는 것은 과대평가를 완화하려는 구성이다. α\alpha는 온도로, 엔트로피와 보상의 상대적 비중을 정한다. 보상 크기를 바꾸면 적절한 온도도 달라진다. 자동 온도 조절은 목표 엔트로피에 맞춰 이 계수를 배우는 방법이지, 모든 상태에서 무작위성을 같게 만드는 장치는 아니다. SAC Algorithms and Applications의 갱신식을 함께 대조했다.

원강의 46:57부터.

P032 — 재매개변수화는 고정 잡음으로 행동을 만들고 그 경로를 미분한다. Oier Mees, ETH Zurich Robot Learning 2026.
P032 — 재매개변수화는 고정 잡음으로 행동을 만들고 그 경로를 미분한다

정책이 평균과 표준편차를 출력할 때, 행동을 그냥 뽑은 값으로만 취급하면 그 행동이 평균·표준편차에 어떻게 연결되는지 자동 미분 그래프에 남지 않는다. 대신 매개변수와 무관한 표준 정규 잡음을 먼저 뽑고, 정책 출력과 조합해 행동을 만든다.

ϵ∼N(0,I),u=μθ(s)+σθ(s)⊙ϵ\epsilon\sim\mathcal N(0,I),\quad u=\mu_\theta(s)+\sigma_\theta(s)\odot\epsilon

ϵ\epsilon을 이번 표본에서 고정하면 평균·표준편차에서 행동으로 이어지는 계산을 미분할 수 있다. ⊙\odot는 각 성분끼리 곱한다는 뜻이다. 이 경로로 critic의 행동 미분이 actor에 전달된다. REINFORCE가 로그 확률을 미분했던 것과 달리, 여기서는 미분 가능한 critic과 연속 행동 생성 함수를 활용한다. 실제 환경의 접촉을 역전파하는 것은 아니다.

실제 명령 범위가 제한돼 있으면 a=tanh⁡(u)a=\tanh(u)처럼 가우시안 표본을 압축하는 정책을 자주 쓴다. 이때 행동 로그 밀도에는 좌표변환의 야코비안 보정이 필요하다.

log⁡π(a∣s)=log⁡pU(u∣s)−∑ilog⁡(1−tanh⁡2ui)\log\pi(a\mid s)=\log p_U(u\mid s)-\sum_i\log(1-\tanh^2u_i)

단순히 행동만 잘라 놓고 원래 가우시안 로그 밀도를 그대로 엔트로피 항에 쓰면 분포가 맞지 않는다. 포화 근처의 수치 안정성도 구현에서 확인해야 한다. 아래 예제는 재매개변수화한 한 표본의 미분을 유한 차분과 비교하고, tanh 밀도 보정의 수치를 별도로 확인한다.

원강의 49:31부터.

P033 — 실제 로봇 성과는 학습 알고리즘과 실험 조건을 함께 읽는다. Oier Mees, ETH Zurich Robot Learning 2026.
P033 — 실제 로봇 성과는 학습 알고리즘과 실험 조건을 함께 읽는다

세 사진은 물체 조작, 사족 보행, 손 안에서 물체 방향을 바꾸는 과제처럼 서로 다른 접촉 문제를 보여 준다. 주어진 관측과 행동의 종류, 보상 설계, 리셋 방법, 하드웨어 조건을 함께 알아야 결과를 이해할 수 있다.

SAC 원 논문과 후속 Applications 논문은 재현 버퍼·확률적 actor·엔트로피 목표를 결합해 연속 제어에서 자료 효율과 안정성을 평가했다. 실제 사족 로봇 보행과 손 조작도 제시한다. 다만 슬라이드에 모인 모든 사진이 하나의 동일한 실험·동일한 SAC 버전에서 나왔다고 단정하지 않는다. 정지 사진만으로 영상의 시간 순서나 실패율까지 알아낼 수도 없다.

재현 버퍼를 쓴다고 수집 비용이 사라지지는 않는다. 새로운 상태–행동 영역에서 critic이 과도하게 낙관하면 actor가 그 오류를 이용할 수 있다. SAC의 자료 효율이 유리했던 평가 결과와, 모든 로봇 과제에서 반드시 PPO보다 좋다는 보편적인 순위는 다르다. 이번 장의 작은 실행 예제 역시 이 로봇 실험을 재현했다는 뜻이 아니다.

원강의 50:00부터.

P034 — 정책 경사·PPO·SAC를 자료와 목적의 차이로 구별하기. Oier Mees, ETH Zurich Robot Learning 2026.
P034 — 정책 경사·PPO·SAC를 자료와 목적의 차이로 구별하기

REINFORCE는 현재 정책이 만든 실행 결과로 행동 로그 확률을 가중한다. reward-to-go는 과거 보상을 제거하고, baseline은 현재 행동과 독립적인 기준을 빼며, 어드밴티지는 현재 상태의 평균 기대와 비교한다. 이 과정의 공통 목표는 더 정확하고 덜 흔들리는 정책 개선 신호를 만드는 것이다.

TRPO와 PPO는 이전 배치에서 추정한 개선을 믿을 수 있도록 정책 변화를 조절한다. PPO는 같은 최근 배치로 몇 번 학습하지만, 오래된 자료를 무제한 재사용하는 방식은 아니다. SAC는 과거 전이로 Q를 배우고 현재 정책의 새 행동을 critic에 물으며, 엔트로피까지 포함한 목표를 최적화한다.

방법actor가 쓰는 신호자료 사용에서 볼 점
REINFORCE표본 수익 × 로그 확률 기울기현재 정책의 실행 자료
PPO고정 어드밴티지와 잘린 확률비 목적최근 배치의 제한된 반복 갱신
SAC현재 정책 행동의 soft Q와 로그 확률과거 전이 재현 버퍼, 현재 행동 재표집

어떤 알고리즘이든 상태·행동·보상의 의미가 먼저다. 논문에 적힌 성공률을 읽을 때에도 관측, 하드웨어, 학습 자료량, 평가 조건을 함께 확인하자. 다음 코드를 통해 이 장의 핵심 수식이 실제 숫자로 어떻게 달라지는지 확인할 수 있다.

원강의 50:20부터.

#직접 실행해 확인한 계산

예제 코드·실행 안내·결과 CSV를 공개했다. 상태가 하나인 두 행동 문제에서 REINFORCE를 실행하고, 기준값 분산·중요도 가중 평균·PPO 목적의 네 방향·SAC 목표와 재매개변수화 미분을 확인했다. 로봇 시뮬레이터나 PPO·SAC 신경망을 학습시킨 결과는 아니다.

직접 실행한 REINFORCE 기대 보상 곡선과 온도에 따른 두 행동 엔트로피 목적의 최적 확률
왼쪽은96,000개 표본을 사용한 자체 REINFORCE 실행,오른쪽은 알려진 두 Q 값의 최대 엔트로피 목적을 정확히 계산한 결과다.JJo, 실행 코드와 수치 CSV 공개 · 원본 자료

선택 확률 0.3, 수익 99와 101인 계산에서 정확한 정책 경사는 0.42였다. V 기준값은 99.6, 이 문제의 분산 최소 기준값은 100.4다. N=2인 같은 배치 평균을 빼면 기대 기울기는0.21로 줄고, 자기 표본을 제외한 기준값은0.42를 유지했다. 이 차이는 “baseline을 빼면 언제나 아무 편향이 없다”는 문장을 구현 조건과 함께 읽어야 하는 이유다.

SAC 목표 계산에서는 보상0.2,할인율0.9,다음 Q1.5,온도0.2,로그 확률−0.7일 때 목표가1.676이다. 실제 종료라면 이후 항을 제거해0.2가 된다. 이 숫자는 알고리즘의 부호와 종료 처리를 확인하는 계산이며 실제 로봇의 성적이 아니다.

#출처와 함께 읽을 자료

원본 슬라이드의 권리는 Oier Mees와 각 자료의 원저작자·권리자에게 있다. 본문 그림은 고정된 공개 사본을 사용했다. 자체 계산 그래프와 설명은 JJo가 작성했다. 페이지·자막·출처 대조 기록에 자료별 출처와 검토 범위를 남겼다.

04장 — 가치에서 행동으로, Q-learning과 DQN

Connect