검색
← 모듈 로드맵

일반화 어드밴티지 추정 (GAE)

논문 · 전문가 · John Schulman 외 4명 · 2015 · arXiv

원제 · High-Dimensional Continuous Control Using Generalized Advantage Estimation

TD 오차를 γλ로 할인해 더하는 어드밴티지 추정 — λ 하나로 편향과 분산을 조절

먼저 알아야 할 것

정책 경사어드밴티지 함수TD 오차TD(λ)TRPO

다루는 내용

GAE는 1단계부터 무한 단계까지의 어드밴티지 추정량을 λ로 지수 가중 평균해, 결국 TD 오차를 γλ로 할인한 합으로 어드밴티지를 추정합니다. λ=0은 분산이 작지만 가치 함수 오차만큼 편향되고 λ=1은 편향이 없지만 분산이 큽니다. 가치 함수도 신뢰 영역 회귀로 학습하고 TRPO와 결합해 3D 이족 · 사족 로봇의 달리기와 일어서기를 학습했으며, 이후 PPO의 표준 어드밴티지 추정법이 됐습니다.

초록

저자가 쓴 초록을 옮긴 것입니다.

정책 경사 방법은 누적 보상을 직접 최적화하고 신경망 같은 비선형 함수 근사기와 쉽게 함께 쓸 수 있어 강화학습에서 매력적인 접근입니다. 두 가지 큰 어려움은 보통 아주 많은 표본이 필요하다는 점, 그리고 들어오는 데이터가 계속 변하는데도 안정적이고 꾸준한 개선을 얻기 어렵다는 점입니다. 첫 번째 어려움은 가치 함수를 써서, 약간의 편향을 감수하는 대신 정책 경사 추정의 분산을 크게 줄이는 방식으로 다룹니다. 이를 위해 TD(λ)와 비슷한, 어드밴티지 함수의 지수 가중 추정량을 씁니다. 두 번째 어려움은 신경망으로 표현한 정책과 가치 함수 모두에 신뢰 영역 최적화 절차를 써서 다룹니다. 이 방법은 매우 어려운 3D 보행 과제에서 강력한 실험 결과를 냅니다. 시뮬레이션 이족 · 사족 로봇의 달리기 동작을 학습하고, 바닥에 누운 상태에서 이족 로봇이 일어서는 정책도 학습합니다. 손으로 설계한 정책 표현을 쓰는 기존 연구들과 달리, 이 논문의 신경망 정책은 원시 운동학 정보를 곧바로 관절 토크로 바꿉니다. 알고리즘은 완전히 모델 없이(model-free) 동작하며, 3D 이족 로봇 과제에 필요한 시뮬레이션 경험의 양은 실제 시간으로 1~2주에 해당합니다.

해설

일반화 어드밴티지 추정 (GAE)

정책 경사의 '얼마나 좋은 행동이었나'(어드밴티지)를 추정할 때, 한 걸음 TD 오차부터 끝까지의 실제 수익까지를 지수 가중 평균으로 섞는 방법입니다. 하나의 손잡이 λ\lambda로 편향과 분산 사이를 조절하며, 지금도 PPO 구현의 표준 어드밴티지 추정법입니다.

항목내용
원제High-Dimensional Continuous Control Using Generalized Advantage Estimation
저자John Schulman 외 4명 (UC 버클리)
발표2015 (학회 발표 2016) · ICLR · arXiv 1506.02438
트랙 · 수준강화학습 · 심화
먼저 알면 좋은 것정책 경사, 가치 함수 · 어드밴티지, TD 오차, TD(λ\lambda), TRPO

들어가기 전에

이 해설은 아래 내용을 안다고 보고 씁니다. 처음이라면 먼저 읽고 오면 수식과 손계산을 훨씬 쉽게 따라올 수 있습니다.

한눈에 보기

  • 정책 경사에서 "분산이 크다"와 "편향이 있다"가 각각 무슨 뜻이고 왜 둘이 맞바뀌는지 압니다.
  • 1단계 · 2단계 · … · 무한 단계 어드밴티지 추정이 어떻게 생겼는지, 그것을 λ\lambda로 섞으면 왜 TD 오차의 할인 합이 되는지 직접 따라갑니다.
  • γ\gamma와 λ\lambda가 둘 다 '할인'처럼 보이지만 역할이 다르다는 점을 이해합니다.
  • 가치 함수도 신뢰 영역으로 학습한다는 두 번째 아이디어와, 3D 이족 · 사족 로봇 실험 결과를 압니다.

초록 (번역)

정책 경사 방법은 누적 보상을 직접 최적화하고 신경망 같은 비선형 함수 근사기와 쉽게 함께 쓸 수 있어 강화학습에서 매력적인 접근입니다. 두 가지 큰 어려움은 보통 아주 많은 표본이 필요하다는 점, 그리고 들어오는 데이터가 계속 변하는데도 안정적이고 꾸준한 개선을 얻기 어렵다는 점입니다. 첫 번째 어려움은 가치 함수를 써서, 약간의 편향을 감수하는 대신 정책 경사 추정의 분산을 크게 줄이는 방식으로 다룹니다. 이를 위해 TD(λ\lambda)와 비슷한, 어드밴티지 함수의 지수 가중 추정량을 씁니다. 두 번째 어려움은 신경망으로 표현한 정책과 가치 함수 모두에 신뢰 영역 최적화 절차를 써서 다룹니다. 이 방법은 매우 어려운 3D 보행 과제에서 강력한 실험 결과를 냅니다. 시뮬레이션 이족 · 사족 로봇의 달리기 동작을 학습하고, 바닥에 누운 상태에서 이족 로봇이 일어서는 정책도 학습합니다. 손으로 설계한 정책 표현을 쓰는 기존 연구들과 달리, 이 논문의 신경망 정책은 원시 운동학 정보를 곧바로 관절 토크로 바꿉니다. 알고리즘은 완전히 모델 없이(model-free) 동작하며, 3D 이족 로봇 과제에 필요한 시뮬레이션 경험의 양은 실제 시간으로 1~2주에 해당합니다.

무엇을 풀었나

강화학습의 오래된 난제는 공로 배분(credit assignment) 입니다. 지금 한 행동의 결과가 한참 뒤에야 보상으로 나타나니, 어느 행동 덕분인지 가리기 어렵습니다.

정책 경사는 기울기를 편향 없이 추정할 수 있지만, 그 추정값의 분산이 시간 길이에 따라 크게 불어납니다. 한 행동의 효과가 앞뒤의 수많은 다른 행동 효과와 뒤섞이기 때문입니다. 분산이 크면 표본이 아주 많이 필요합니다.

액터-크리틱처럼 실제 수익 대신 학습된 가치 함수를 쓰면 분산은 줄지만 편향이 생깁니다. 논문은 편향이 더 위험하다고 강조합니다. 분산은 표본을 더 모으면 줄지만, 편향은 표본이 무한해도 학습을 엉뚱한 곳(국소 최적도 아닌 곳)으로 보낼 수 있습니다.

질문은 이것입니다. "분산은 크게 줄이면서 편향은 견딜 만한 수준으로 묶는, 조절 가능한 어드밴티지 추정법이 있을까?"

핵심 아이디어

mermaid
flowchart LR
  A[현재 정책으로 N걸음 수집] --> B[가치 함수 V로 TD 오차 δ_t 계산]
  B --> C["GAE: Â_t = Σ (γλ)^l δ_(t+l)"]
  C --> D[TRPO로 정책 갱신]
  D --> E[신뢰 영역 회귀로 가치 함수 갱신]
  E --> A

1. 정책 경사의 여러 얼굴 — 무엇을 곱할 것인가

정책 경사는 다음 꼴로 쓸 수 있습니다.

g=E[∑t=0∞Ψt ∇θlog⁡πθ(at∣st)]g = \mathbb{E}\left[\sum_{t=0}^{\infty} \Psi_t\, \nabla_\theta \log \pi_\theta(a_t \mid s_t)\right]

Ψt\Psi_t 자리에는 궤적 전체 보상, 그 행동 이후 보상, 기준값을 뺀 보상, QQ, 어드밴티지 AA, TD 오차 등이 들어갈 수 있습니다. 논문은 어드밴티지 A(st,at)=Q(st,at)−V(st)A(s_t,a_t) = Q(s_t,a_t) - V(s_t)가 거의 가장 낮은 분산을 준다고 설명합니다.

직관: 정책 경사의 한 걸음은 "평균보다 좋은 행동의 확률은 올리고, 나쁜 행동의 확률은 내리는 것"이어야 합니다. 어드밴티지는 정확히 "평균 대비 얼마나 나은가"를 재므로, A>0A > 0일 때만 그 행동의 확률이 오르게 됩니다.

2. γ는 '분산 줄이기 손잡이'

이 논문은 문제 자체를 할인 없는 총보상 최대화로 두고, γ\gamma를 분산을 줄이는 알고리즘 파라미터로 해석합니다. 먼 미래 보상의 비중을 낮추면 분산이 줄지만, 그만큼 편향이 생깁니다.

γ\gamma-적합(γ-just) 추정량: 할인된 어드밴티지 Aπ,γA^{\pi,\gamma} 자리에 넣어도 할인된 정책 경사 gγg^\gamma에 추가 편향을 만들지 않는 추정량을 말합니다. "어떤 QQ의 불편 추정 − 그 행동 이전 정보만으로 만든 기준값" 꼴이면 γ\gamma-적합입니다.

3. TD 오차와 k단계 어드밴티지

직관: 한 걸음만 보고 "예상보다 좋았나"를 판단할 수도 있고, 열 걸음을 지켜본 뒤 판단할 수도 있습니다. 짧게 보면 추정이 덜 흔들리지만 가치 함수가 틀린 만큼 치우치고, 길게 보면 덜 치우치지만 운에 따라 크게 흔들립니다.

먼저 TD 오차(잔차)를 정의합니다.

δtV=rt+γV(st+1)−V(st)\delta_t^V = r_t + \gamma V(s_{t+1}) - V(s_t)

가치 함수가 정확하다면(V=Vπ,γV = V^{\pi,\gamma}) 이것의 기댓값이 곧 어드밴티지입니다. 이 δ\delta를 kk개 더하면 중간 항이 서로 지워져(망원급수) kk단계 추정량이 됩니다.

A^t(k)=∑l=0k−1γlδt+lV=−V(st)+rt+γrt+1+⋯+γk−1rt+k−1+γkV(st+k)\hat A_t^{(k)} = \sum_{l=0}^{k-1} \gamma^l \delta_{t+l}^V = -V(s_t) + r_t + \gamma r_{t+1} + \dots + \gamma^{k-1} r_{t+k-1} + \gamma^k V(s_{t+k})
기호뜻
δtV\delta_t^Vtt번째 걸음의 TD 오차 — "한 걸음 해 보니 예상보다 얼마나 나았나"
A^t(k)\hat A_t^{(k)}kk걸음 실제 보상 + 그 뒤를 VV로 메운 수익 − 기준값 V(st)V(s_t)
k→∞k \to \infty끝까지의 실제 수익 − V(st)V(s_t). 가치 함수 오차에 따른 편향은 없지만 분산이 큼

kk가 커질수록 γkV(st+k)\gamma^k V(s_{t+k})가 더 많이 할인되므로 가치 함수 오차로 인한 편향이 작아집니다.

4. GAE — k단계 추정을 λ로 섞기

직관: 1단계, 2단계, 3단계 … 판단을 모두 듣되, 짧은 판단에 더 큰 무게를 주고 긴 판단일수록 무게를 λ\lambda배씩 줄여 평균 냅니다. 여러 전문가의 의견을 신뢰도에 따라 가중 평균하는 것과 비슷합니다(해설용 비유).

A^tGAE(γ,λ)=(1−λ)(A^t(1)+λA^t(2)+λ2A^t(3)+…)=∑l=0∞(γλ)l δt+lV\hat A_t^{\mathrm{GAE}(\gamma,\lambda)} = (1-\lambda)\big(\hat A_t^{(1)} + \lambda \hat A_t^{(2)} + \lambda^2 \hat A_t^{(3)} + \dots\big) = \sum_{l=0}^{\infty} (\gamma\lambda)^l\, \delta_{t+l}^V

정리하면 놀랍도록 단순합니다. TD 오차를 γλ\gamma\lambda로 할인해 더한 것입니다. 이는 가치 함수를 추정하는 TD(λ\lambda)와 같은 구성인데, 여기서는 어드밴티지를 추정한다는 점이 다릅니다.

두 극단을 보면 의미가 분명해집니다.

설정식성질
λ=0\lambda = 0A^t=δt=rt+γV(st+1)−V(st)\hat A_t = \delta_t = r_t + \gamma V(s_{t+1}) - V(s_t)분산이 작음. VV가 틀리면 편향
λ=1\lambda = 1A^t=∑lγlrt+l−V(st)\hat A_t = \sum_l \gamma^l r_{t+l} - V(s_t)VV의 정확도와 무관하게 γ\gamma-적합. 분산이 큼
0<λ<10 < \lambda < 1그 사이편향-분산 절충

숫자로 해 보기(해설용 예): 세 걸음 뒤 에피소드가 끝난다고 합시다. γ=1\gamma = 1, λ=0.5\lambda = 0.5, 보상 r0=1,r1=0,r2=2r_0 = 1, r_1 = 0, r_2 = 2, 가치 추정 V(s0)=2,V(s1)=1,V(s2)=1V(s_0) = 2, V(s_1) = 1, V(s_2) = 1, 종료 상태 가치는 0입니다.

  • TD 오차: δ0=1+1−2=0\delta_0 = 1 + 1 - 2 = 0, δ1=0+1−1=0\delta_1 = 0 + 1 - 1 = 0, δ2=2+0−1=1\delta_2 = 2 + 0 - 1 = 1
  • GAE: A^0=δ0+0.5 δ1+0.25 δ2=0+0+0.25=0.25\hat A_0 = \delta_0 + 0.5\,\delta_1 + 0.25\,\delta_2 = 0 + 0 + 0.25 = 0.25
  • 비교: λ=0\lambda = 0이면 A^0=0\hat A_0 = 0(한 걸음만 봄), λ=1\lambda = 1이면 A^0=(1+0+2)−2=1\hat A_0 = (1+0+2) - 2 = 1(끝까지 봄)

λ\lambda가 "얼마나 먼 미래의 놀라움까지 지금 행동의 공으로 돌릴지"를 정한다는 것이 보입니다.

5. γ와 λ는 무엇이 다른가

둘 다 곱해지는 할인처럼 보이지만 역할이 다릅니다.

  • γ<1\gamma < 1은 가치 함수가 아무리 정확해도 편향을 만듭니다. 가치 함수의 '눈금' 자체를 바꾸기 때문입니다.
  • λ<1\lambda < 1은 가치 함수가 부정확할 때만 편향을 만듭니다.

그래서 논문은 실험에서 가장 좋은 λ\lambda가 가장 좋은 γ\gamma보다 훨씬 낮게 나온다고 보고합니다. 합리적으로 정확한 가치 함수가 있으면 λ\lambda가 만드는 편향은 작기 때문입니다.

6. 보상 형성(reward shaping)으로 다시 보기

직관: 원래 보상에 "도착한 상태의 가치 − 떠난 상태의 가치"를 더해 보상을 다시 빚으면, 늦게 오는 보상이 즉시 받는 신호로 바뀝니다.

보상 형성은 r~(s,a,s′)=r(s,a,s′)+γΦ(s′)−Φ(s)\tilde r(s,a,s') = r(s,a,s') + \gamma\Phi(s') - \Phi(s)로 보상을 바꾸는 것인데, 이렇게 해도 어드밴티지는 변하지 않습니다. Φ=V\Phi = V로 두면 바뀐 보상이 바로 TD 오차 δV\delta^V가 됩니다. 따라서 GAE는 "가치 함수로 보상을 다시 빚은 뒤, 더 가파른 할인 γλ\gamma\lambda로 먼 지연 효과의 잡음을 잘라 낸 것"으로 해석할 수 있습니다. VV가 완벽하면 행동의 효과가 모두 즉시 보상으로 옮겨지고, 근사 VV라도 그 시간 퍼짐을 상당히 줄여 줍니다.

7. 가치 함수도 신뢰 영역으로 학습

가치 함수는 보통 할인 수익 V^n\hat V_n에 대한 회귀로 학습합니다. 논문은 최근 배치 하나에 과적합하지 않도록 이동 폭을 제한합니다.

min⁡ϕ∑n=1N∥Vϕ(sn)−V^n∥2s.t.1N∑n=1N∥Vϕ(sn)−Vϕold(sn)∥22σ2≤ϵ\min_\phi \sum_{n=1}^N \lVert V_\phi(s_n) - \hat V_n \rVert^2 \quad \text{s.t.} \quad \frac{1}{N}\sum_{n=1}^N \frac{\lVert V_\phi(s_n) - V_{\phi_{\text{old}}}(s_n) \rVert^2}{2\sigma^2} \le \epsilon
  • σ2\sigma^2: 옛 가치 함수의 평균 제곱 오차. 제약은 "가치 함수를 평균 V(s)V(s), 분산 σ2\sigma^2인 가우시안으로 볼 때 평균 KL을 ϵ\epsilon 이하로"와 같습니다.
  • 정책처럼 켤레 기울기법(가우스-뉴턴 근사 행렬 HH)으로 방향을 잡고 걸음을 조절합니다.

왜 이렇게 했나: 가치 함수를 한 배치에 지나치게 맞추면 TD 오차가 모두 0에 가까워지고, 그러면 정책 경사도 0이 되어 학습이 멈춥니다. 같은 이유로 논문은 정책을 먼저 옛 가치 함수로 갱신한 다음 가치 함수를 갱신합니다.

결과

실험 설정 (논문 기준)

  • 정책 최적화는 TRPO, 정책 · 가치 신경망은 은닉층 3개(tanh 100 · 50 · 25 유닛).
  • 이족(휴머노이드) 모델: 상태 33차원, 구동 자유도 10. 사족 모델: 상태 29차원, 구동 자유도 8. MuJoCo, 시간 간격 0.01초.
  • 배치당 이족 보행 50,000걸음, 사족 보행 · 이족 일어서기 200,000걸음. 에피소드 최대 2,000걸음.

결과 요약

과제좋은 결과가 나온 범위기타
카트폴 (21개 시드 평균)γ∈[0.96,0.99]\gamma \in [0.96, 0.99], λ∈[0.92,0.99]\lambda \in [0.92, 0.99]선형 정책
3D 이족 보행 (9개 시드)γ∈[0.99,0.995]\gamma \in [0.99, 0.995], λ∈[0.96,0.99]\lambda \in [0.96, 0.99]16코어로 시행당 약 2시간
3D 사족 보행 (5개 시드)γ=0.995\gamma = 0.995, λ=0.96\lambda = 0.96일 때 가장 좋음32코어로 시행당 약 4시간
3D 이족 일어서기 (5개 시드)가치 함수는 항상 도움, λ=0.96\lambda = 0.96과 1이 비슷
  • 이족 보행은 1,000번 반복 뒤 빠르고 매끄러우며 사실상 넘어지지 않는 걸음새를 얻었습니다.
  • 이 학습에 든 시뮬레이션 시간을 실제 시간으로 바꾸면 0.01초 × 50,000걸음 × 1,000배치 ≈ 5.8일입니다. 저자들은 로봇 상태를 되돌리고 파손을 막을 수 있다면 실제 로봇에서도 해 볼 만한 규모라고 봅니다.
  • 사족 보행과 이족 일어서기에서는 상태와 무관한 시간 기준값만 쓴 'No VF' 조건보다 가치 함수를 쓴 조건이 나았습니다.
  • 저자들은 대체로 λ\lambda를 0.9~0.99 사이 중간값으로 두면 가장 좋다고 정리합니다. λ=0\lambda = 0(1단계 수익)은 편향이 너무 커 성능이 나빴습니다.

왜 중요한가 · 이후 영향

  • 어드밴티지 추정의 표준이 됐습니다. PPO 논문이 바로 이 GAE를 잘린(truncated) 형태로 써서 A^t=δt+(γλ)δt+1+…\hat A_t = \delta_t + (\gamma\lambda)\delta_{t+1} + \dots를 계산합니다. 오늘날 대부분의 PPO 구현과 LLM용 RLHF 라이브러리도 GAE로 어드밴티지를 구합니다.
  • 편향-분산 절충을 하나의 손잡이 λ\lambda로 다룰 수 있게 해, 실무자가 조정할 대상이 분명해졌습니다.
  • 사람이 설계한 정책 구조 없이 일반 신경망으로 3D 휴머노이드 달리기 · 일어서기를 학습해, 고차원 연속 제어의 기준을 끌어올렸습니다.

한계 · 주의할 점

  • 분석은 저자 스스로 '직관적이지만 비형식적'이라고 밝힙니다. 가치 함수 오차가 정책 경사 오차로 어떻게 이어지는지는 열린 문제로 남겼습니다.
  • γ\gamma, λ\lambda를 자동으로 고르는 법은 제시하지 않았습니다. 과제마다 조정이 필요합니다.
  • 사족 · 일어서기 실험은 계산 비용 때문에 비교 범위가 제한적이었습니다(γ\gamma 고정, λ\lambda 두세 값만).
  • 정책과 가치 함수를 한 신경망에서 공유하는 구조는 앞으로의 과제로 남겼습니다(이후 PPO 등에서 흔히 공유).

이어서 읽을 것

용어 정리

용어쉬운 뜻
공로 배분(credit assignment)늦게 온 보상이 어느 행동 덕분인지 가리는 문제
분산(variance)추정값이 표본에 따라 얼마나 흔들리는지
편향(bias)추정값의 평균이 참값에서 얼마나 벗어나 있는지
TD 오차(잔차)한 걸음 해 본 결과가 가치 함수의 예상과 얼마나 다른지
망원급수(telescoping sum)이웃한 항이 서로 지워져 처음과 끝만 남는 합
γ\gamma-적합 추정량할인된 정책 경사를 추정할 때 추가 편향을 만들지 않는 어드밴티지 추정량
보상 형성(reward shaping)상태 함수의 차이를 보상에 더해 최적 정책은 그대로 두고 학습 신호를 바꾸는 것
가우스-뉴턴 근사제곱 오차 목표의 헤시안을 야코비안의 곱으로 근사하는 방법

스스로 점검

  1. λ=0\lambda = 0과 λ=1\lambda = 1의 GAE는 각각 무엇이 되나? — λ=0\lambda = 0이면 한 걸음 TD 오차 rt+γV(st+1)−V(st)r_t + \gamma V(s_{t+1}) - V(s_t), λ=1\lambda = 1이면 끝까지의 할인 수익에서 V(st)V(s_t)를 뺀 값입니다. 앞은 분산이 작고 편향이 있고, 뒤는 편향이 없지만 분산이 큽니다.
  2. γ\gamma와 λ\lambda의 편향은 어떻게 다른가? — γ<1\gamma < 1은 가치 함수가 정확해도 편향을 만들고, λ<1\lambda < 1은 가치 함수가 부정확할 때만 편향을 만듭니다. 그래서 최적 λ\lambda가 최적 γ\gamma보다 낮게 나옵니다.
  3. 정책보다 가치 함수를 먼저 갱신하면 왜 문제인가? — 가치 함수가 방금 모은 데이터에 과적합하면 TD 오차가 0에 가까워져 정책 경사가 사라집니다. 그래서 옛 가치 함수로 어드밴티지를 계산해 정책을 먼저 갱신합니다.

다음에 볼 것

이 글을 이해했다면 이어서 보면 좋은 항목입니다.

출처

AI 원리부터 이해하기 · 강화학습 모듈

강화학습 모듈 학습

이 글은 강화학습 모듈의 학습 자료입니다. 전체 31개 자료 중 18번째입니다.

AI 기초 과정은 현재 진도 저장을 지원하지 않습니다.

출처·원문

원문 보기

요약만

arXiv (논문별 상이)

arXiv 1506.02438