인공지능/강화학습

Ch. 11 Off-policy Methods with Approximation

hjjummy 2024. 12. 9. 15:17

1. Introduction

Value Function Approximation (VFA)의 필요성

  • 왜 VFA가 필요할까?
    • 현실 세계의 문제는 상태와 행동 공간이 매우 큼.
    • 표 형태(Tabular)의 표현 방식으로는 메모리와 계산 자원이 부족함.
    • 따라서, 일반화(Generalization)가 필수적임. S→Q(s,a,w)S \rightarrow Q(s, a, w)
      • 여기서 Q(s,a,w)Q(s, a, w)는 상태 ss와 행동 aa에 대한 함수 근사값.

Off-policy 학습 개요

  • Off-policy란?
    • 에이전트가 타겟 정책 π\pi를 학습하면서, 다른 행동 정책 bb를 통해 수집된 데이터를 사용.
  • 학습의 주요 목표:
    • 주어진 타겟 정책 π\pi의 가치 함수(예: 상태-가치 함수 vv 또는 행동-가치 함수 qq)를 학습.

GPI와 탐색-활용 균형

  • GPI(Generalized Policy Iteration)는 정책 평가와 정책 개선을 반복하는 강화학습의 일반적인 구조.
  • Off-policy 학습은 GPI와 탐색-활용(exploration vs. exploitation) 사이의 균형을 맞추는 데 중요한 역할을 함.

2. Off-policy Methods with Approximation

Off-policy 학습의 목표

  1. 예측 문제:
    • 고정된 두 정책(타겟 정책 π\pi와 행동 정책 bb)을 기반으로 상태 또는 행동 가치를 학습.
  2. 제어 문제:
    • 행동 가치를 학습하며, 학습 중에 타겟 정책과 행동 정책이 동적으로 변화함.

Importance Sampling의 역할

  • 중요도 샘플링(Importance Sampling):
    • 행동 정책 bb로부터 샘플링된 데이터가 타겟 정책 π\pi에 적합하도록 보정.
    ρt=π(at∣st)b(at∣st)\rho_t = \frac{\pi(a_t | s_t)}{b(a_t | s_t)}
    • ρt\rho_t는 특정 행동 ata_t가 선택될 확률 비율을 나타냄.

주요 알고리즘의 도전 과제

  1. 업데이트 타겟:
    • 샘플링된 보상과 예측값을 적절히 조합하여 학습 타겟을 설정.
  2. 분포의 차이:
    • 행동 정책과 타겟 정책 간 데이터 분포 차이로 인해 발생하는 문제 해결.

3. Semi-gradient Methods

Off-policy TD(0) 알고리즘

  • 상태-가치 함수 업데이트: wt+1=wt+αρtδt∇v^(St,w)w_{t+1} = w_t + \alpha \rho_t \delta_t \nabla \hat{v}(S_t, w)
    • TD 오류 δt\delta_t: δt=Rt+1+γv^(St+1,w)−v^(St,w)\delta_t = R_{t+1} + \gamma \hat{v}(S_{t+1}, w) - \hat{v}(S_t, w)

Expected Sarsa 알고리즘

  • 행동-가치 함수 업데이트: δt=Rt+1+γ∑aπ(a∣St+1)q^(St+1,a,w)−q^(St,At,w)\delta_t = R_{t+1} + \gamma \sum_a \pi(a | S_{t+1}) \hat{q}(S_{t+1}, a, w) - \hat{q}(S_t, A_t, w)
    • 예상 보상을 통해 업데이트.

nn-step Semi-gradient Sarsa

  • 여러 단계의 보상을 고려한 nn-step 반환값: Gt:t+n=Rt+1+γRt+2+⋯+γn−1Rt+n+γnq^(St+n,At+n,w)G_{t:t+n} = R_{t+1} + \gamma R_{t+2} + \dots + \gamma^{n-1} R_{t+n} + \gamma^n \hat{q}(S_{t+n}, A_{t+n}, w)

Tree-backup 알고리즘

  • 부트스트래핑을 활용하여 상태-가치 및 행동-가치 함수를 효율적으로 학습.

4. Examples of Off-policy Divergence

Baird's Counterexample

  • Off-policy 학습의 대표적인 발산 사례:
    • 특정 상태 SS에서 잘못된 업데이트가 지속적으로 누적되며 학습이 발산함.

 

         

Baird’s Counterexample: 계산 과정과 방법

Baird’s Counterexample는 **오프 폴리시 강화학습(Off-policy Reinforcement Learning)**에서 발생할 수 있는 발산(divergence) 문제를 설명하는 대표적인 사례입니다. 아래는 주어진 내용과 공식에 기반한 계산 과정을 설명합니다.

 MC 업데이트

에피소드 가정

  • 에피소드 시퀀스: s1,a1,0,s7,a1,0,s7,a1,0,terminates_1, a_1, 0, s_7, a_1, 0, s_7, a_1, 0, \text{terminate}
    • 상태 s1s_1에서 시작.
    • s7s_7로 반복적으로 이동하며 보상은 항상 0.

MC 업데이트 공식

Δw=α[Gt−v^(St,w)]∇v^(St,w)\Delta w = \alpha \big[G_t - \hat{v}(S_t, w)\big] \nabla \hat{v}(S_t, w)

  • GtG_t: 반환값 (에피소드 종료 후 계산된 보상의 총합).
  • v^(St,w)=w⊤x(St)\hat{v}(S_t, w) = w^\top x(S_t): 상태 StS_t의 추정값.
  • ∇v^(St,w)=x(St)\nabla \hat{v}(S_t, w) = x(S_t): 추정값의 기울기.

초기 설정

  • 상태 s1s_1의 특징 벡터: x(s1)=[2,0,0,0,0,0,0,1]⊤x(s_1) = [2, 0, 0, 0, 0, 0, 0, 1]^\top
  • 가중치 초기값: w0=[1,1,1,1,1,1,1,1]w_0 = [1, 1, 1, 1, 1, 1, 1, 1]
  • 학습률 α=0.5\alpha = 0.5.

계산 과정

  1. 상태 s1s_1에서의 추정값:v^(s1,w)=w⊤x(s1)=[1,1,1,1,1,1,1,1]⋅[2,0,0,0,0,0,0,1]⊤=3\hat{v}(s_1, w) = w^\top x(s_1) = [1, 1, 1, 1, 1, 1, 1, 1] \cdot [2, 0, 0, 0, 0, 0, 0, 1]^\top = 3
  2. 반환값 Gt=0G_t = 0:
    • 에피소드 동안 보상이 모두 0이므로 Gt=0G_t = 0.
  3. 업데이트 계산:Δw=α[Gt−v^(s1,w)]x(s1)\Delta w = \alpha \big[G_t - \hat{v}(s_1, w)\big] x(s_1)
    • Gt−v^(s1,w)=0−3=−3G_t - \hat{v}(s_1, w) = 0 - 3 = -3.
    • Δw=0.5×(−3)×[2,0,0,0,0,0,0,1]⊤\Delta w = 0.5 \times (-3) \times [2, 0, 0, 0, 0, 0, 0, 1]^\top.
    Δw=[−3,0,0,0,0,0,0,−1.5]⊤\Delta w = [-3, 0, 0, 0, 0, 0, 0, -1.5]^\top
  4. 새로운 가중치:wnew=w0+Δww_{\text{new}} = w_0 + \Delta w wnew=[1,1,1,1,1,1,1,1]+[−3,0,0,0,0,0,0,−1.5]w_{\text{new}} = [1, 1, 1, 1, 1, 1, 1, 1] + [-3, 0, 0, 0, 0, 0, 0, -1.5] wnew=[−2,1,1,1,1,1,1,−0.5]w_{\text{new}} = [-2, 1, 1, 1, 1, 1, 1, -0.5]
  • TD 업데이트MC 업데이트의 비교:
    • TD 업데이트: Δw=α(R+γv^(S′,w)−v^(S,w))∇v^(S,w)\Delta w = \alpha \big( R + \gamma \hat{v}(S', w) - \hat{v}(S, w) \big) \nabla \hat{v}(S, w)
    • MC 업데이트: Δw=α(Gt−v^(S,w))∇v^(S,w)\Delta w = \alpha \big( G_t - \hat{v}(S, w) \big) \nabla \hat{v}(S, w)

5. The Deadly Triad

불안정성의 원인

  1. Function Approximation:
    • 큰 상태 공간을 다루기 위해 사용되며, 근사 오차가 발생.
  2. Bootstrapping:
    • 현재 추정값을 업데이트 타겟으로 사용.
  3. Off-policy Training:
    • 타겟 정책이 아닌 행동 정책에서 샘플링된 데이터를 학습.

안정성을 유지하는 방법

  • 세 요소 중 하나를 제거하면 학습의 불안정성을 줄일 수 있음:
    • 부트스트래핑 없이 학습(예: 몬테카를로 방법).
    • On-policy 학습으로 전환.

6. Further Topics

Gradient Descent in Bellman Error

  • 벨만 오류를 최소화하기 위한 경사 하강법.

Gradient-TD Methods

  • TD 학습의 변형으로, 근사 오차를 줄이기 위한 방법.

Variance 감소 기법

  • Importance Sampling으로 인한 분산을 줄이는 다양한 기술.

7. Practical Applications

Tile Coding

  • 다차원 연속 상태를 이산적으로 표현하기 위한 효율적인 코딩 방식.

Mountain Car Task

  • 약한 엔진을 가진 자동차가 언덕을 넘어가는 문제를 해결하는 알고리즘 실습.

8. 읽기 권장

  • Linear Value-function Geometry
  • Gradient-TD Methods
  • Variance Reduction Techniques