독서/기초부터 시작하는 강화학습 신경망 알고리즘

8. Double Q-learning, Actor-Critic

studylida 2025. 4. 21. 17:24

💡 Double Q-learning과 Actor-Critic 정리

1. Q-learning의 한계: 과대 추정 문제

기존 Q-learning은 타깃 업데이트에 maxₐ′ Q(s′, a′)를 사용함.
→ 이는 가치가 과대 추정(overestimation)될 수 있음.
→ 이를 해결하기 위한 방법이 Double Q-learning임.


2. Double Q-learning

핵심 아이디어

  • 두 개의 Q함수 Q₁, Q₂를 사용
  • 한 쪽은 행동 선택에, 다른 한 쪽은 가치 평가에 사용
  • 각 스텝마다 Q₁ 또는 Q₂ 중 하나만 업데이트함

알고리즘 구조

모든 s∈S, a∈A(s)에 대해 초기화:
    Q_1(s,a), Q_2(s,a) ← 임의의 값
    Q_1(terminal, a) = Q_2(terminal, a) = 0

각 에피소드에 대해 반복:
    S를 초기화
    각 스텝에 대해:
        - Q₁+Q₂를 합해 ε-탐욕정책으로 행동 a 선택
        - 행동 후 보상 r, 다음 상태 s′ 관측
        - 확률 0.5보다 작다면:
            Q₁(s,a) ← Q₁(s,a) + α[r + γ·Q₂(s′, argmaxₐ′ Q₁(s′, a′)) − Q₁(s,a)]
        - 그렇지 않으면:
            Q₂(s,a) ← Q₂(s,a) + α[r + γ·Q₁(s′, argmaxₐ′ Q₂(s′, a′)) − Q₂(s,a)]
        s ← s′
    종료 상태에 도달하면 에피소드 종료

특징

  • Q₁Q₂서로 독립적으로 유지되면서도 상호 보완적
  • 타깃 계산 시 argmax는 자신이지만, 값은 반대편 Q함수를 사용
  • 과대 추정 억제 가능

3. Actor-Critic

🎯 그림 2.71 액터-크리틱의 구조 설명

1. Agent 내부 구성

✅ 액터 (Actor) — Policy 모듈

  • 역할: 현재 상태(state) 에서 행동(action) 을 선택함
  • 선택 기준: π(s,a)라는 정책에 따라 확률적으로 선택
    (예: 소프트맥스 함수 사용)

✅ 크리틱 (Critic) — Value Function 모듈

  • 역할: 선택된 행동의 결과(보상)를 보고 TD 오차 δₜ를 계산
  • δₜ는 다음 식으로 정의:
  • δₜ = rₜ₊₁ + γ·V(sₜ₊₁) - V(sₜ)
  • δₜ를 이용해:
    • Value Function V(s) 학습 (정확한 가치 추정)
    • Policy(π) 의 확률 조정 (좋은 행동은 강화, 나쁜 행동은 억제)

2. 전체 흐름 정리

  1. 환경으로부터 현재 상태(state) 를 받아옴
  2. 액터가 π(s,a)를 이용해 행동 선택
  3. 환경에 행동 전달 → 보상(reward)다음 상태(state') 반환
  4. 크리틱이 TD error δₜ 계산
  5. 크리틱은 V(s) 업데이트, 액터는 π(s,a) 업데이트
  6. 다음 상태를 받아 다음 스텝 반복

🧠 이 그림이 말하고자 하는 핵심

  • 정책(π) 을 직접 학습함 → 이게 Policy Gradient 계열의 핵심
  • 가치 함수는 평가자 역할만 수행함 (정책을 직접 만들지 않음)
  • TD error가 액터와 크리틱의 연결고리
    → 행동의 좋고 나쁨을 알려주는 신호

📌 시험에서 나올 수 있는 질문 예시

  1. 이 구조에서 TD error는 어떤 역할을 하는가?
    → 정책과 가치 함수 업데이트의 기준 신호이다. 좋은 행동은 강화, 나쁜 행동은 억제.
  2. 액터와 크리틱의 관계는 무엇인가?
    → 크리틱은 액터가 선택한 행동의 결과를 평가하고, 액터는 그 평가를 바탕으로 정책을 개선한다.
  3. 이 구조가 일반적인 Q-learning과 다른 점은 무엇인가?
    → 정책을 직접 확률 분포로 학습한다는 점에서 Actor-Critic은 정책 기반 학습(Policy Gradient)이다.

기존 방법과의 차이

  • 기존 방법: 가치함수 V(s) 또는 Q(s,a)를 학습 → 이후 정책 계산
  • Actor-Critic: 정책(π)을 직접 학습
    → 상태가치함수는 행동의 평가에만 사용됨

구성 요소

모듈 역할
크리틱(Critic) TD 오차(δₜ)를 통해 상태가치함수 V(s)를 학습
액터(Actor) TD 오차를 이용해 확률 기반 정책 p(s,a)를 학습

TD 오차(δₜ)

  • 상태가치 예측의 오차로, 다음과 같이 계산함:
    δₜ = rₜ₊₁ + γ·V(sₜ₊₁) − V(sₜ)
  • δₜ가 양수면 기대보다 보상이 좋았고, 음수면 기대보다 나쁨

알고리즘 구조

모든 s∈S, a∈A(s)에 대해 초기화:
    p(s,a), V(s) ← 임의의 값

각 에피소드에 대해 반복:
    s 초기화

각 스텝에 대해 반복:
    - 행동 선택: π(s,a) = e^p(s,a) / ∑₍b₎ e^p(s,b) (Gibbs 소프트맥스)
    - 보상 r, 다음 상태 s′ 관측
    - δₜ = r + γ·V(s′) − V(s)
    - V(s) ← V(s) + α·δₜ
    - p(s,a) ← p(s,a) + β·δₜ
    s ← s′

종료 상태 도달 시 에피소드 종료

행동 선택 함수: Gibbs 소프트맥스

π(s,a) = e^p(s,a) / ∑_b e^p(s,b)
  • 확률적으로 행동을 선택하며, p(s,a) 값이 클수록 선택 확률이 높아짐
  • ε-탐욕정책은 최적 행동 외에는 확률이 균등하나,
  • 소프트맥스는 각 행동의 우선도에 비례하여 확률 분배
행동 위=0.1 오른쪽=0.2 아래=0.3 왼쪽=0.4
ε-탐욕(ε=0) 0.0 0.0 0.0 1.0
ε-탐욕(ε=0.5) 0.125 0.125 0.125 0.625
ε-탐욕(ε=1) 0.25 0.25 0.25 0.25
소프트맥스 0.214 0.236 0.261 0.289

4. 종합 비교

항목 Double Q-learning Actor-Critic
학습 대상 Q₁, Q₂ (행동가치) π (정책), V (상태가치)
업데이트 방식 ε-탐욕정책, max 기반 TD 오차 기반
가치 추정 두 Q함수 분리해 추정 Critic이 상태가치 추정
정책 가치 기반(탐욕) 확률 기반 (Policy 직접 학습)
장점 과대추정 억제 정책 직접 최적화, 확률적 선택 가능
활용 강화학습 전통 방식 Policy Gradient 계열 기반