[RL] Lecture 7: Policy Gradient Methods by David Silver

Minseo Jeong·2025년 5월 15일

RL by David Silver

목록 보기
7/11
post-thumbnail

| 강의 목표

  • 정책 πθ(s, a)를 직접 학습하는 Policy-Based Reinforcement Learning 이해
  • 수식 기반의 정책 경사(policy gradient) 도출 및 학습 알고리즘 이해
  • Monte Carlo 방식, Actor-Critic 방식, Natural Gradient 방식까지
    → 전체적인 정책 최적화 흐름 익히기

| 정책 기반 강화학습 개요

가치 기반 vs 정책 기반

Value-BasedPolicy-Based
가치 함수 Q(s,a),V(s)Q(s, a), V(s) 학습정책 πθ(s,a)\pi_\theta(s, a) 직접 학습
정책은 ε-greedy 등으로 유도정책은 확률적, 미분 가능한 함수
DQN, Q-learningREINFORCE, PPO 등

정책 기반의 장점

  • 더 나은 수렴 특성
  • 확률적 정책 학습 가능
  • 연속 또는 고차원 행동 공간에서 효과적

단점: 학습이 고분산(high variance), 지역 최적에 수렴할 가능성 있음


| Finite Difference Policy Gradient

직접적인 미분이 어려울 때, 수치 미분(numerical gradient) 을 통해 근사

  • 각 파라미터 방향으로 작게 이동 후 차이를 측정:
J(θ)θkJ(θ+ϵek)J(θ)ϵ\frac{\partial J(\theta)}{\partial \theta_k} \approx \frac{J(\theta + \epsilon e_k) - J(\theta)}{\epsilon}
  • 느리고 잡음에 취약하지만, 파라미터에 대한 정보를 몰라도 적용 가능

AIBO Example

  • 로봇 걷기 최적화를 위한 파라미터 튜닝
  • 12차원 파라미터 → 걸음 속도 최대화
  • Finite Difference를 통해 반복적으로 파라미터 업데이트

| Monte-Carlo Policy Gradient – REINFORCE

정책의 확률 분포를 직접 미분

Likelihood Ratio Trick

θπθ(s,a)=πθ(s,a)θlogπθ(s,a)\nabla_\theta \pi_\theta(s, a) = \pi_\theta(s, a) \nabla_\theta \log \pi_\theta(s, a)

정책 경사 정리 (Policy Gradient Theorem):

θJ(θ)=Eπθ[θlogπθ(s,a)Qπθ(s,a)]\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta} \left[ \nabla_\theta \log \pi_\theta(s, a) Q^{\pi_\theta}(s, a) \right]

REINFORCE 알고리즘

  • 전체 에피소드에서 return Gₜ를 계산하여 업데이트:
Δθ = α ∇θ log πθ(st, at) Gt

한 에피소드가 끝나야 학습됨 → high variance

예시 정책들

정책 형태설명
Softmax선형 조합 후 softmax → 분류 문제에 유용
Gaussian연속 행동 → 평균과 분산으로 모델링

| Actor-Critic

REINFORCE의 단점: 분산이 너무 큼
→ 이를 완화하기 위해 Q함수를 추정하는 Critic을 도입

구조

컴포넌트역할
Actor정책 πθ(s, a)를 학습
Critic가치 함수 Q(s,a)Q(s, a) 또는 V(s)V(s) 추정

업데이트 규칙

δ = r + γ Qw(s', a') - Qw(s, a)
θ ← θ + α ∇θ log πθ(s, a) Qw(s, a)
w ← w + β δ φ(s, a)
  • Critic은 TD(0) 등으로 학습
  • Actor는 gradient ascent 수행

| Advantage Function & Baseline Trick

Variance 감소를 위한 Baseline

θJ(θ)=Eπθ[θlogπθ(s,a)(Qπ(s,a)b(s))]\nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta} \left[ \nabla_\theta \log \pi_\theta(s, a) (Q^{\pi}(s, a) - b(s)) \right]
  • b(s)로 기댓값 0인 상수를 빼도 기대값은 같음
  • 일반적으로 b(s)=Vπ(s)b(s) = V^\pi(s)

→ 결과적으로 Advantage Function 사용:

Aπ(s,a)=Qπ(s,a)Vπ(s)A^\pi(s, a) = Q^\pi(s, a) - V^\pi(s)

| TD-Error를 Advantage로 사용

  • TD 오차 δ=r+γV(s)V(s)\delta = r + \gamma V(s') - V(s)
    Advantage의 unbiased estimator가 될 수 있음

→ 정책 업데이트:

Δθ = α ∇θ log πθ(s, a) δ

| Eligibility Traces로 Actor-Critic 확장

  • 다양한 시간 단위에 걸친 학습을 반영 (λ 사용)
e_{t+1} = γλ e_t + ∇θ log πθ(s, a)
Δθ = α δ e_t

| Natural Policy Gradient

표준 경사는 정책의 표현 방식에 따라 변할 수 있다
→ 자연 경사(Natural Gradient)는 표현에 불변한 업데이트 방식

수식

θnatJ(θ)=Gθ1θJ(θ)∇^{nat}_\theta J(\theta) = G^{-1}_\theta ∇_\theta J(\theta)
  • GθG_\theta: Fisher 정보 행렬
Gθ=E[θlogπθ(s,a)θlogπθ(s,a)T]G_\theta = \mathbb{E} [\nabla_\theta \log \pi_\theta(s, a) \nabla_\theta \log \pi_\theta(s, a)^T]

→ 자연 경사 방향은 표준 경사와 가장 유사하면서 정책 변화는 최소

Compatible Function Approximation

  • 아래 조건을 만족할 때 natural gradient는 간단한 형태로 구현됨
  1. wQw(s,a)=θlogπθ(s,a)\nabla_w Q_w(s,a) = \nabla_\theta \log \pi_\theta(s,a)
  2. ww는 Q에 대한 MSE 최소화 파라미터

→ 이때,

θJ(θ)=GθwθnatJ(θ)=w∇_\theta J(\theta) = G_\theta w \Rightarrow ∇^{nat}_\theta J(\theta) = w

| 예시: Snake Robot & CPG

  • 중앙 패턴 생성기(CPG)를 사용한 뱀 로봇 제어
  • off-Natural Actor Critic을 통해 로봇이 미로를 통과하도록 학습
  • off-NAC가 on-NAC보다 높은 성능을 보여줌
profile
로봇 소프트웨어 개발자입니다. AI 공부도 합니다.

0개의 댓글