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 학습의 목표
- 예측 문제:
- 고정된 두 정책(타겟 정책 π\pi와 행동 정책 bb)을 기반으로 상태 또는 행동 가치를 학습.
- 제어 문제:
- 행동 가치를 학습하며, 학습 중에 타겟 정책과 행동 정책이 동적으로 변화함.
Importance Sampling의 역할
- 중요도 샘플링(Importance Sampling):
- 행동 정책 bb로부터 샘플링된 데이터가 타겟 정책 π\pi에 적합하도록 보정.
- ρt\rho_t는 특정 행동 ata_t가 선택될 확률 비율을 나타냄.
주요 알고리즘의 도전 과제
- 업데이트 타겟:
- 샘플링된 보상과 예측값을 적절히 조합하여 학습 타겟을 설정.
- 분포의 차이:
- 행동 정책과 타겟 정책 간 데이터 분포 차이로 인해 발생하는 문제 해결.
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.
계산 과정
- 상태 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
- 반환값 Gt=0G_t = 0:
- 에피소드 동안 보상이 모두 0이므로 Gt=0G_t = 0.
- 업데이트 계산:Δ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.
- 새로운 가중치: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
불안정성의 원인
- Function Approximation:
- 큰 상태 공간을 다루기 위해 사용되며, 근사 오차가 발생.
- Bootstrapping:
- 현재 추정값을 업데이트 타겟으로 사용.
- 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
'인공지능 > 강화학습' 카테고리의 다른 글
Ch. 12 Eligibility Traces (1) | 2024.12.09 |
---|---|
Ch. 10 On-policy Control with Approximation (1) | 2024.12.09 |
강화학습에서의 함수 근사(Function Approximation in Reinforcement Learning) (0) | 2024.12.08 |
Multi-Armed Bandits (MAB) (4) | 2024.09.04 |