Post

왜 실무는 PPO / SAC인가: 안정성, 연속 제어, 엔트로피, 그리고 튜닝 현실

PPO와 SAC가 실무 표준이 된 이유와 연속 제어·안정성·튜닝 전략을 구조적으로 정리

왜 실무는 PPO / SAC인가: 안정성, 연속 제어, 엔트로피, 그리고 튜닝 현실

이 글의 목적

핵심 요약

  • PPO와 SAC는 “이론적으로 멋진 알고리즘”이 아니라 현장에서 버티는 알고리즘이다.
  • 실무 강화학습의 적은 성능 부족이 아니라 불안정·붕괴·튜닝 지옥이다.
  • PPO는 안정성, SAC는 연속 제어 + 샘플 효율에서 강점을 가진다.
  • 이 글은 “왜 다들 PPO/SAC를 쓰는지”를 구조적으로 설명한다.

예시

  • 로봇 팔 제어에서 DQN이 바로 탈락하는 이유
  • 같은 환경에서 PPO는 느리지만 안정, SAC는 빠르고 견고

1. PPO는 왜 등장했는가: 정책 업데이트 폭 제한

정의

  • PPO(Proximal Policy Optimization)“정책을 조금씩만 바꾸자” 는 원칙을 코드로 구현한 알고리즘이다.

핵심 요약

  • Policy Gradient 계열은 업데이트 한 번에 정책이 망가질 수 있다.
  • TRPO는 이 문제를 해결했지만 구현이 너무 복잡했다.
  • PPO는 클리핑(clipping) 으로 동일한 효과를 단순하게 달성한다.

직관

1
2
3
어제 잘하던 정책이
오늘 한 번의 업데이트로 완전히 바뀌면?
→ 성능 붕괴 (policy collapse)

작동 원리 (직관 중심)

  • 이전 정책과 너무 멀어지는 업데이트는 잘라낸다
  • 결과적으로 “안전한 경사 하강”이 된다

구현 포인트

  • 클리핑 계수(ε)가 안정성과 수렴 속도의 핵심
  • Critic 품질이 낮으면 PPO도 무너진다

2. SAC의 핵심 아이디어: 최대 엔트로피 정책

정의

  • SAC(Soft Actor-Critic)보상을 최대화하면서 동시에 정책의 불확실성(엔트로피)을 유지한다.

핵심 요약

  • 기존 RL은 “가장 좋은 행동 하나”로 수렴하려 한다.
  • SAC는 “여러 좋은 행동을 유지”한다.
  • 결과는 탐험이 자연스럽고 정책이 덜 깨진다.

직관

1
2
PPO: 제일 좋아 보이는 행동을 점점 굳힌다
SAC: 좋은 행동 후보들을 넓게 유지한다

왜 필요했나

  • 연속 제어 문제는 국소 최적해가 많다.
  • 엔트로피 항은 조기 수렴과 탐험 부족을 구조적으로 방지한다.

구현 포인트

  • 온도 파라미터(α)는 자동 조정(auto-tuning)가 기본
  • Q-network 2개(Double Q)는 과대평가 방지용

3. On-policy(PPO) vs Off-policy(SAC): 현실 차이

핵심 요약

  • 이론보다 중요한 건 데이터 재사용 가능 여부다.
  • PPO는 안정적이지만 데이터 낭비가 크다.
  • SAC는 샘플 효율이 높아 비싼 환경에서 유리하다.

현실 비교

항목PPO (On-policy)SAC (Off-policy)
데이터 재사용불가가능
샘플 효율낮음높음
안정성매우 높음높음
튜닝 난이도낮음
연속 행동가능매우 적합
실무 채택광범위로보틱스 중심

결론 규칙

  • 환경이 싸고 단순 → PPO
  • 환경이 비싸고 연속 제어 → SAC

4. 왜 연속 행동 공간이 중요한가 (자율주행·로보틱스)

핵심 요약

  • 현실 세계는 대부분 연속 제어 문제다.
  • 행동을 이산화하면 정밀도와 안정성이 동시에 깨진다.
  • PPO/SAC는 연속 분포를 직접 다룬다.

예시

문제이산 행동연속 행동
조향각좌/우/정지−30° ~ +30°
가속정지/전진0.0 ~ 1.0

결과

  • 이산화: 튀는 행동, 진동
  • 연속: 부드러운 제어, 안정 주행

5. AWS DeepRacer 사례 재구성

문제 정의

  • 자율주행 차량을 트랙에서 빠르고 안정적으로 완주

MDP 구성

요소정의
상태(State)카메라 이미지, 속도
행동(Action)조향각, 가속 (연속)
보상(Reward)차선 유지, 속도, 완주
종료트랙 이탈, 충돌

성공 조건

  • 평균 랩 타임 감소
  • 이탈 없는 완주 비율 증가
  • 정책 안정성 유지

왜 PPO/SAC인가

  • 연속 제어 필수
  • 실시간 안정성 중요
  • 보상 노이즈 존재 → PPO/SAC 유리

6. PPO vs SAC: 언제 무엇을 고를 것인가

최종 선택 표

상황추천
빠른 구현, 안정 최우선PPO
로봇/자율주행SAC
데이터 비용 큼SAC
튜닝 인력 부족PPO
연속 + 복잡SAC

7. 보상 설계 체크리스트 (실무 핵심)

핵심 요약

  • PPO/SAC 성능의 50%는 보상에서 결정된다.

Reward Shaping 체크리스트

  • 목표 행동이 즉시 보상으로 연결되는가
  • 실패 행동에 명확한 패널티가 있는가
  • 중간 보상이 최종 목표를 방해하지 않는가
  • 보상 스케일이 과도하지 않은가
  • sparse reward를 보조하는 신호가 있는가

8. 튜닝 실패 패턴과 처방

실패 1: 학습 불안정

  • 증상: reward 급등 후 붕괴
  • 처방:

    • PPO: clip ε ↓, lr ↓
    • SAC: α 자동 조정 확인

실패 2: 정책 collapse

  • 증상: 단일 행동 반복
  • 처방:

    • PPO: entropy bonus ↑
    • SAC: target smoothing 확인

실패 3: 과탐험 / 과수렴

  • 증상: 끝까지 랜덤 / 너무 빨리 고착
  • 처방:

    • PPO: entropy 스케줄링
    • SAC: reward 스케일 재조정

흔히 하는 오해 3가지와 교정

오해 1: “PPO는 느리다” → 교정: 느린 게 아니라 망가지지 않는다.

오해 2: “SAC는 어렵다” → 교정: 자동 α 튜닝으로 진입 장벽은 크게 낮아졌다.

오해 3: “둘 중 하나가 항상 더 낫다” → 교정: 환경 비용과 행동 공간이 답을 정한다.


핵심 체크리스트 (재학습용)

  • PPO의 클리핑 목적을 설명할 수 있는가
  • SAC의 엔트로피 항 의미를 이해했는가
  • On/Off-policy 차이를 데이터 관점에서 설명 가능한가
  • 연속 행동이 필요한 문제를 구분할 수 있는가
  • PPO vs SAC 선택 기준을 명확히 갖고 있는가
  • 보상 설계가 정책을 잘 유도하는지 판단 가능한가
  • 튜닝 실패 패턴을 증상만 보고 진단할 수 있는가

한 줄 요약

PPO와 SAC가 실무 표준인 이유는 성능이 아니라, “깨지지 않고 끝까지 학습되는 구조”에 있다.


This post is licensed under CC BY 4.0 by the author.