강화학습 알고리즘 선택 가이드: Model-Free vs Model-Based RL의 샘플 효율성·계산 비용·안정성 Trade-off 완벽 분석

Updated Feb 6, 2026

들어가며

강화학습(Reinforcement Learning) 프로젝트를 시작할 때 가장 먼저 마주하는 질문은 “어떤 알고리즘을 써야 할까?”입니다. Model-FreeModel-Based 접근법은 각각 장단점이 명확하지만, 실무에서는 문제 특성에 따라 신중하게 선택해야 합니다. 이 글에서는 샘플 효율성, 계산 비용, 수렴 안정성의 3가지 관점에서 두 방법론을 비교하고, Atari·MuJoCo·로보틱스 벤치마크 실험 결과를 바탕으로 최적 알고리즘 선택 전략을 제시합니다.

Model-Free vs Model-Based: 핵심 차이

Model-Free RL: 직접 경험으로 학습

Model-Free 방법은 환경의 동역학(dynamics) 모델 없이 가치 함수(Value Function) 또는 정책(Policy)을 직접 학습합니다. 대표 알고리즘으로는 DQN, PPO, SAC 등이 있습니다.

Q(s,a)Q(s,a)+α[r+γmaxaQ(s,a)Q(s,a)]Q(s, a) \leftarrow Q(s, a) + \alpha [r + \gamma \max_{a'} Q(s', a') – Q(s, a)]

위 Q-Learning 업데이트 수식에서:
Q(s,a)Q(s, a): 상태 ss에서 행동 aa를 취했을 때의 가치
α\alpha: 학습률
rr: 즉각 보상
γ\gamma: 할인 계수
ss': 다음 상태

장점: 모델 오차 없음, 구현 단순, 안정적 수렴
단점: 샘플 효율 낮음, 실제 환경에서 많은 상호작용 필요

Model-Based RL: 환경 모델로 계획

Model-Based 방법은 먼저 환경의 전이 함수 P(ss,a)P(s'|s, a)와 보상 함수 R(s,a)R(s, a)를 학습한 뒤, 이를 기반으로 시뮬레이션하거나 계획(Planning)합니다. 대표 알고리즘은 Dyna-Q, MBPO, Dreamer 등입니다.

s^<em>t+1=f</em>θ(st,at)\hat{s}<em>{t+1} = f</em>\theta(s_t, a_t)

여기서 fθf_\theta는 학습된 신경망 모델이며, θ\theta는 파라미터입니다.

장점: 샘플 효율 높음, 적은 데이터로 학습 가능
단점: 모델 오차 누적, 계산 비용 증가, 복잡한 환경에서 불안정

3가지 Trade-off 분석

1. 샘플 효율성 (Sample Efficiency)

기준 Model-Free Model-Based
필요 샘플 수 10^6 ~ 10^7 (Atari 기준) 10^4 ~ 10^5 (5~100배 효율적)
실제 환경 상호작용 많음 (비용 ↑) 적음 (시뮬레이션 활용)
적용 사례 게임, 저비용 시뮬레이터 로봇 제어, 실제 하드웨어

MuJoCo 벤치마크 실험에서 MBPO(Model-Based)는 SAC(Model-Free) 대비 10~50배 적은 샘플로 동일 성능 달성:

# MBPO 샘플 효율 예시 (HalfCheetah-v2)
model_free_samples = 1_000_000  # SAC
model_based_samples = 50_000    # MBPO
efficiency_ratio = model_free_samples / model_based_samples  # 20배

2. 계산 비용 (Computational Cost)

Model-Free는 단순하지만 많은 샘플이 필요하고, Model-Based는 모델 학습과 시뮬레이션에 추가 연산이 필요합니다.

비용 항목 Model-Free (PPO) Model-Based (Dreamer)
모델 학습 없음 +30~50% GPU 시간
Planning 오버헤드 없음 +20~40% 연산
메모리 사용량 낮음 높음 (모델 + 버퍼)

실무 팁: GPU가 제한적이라면 Model-Free를 먼저 시도하고, 실제 환경 비용이 크다면(로봇, 실험 장비) Model-Based를 고려하세요.

3. 수렴 안정성 (Convergence Stability)

Model-Free는 충분한 샘플만 있으면 안정적으로 수렴하지만, Model-Based모델 오차 누적 문제가 있습니다.

Total Errorϵmodel×H\text{Total Error} \approx \epsilon_{\text{model}} \times H

여기서 ϵmodel\epsilon_{\text{model}}은 단일 스텝 모델 오차, HH는 planning horizon입니다. Horizon이 길수록 오차가 증폭됩니다.

로보틱스 벤치마크(Adroit 손 조작)에서:
SAC: 안정적 수렴, 성공률 70%
MBPO: 초기 빠른 학습, 모델 오차로 인해 성공률 60% 정체

# 모델 오차 누적 시뮬레이션
import numpy as np

def simulate_model_error(horizon, step_error=0.01):
    total_error = 0
    for t in range(horizon):
        total_error += step_error * (1.1 ** t)  # 지수적 누적
    return total_error

print(f"H=10: {simulate_model_error(10):.3f}")
print(f"H=50: {simulate_model_error(50):.3f}")  # 오차 급증

문제 유형별 최적 알고리즘 선택 전략

Atari 게임: Model-Free가 우세

이유:
– 픽셀 기반 고차원 관측 → 모델 학습 어려움
– 시뮬레이터 무료 → 샘플 효율 문제 없음
– 결정론적 환경 → Model-Free로도 안정적 수렴

추천: DQN, Rainbow, PPO

게임 DQN 점수 Model-Based (SimPLe) 점수
Breakout 401 245 (모델 오차)
Pong 20.9 18.3

MuJoCo 연속 제어: 하이브리드 접근

이유:
– 저차원 상태 공간 → 모델 학습 용이
– 물리 시뮬레이터 정확도 높음
– 샘플 효율과 성능 모두 중요

추천: MBPO (Model-Based + SAC backbone), TD3

# MBPO 의사 코드
for epoch in range(num_epochs):
    # 1. 실제 환경에서 데이터 수집
    real_data = collect_real_samples(env, policy)

    # 2. 환경 모델 학습
    model.train(real_data)

    # 3. 모델로 가상 데이터 생성
    fake_data = model.simulate(policy, k_steps=5)

    # 4. 실제+가상 데이터로 정책 학습 (SAC)
    policy.update(real_data + fake_data)

로보틱스 실제 제어: Model-Based 필수

이유:
실제 로봇 시간 비용 극대 (1회 시도 = 수분~수십분)
– 안전성 우선 → 시뮬레이션으로 사전 검증
– Transfer learning 필요

추천: Dreamer, PlaNet, World Models

사례: Boston Dynamics의 Atlas는 시뮬레이션(Isaac Gym)에서 Model-Based로 사전 학습 후 실제 로봇에 Fine-tuning합니다.

실무 의사결정 플로우차트

시작
 ↓
실제 환경 비용 높음? (로봇, 하드웨어)
 ├─ YES → Model-Based (MBPO, Dreamer)
 └─ NO → 샘플 제한 있음?
     ├─ YES → Model-Based
     └─ NO → 환경 복잡도 높음? (픽셀, 고차원)
          ├─ YES → Model-Free (DQN, PPO)
          └─ NO → 하이브리드 (MBPO)

최신 하이브리드 접근법

최근에는 두 장점을 결합한 Hybrid 방법이 주목받고 있습니다:

  1. MuZero (DeepMind): 모델을 학습하되 Planning에만 사용 (Atari, Chess 모두 우수)
  2. STEVE (Bootstrapped Model Ensemble): 여러 모델 앙상블로 불확실성 정량화
  3. Model-Based Meta-RL: 작은 모델로 빠른 적응

마무리

Model-Free vs Model-Based 선택은 다음 3가지 기준으로 결정하세요:

우선순위 선택
샘플 효율 최우선 (로봇, 실제 환경) Model-Based (MBPO, Dreamer)
안정성·성능 최우선 (게임, 시뮬레이터) Model-Free (SAC, PPO)
균형 (연구, 프로토타입) 하이브리드 (MBPO, MuZero)

핵심 요약
샘플 효율: Model-Based가 10~100배 우수
계산 비용: Model-Based가 30~50% 높음
안정성: Model-Free가 장기적으로 더 안정적
Atari: Model-Free, MuJoCo: 하이브리드, 로보틱스: Model-Based

실무에서는 빠른 프로토타입(Model-Free) → 샘플 효율 개선(Model-Based) 순으로 진행하는 것을 추천합니다. 본인의 문제 특성과 리소스를 고려해 최적의 전략을 선택하세요!

Did you find this helpful?

☕ Buy me a coffee

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

TODAY 390 | TOTAL 2,613