콘텐츠로 이동

강화학습 (Reinforcement Learning)

난이도: 중급~고급
선수 지식: 신경망 기초, 경사 하강법, 손실 함수
관련 문서: Transformer | 전이 학습 | LLM


개요

강화학습 (Reinforcement Learning, RL)은 지도학습, 비지도학습과 함께 머신러닝의 세 번째 패러다임이다. 에이전트 (Agent)가 환경 (Environment)과 상호작용하면서 누적 보상 (Cumulative Reward)을 최대화하는 행동 정책을 학습한다.

세 가지 핵심 특성이 RL을 다른 패러다임과 구별한다:

  1. 지연 보상 (Delayed Reward): 행동의 결과가 즉시 드러나지 않는다. 바둑에서 초반 수의 가치는 게임 종료 후에야 확인된다.
  2. 탐색-활용 딜레마 (Exploration-Exploitation): 이미 알려진 좋은 행동을 반복할 것인가, 새로운 행동을 시도할 것인가.
  3. 신용 할당 문제 (Credit Assignment): 최종 보상에 기여한 것이 어떤 시점의 어떤 행동인지 역추적해야 한다.
비교 항목 지도학습 비지도학습 강화학습
피드백 정답 레이블 없음 보상 신호 (스칼라)
목표 입출력 매핑 학습 구조/패턴 발견 누적 보상 최대화
데이터 고정 데이터셋 고정 데이터셋 에이전트가 생성
대표 응용 이미지 분류, 번역 클러스터링, 차원축소 게임 AI, 로봇 제어, RLHF

핵심 개념

1. 마르코프 결정 과정 (MDP)

RL 문제는 마르코프 결정 과정 (Markov Decision Process, MDP)으로 형식화한다. MDP는 5-튜플 \((S, A, P, R, \gamma)\)로 정의된다.

기호 이름 설명
\(S\) 상태 공간 (State Space) 가능한 모든 상태의 집합
\(A\) 행동 공간 (Action Space) 가능한 모든 행동의 집합
\(P(s' \mid s, a)\) 전이 확률 (Transition Probability) 상태 \(s\)에서 행동 \(a\)\(s'\)로 이동할 확률
\(R(s, a, s')\) 보상 함수 (Reward Function) 전이에 따른 즉각적 보상
\(\gamma \in [0, 1)\) 할인 인자 (Discount Factor) 미래 보상의 현재 가치 할인율

마르코프 성질 (Markov Property): 미래 상태는 현재 상태와 행동에만 의존하고 과거 이력에 무관하다.

\[P(s_{t+1} \mid s_t, a_t, s_{t-1}, a_{t-1}, \ldots) = P(s_{t+1} \mid s_t, a_t)\]

실제 환경에서는 상태가 완전히 관측되지 않는 경우가 많다. 이를 부분 관측 MDP (POMDP, Partially Observable MDP)라 하며, 관측 (Observation) \(o_t\)를 통해 상태를 추정해야 한다.

2. 가치 함수 (Value Functions)

상태 가치 함수 (State Value Function)는 정책 \(\pi\) 아래에서 상태 \(s\)의 기대 누적 보상이다:

\[V^\pi(s) = \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t R_t \mid s_0 = s \right]\]

행동 가치 함수 (Action Value Function)는 상태 \(s\)에서 행동 \(a\)를 취한 뒤의 기대 누적 보상이다:

\[Q^\pi(s, a) = \mathbb{E}_\pi \left[ \sum_{t=0}^{\infty} \gamma^t R_t \mid s_0 = s, a_0 = a \right]\]

벨만 방정식 (Bellman Equation)은 가치 함수의 재귀적 관계를 나타낸다:

\[V^\pi(s) = \sum_a \pi(a|s) \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma V^\pi(s') \right]\]

벨만 최적 방정식 (Bellman Optimality Equation):

\[Q^*(s, a) = \sum_{s'} P(s'|s,a) \left[ R(s,a,s') + \gamma \max_{a'} Q^*(s', a') \right]\]

이점 함수 (Advantage Function)는 특정 행동이 평균 대비 얼마나 나은지를 나타낸다:

\[A^\pi(s, a) = Q^\pi(s, a) - V^\pi(s)\]

여기서 \(A^\pi > 0\)이면 평균 이상, \(A^\pi < 0\)이면 평균 이하의 행동이다. 이점 함수는 정책 경사법에서 분산을 줄이는 데 핵심적인 역할을 한다.

3. 정책 (Policy)

정책 \(\pi\)는 상태에서 행동으로의 매핑이다:

  • 확률적 정책 (Stochastic Policy): \(\pi(a|s) = P(a|s)\) — 각 행동의 확률 분포를 출력
  • 결정적 정책 (Deterministic Policy): \(a = \mu(s)\) — 하나의 행동을 직접 출력

정책의 표현 방식:

표현 방식 설명 적용 범위
표 기반 (Tabular) 각 상태-행동 쌍에 대한 값을 저장 이산적, 소규모 상태 공간
함수 근사 (Function Approximation) 신경망 등으로 정책을 근사 연속적, 대규모 상태 공간

4. 탐색-활용 (Exploration-Exploitation)

전략 방식 특징
\(\epsilon\)-탐욕 (\(\epsilon\)-greedy) 확률 \(\epsilon\)으로 무작위 행동 단순하지만 비효율적 탐색
볼츠만 탐색 (Boltzmann) \(Q\) 값에 비례한 소프트맥스 확률 가치 차이를 반영
UCB (Upper Confidence Bound) 불확실성 보너스 추가 이론적 보장이 있음
호기심 기반 (Curiosity-driven) 예측 오차가 큰 상태를 보상 희소 보상 환경에 효과적
Thompson 샘플링 사후 분포에서 샘플링 베이지안 접근, 효율적 탐색

상세 내용

RL 알고리즘 분류

graph TD
    RL["강화학습 알고리즘"]
    RL --> MF["모델-프리 (Model-Free)"]
    RL --> MB["모델-기반 (Model-Based)"]

    MF --> VB["가치 기반<br/>(Value-Based)"]
    MF --> PB["정책 기반<br/>(Policy-Based)"]
    MF --> AC["액터-크리틱<br/>(Actor-Critic)"]

    VB --> QL["Q-Learning"]
    VB --> DQN["DQN"]
    VB --> DDQN["Double DQN"]
    VB --> DuelDQN["Dueling DQN"]

    PB --> RF["REINFORCE"]
    PB --> TRPO["TRPO"]
    PB --> PPO["PPO"]

    AC --> A2C["A2C / A3C"]
    AC --> SAC["SAC"]
    AC --> TD3["TD3"]

    MB --> WM["World Models"]
    MB --> MZ["MuZero"]
    MB --> DR["Dreamer"]

1. 가치 기반 방법 (Value-Based Methods)

Q-Learning

Q-Learning은 대표적인 오프-정책 (Off-policy) 알고리즘으로, 최적 행동 가치 함수 \(Q^*\)를 직접 학습한다:

\[Q(s_t, a_t) \leftarrow Q(s_t, a_t) + \alpha \left[ r_t + \gamma \max_{a'} Q(s_{t+1}, a') - Q(s_t, a_t) \right]\]

여기서 \(\alpha\)는 학습률 (Learning Rate), \(r_t\)는 즉각적 보상이다.

구분 온-정책 (On-policy) 오프-정책 (Off-policy)
대표 알고리즘 SARSA Q-Learning
업데이트 대상 실제 행동한 정책 최적 정책 (탐욕적)
탐색 학습과 동일한 정책 별도 행동 정책 가능
데이터 효율성 낮음 (재사용 어려움) 높음 (경험 재사용 가능)
안정성 높음 상대적으로 낮음

DQN (Deep Q-Network)

DQN은 Q 테이블 대신 심층 신경망으로 \(Q(s, a; \theta)\)를 근사한다. 두 가지 핵심 기법이 학습을 안정화한다:

  1. 경험 재생 (Experience Replay): 전이 \((s, a, r, s')\)를 버퍼에 저장하고 무작위 샘플링 → 데이터 상관성 제거
  2. 타겟 네트워크 (Target Network): 느리게 업데이트되는 별도 네트워크 \(\theta^-\)로 타겟 값 계산 → 학습 불안정 방지
\[L(\theta) = \mathbb{E}\left[ \left( r + \gamma \max_{a'} Q(s', a'; \theta^-) - Q(s, a; \theta) \right)^2 \right]\]

Double DQN

표준 DQN은 \(\max\) 연산자로 인해 Q 값을 과대추정 (Maximization Bias) 하는 경향이 있다. Double DQN은 행동 선택과 평가를 분리하여 이를 완화한다:

\[Y = r + \gamma Q(s', \argmax_{a'} Q(s', a'; \theta); \theta^-)\]

여기서 행동 선택은 현재 네트워크 \(\theta\)가, 가치 평가는 타겟 네트워크 \(\theta^-\)가 담당한다.

Dueling DQN

Q 값을 상태 가치 \(V(s)\)와 이점 \(A(s, a)\)로 분해한다:

\[Q(s, a; \theta, \alpha, \beta) = V(s; \theta, \beta) + \left( A(s, a; \theta, \alpha) - \frac{1}{|A|}\sum_{a'} A(s, a'; \theta, \alpha) \right)\]

행동에 무관하게 상태의 가치를 평가하는 능력이 생겨, 관련 없는 행동이 많은 환경에서 학습 효율이 향상된다.

2. 정책 기반 방법 (Policy-Based Methods)

정책 경사 정리 (Policy Gradient Theorem)

정책을 파라미터 \(\theta\)로 직접 표현하고, 기대 보상 \(J(\theta)\)를 최대화한다:

\[\nabla_\theta J(\theta) = \mathbb{E}_\pi \left[ \nabla_\theta \log \pi_\theta(a|s) \cdot Q^\pi(s, a) \right]\]

REINFORCE with Baseline

REINFORCE는 몬테카를로 (Monte Carlo) 리턴 \(G_t\)를 사용하는 가장 기본적인 정책 경사 알고리즘이다. 기준선 (Baseline) \(b(s)\)를 빼서 분산을 줄인다:

\[\nabla_\theta J(\theta) \approx \frac{1}{N} \sum_{t} \nabla_\theta \log \pi_\theta(a_t|s_t) \cdot (G_t - b(s_t))\]

\(b(s)\)로는 보통 \(V^\pi(s)\)의 추정치를 사용한다.

TRPO (Trust Region Policy Optimization)

정책 업데이트가 너무 크면 성능이 급격히 하락할 수 있다. TRPO는 KL 발산 (KL Divergence)으로 업데이트 폭을 제한한다:

\[\max_\theta \; \mathbb{E}\left[ \frac{\pi_\theta(a|s)}{\pi_{\theta_\text{old}}(a|s)} A^{\pi_\text{old}}(s, a) \right] \quad \text{s.t.} \; \mathbb{E}\left[ D_\text{KL}(\pi_{\theta_\text{old}} \| \pi_\theta) \right] \leq \delta\]

PPO (Proximal Policy Optimization)

PPO는 TRPO의 아이디어를 클리핑으로 단순화하여 구현이 훨씬 쉽다:

\[L^{\text{CLIP}}(\theta) = \mathbb{E}\left[ \min\left( r_t(\theta) A_t, \; \text{clip}(r_t(\theta), 1-\epsilon, 1+\epsilon) A_t \right) \right]\]

여기서 \(r_t(\theta) = \frac{\pi_\theta(a_t|s_t)}{\pi_{\theta_\text{old}}(a_t|s_t)}\)는 확률 비율, \(\epsilon\)은 클리핑 범위 (보통 0.1~0.2)이다. PPO는 현재 가장 널리 쓰이는 정책 경사 알고리즘이다.

3. 액터-크리틱 (Actor-Critic)

정책 기반과 가치 기반의 장점을 결합한다:

  • 액터 (Actor): 정책 \(\pi_\theta(a|s)\)를 학습 — "어떤 행동을 할 것인가"
  • 크리틱 (Critic): 가치 함수 \(V_\phi(s)\) 또는 \(Q_\phi(s,a)\)를 학습 — "그 행동이 얼마나 좋은가"
알고리즘 핵심 아이디어 특징
A2C 동기식 이점 액터-크리틱 안정적, 병렬화 용이
A3C 비동기식 병렬 학습 여러 워커가 독립적으로 학습
SAC 최대 엔트로피 RL: \(J = \sum \mathbb{E}[r + \alpha \mathcal{H}(\pi)]\) 탐색 자동 조절, 연속 행동
TD3 Twin Critic + 지연 업데이트 Q 과대추정 해결, DDPG 개선

SAC는 보상뿐 아니라 정책의 엔트로피 (Entropy)도 최대화하여 탐색과 활용의 균형을 자동으로 조절한다. 연속 행동 공간에서 현재 가장 강력한 알고리즘 중 하나이다.

4. 모델 기반 RL (Model-Based RL)

환경의 전이 함수 \(P(s'|s,a)\)를 학습하여 시뮬레이션으로 계획을 세운다.

알고리즘 접근 방식 장점 단점
World Models VAE + RNN으로 환경 모델 학습 잠재 공간에서 계획 가능 모델 오차 누적
MuZero 관측→표현→동역학→예측 환경 규칙 없이 학습 계산 비용 높음
Dreamer 잠재 공간에서 상상 (Imagination) 데이터 효율 높음 복잡한 환경에서 모델 부정확

모델 기반 RL은 데이터 효율성이 높지만, 학습된 모델의 오차가 누적되는 복합 오류 (Compounding Error) 문제가 있다.

5. 오프라인 RL (Offline RL)

사전 수집된 고정 데이터셋만으로 학습하며, 환경과 추가 상호작용 없이 정책을 개선한다. 의료, 자율주행 등 온라인 탐색이 위험하거나 비용이 큰 환경에서 핵심적이다.

가장 큰 도전은 분포 이탈 (Distribution Shift): 학습 정책이 데이터 수집 정책과 달라지면 방문하지 않은 상태-행동 쌍에 대한 Q 값이 과대추정된다.

알고리즘 접근 전략 핵심 아이디어
CQL 보수적 가치 추정 OOD 행동의 Q 값에 페널티 부여
IQL 암묵적 Q-Learning 데이터 내 최고 행동만 학습
BCQ 행동 제한 데이터 분포 밖의 행동 억제
Decision Transformer 시퀀스 모델링으로 RL 보상-상태-행동 시퀀스를 Transformer로 예측

Decision Transformer는 RL을 시퀀스 예측 문제로 재정의하여, Transformer 아키텍처의 강점을 활용한다.

6. 멀티에이전트 RL (Multi-Agent RL, MARL)

여러 에이전트가 동시에 환경에서 상호작용하는 설정이다.

유형 설명 예시
협력적 (Cooperative) 공동 목표 최대화 로봇 팀 조율, StarCraft
경쟁적 (Competitive) 제로섬 게임 바둑, 포커
혼합 (Mixed) 협력과 경쟁이 공존 자율주행 교통, 경매

핵심 과제는 비정상성 (Non-stationarity)이다: 다른 에이전트의 정책이 변하므로 환경 자체가 변한다. MAPPO (Multi-Agent PPO)는 중앙 집중 크리틱 (Centralized Critic) + 분산 실행 (Decentralized Execution) 패러다임으로 이를 완화한다.

7. RLHF (Reinforcement Learning from Human Feedback)

RLHF는 대규모 언어 모델 (LLM)을 인간의 선호도에 맞게 정렬 (Alignment)하는 기법으로, 현재 LLM 학습의 핵심 단계이다.

graph LR
    S1["1단계: SFT<br/>지도 미세조정"]
    S2["2단계: RM<br/>보상 모델 학습"]
    S3["3단계: PPO<br/>강화학습 최적화"]

    S1 --> S2 --> S3

    S1 -.- D1["인간 작성 데이터로<br/>언어 모델 미세조정"]
    S2 -.- D2["인간 선호 비교 데이터로<br/>보상 모델 훈련"]
    S3 -.- D3["보상 모델의 피드백으로<br/>PPO를 통해 정책 최적화"]

보상 모델 손실 함수 — 인간이 응답 \(y_w\)\(y_l\)보다 선호한 쌍에 대해:

\[\mathcal{L}_\text{RM}(\phi) = -\mathbb{E}_{(x, y_w, y_l)} \left[ \log \sigma\left( r_\phi(x, y_w) - r_\phi(x, y_l) \right) \right]\]

여기서 \(r_\phi\)는 보상 모델, \(\sigma\)는 시그모이드 함수이다.

PPO 단계의 KL 페널티 — 미세조정된 모델이 원래 모델에서 너무 벗어나지 않도록:

\[J(\theta) = \mathbb{E}_{x, y \sim \pi_\theta} \left[ r_\phi(x, y) - \beta \, D_\text{KL}\left( \pi_\theta(y|x) \| \pi_\text{ref}(y|x) \right) \right]\]

여기서 \(\pi_\text{ref}\)는 SFT 모델, \(\beta\)는 KL 페널티 계수이다.

DPO (Direct Preference Optimization)는 보상 모델 학습 없이 선호 데이터에서 정책을 직접 최적화하는 대안이다:

\[\mathcal{L}_\text{DPO}(\theta) = -\mathbb{E}_{(x, y_w, y_l)} \left[ \log \sigma\left( \beta \log \frac{\pi_\theta(y_w|x)}{\pi_\text{ref}(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_\text{ref}(y_l|x)} \right) \right]\]

DPO는 PPO 파이프라인의 복잡성을 제거하면서도 이론적으로 동일한 최적 정책에 수렴한다.


에이전트-환경 상호작용

sequenceDiagram
    participant Agent as 에이전트 (Agent)
    participant Env as 환경 (Environment)

    Agent->>Env: 행동 a_t 선택
    Env-->>Agent: 보상 r_t, 다음 상태 s_{t+1}
    Agent->>Agent: 정책/가치 함수 업데이트
    Agent->>Env: 행동 a_{t+1} 선택
    Env-->>Agent: 보상 r_{t+1}, 다음 상태 s_{t+2}
    Note over Agent, Env: 종료 조건까지 반복

언제 사용하는가 / 언제 피하는가

사용이 적합한 경우

응용 분야 RL의 역할 대표 사례
게임 AI 전략 학습 AlphaGo, OpenAI Five, AlphaStar
로봇 제어 운동 정책 학습 보행, 매니퓰레이션
LLM 정렬 인간 선호 반영 ChatGPT (RLHF), Claude
추천 시스템 장기 사용자 만족 최적화 세션 기반 추천
자원 최적화 순차적 의사결정 데이터센터 냉각, 네트워크 라우팅

피해야 하는 경우

상황 이유 대안
시뮬레이터 없음 탐색 비용이 현실에서는 감당 불가 오프라인 RL, 모방 학습
안전 최우선 환경 탐색 중 위험한 행동 가능 제약 조건 RL, 규칙 기반
풍부한 레이블 존재 지도학습이 훨씬 효율적 지도학습
보상 설계 어려움 잘못된 보상 → 의도치 않은 행동 모방 학습, 역강화학습
단일 결정 문제 순차적 구조 없음 분류/회귀

흔한 오해와 함정

오해 1: "RL은 게임에만 쓰인다"

RL은 게임에서 유명해졌지만, RLHF를 통한 LLM 정렬, 로봇 제어, 칩 설계 (구글의 칩 배치 최적화), 에너지 관리 등 다양한 실무 영역에서 활용된다.

오해 2: "보상 함수 설계는 쉽다"

보상 해킹 (Reward Hacking)은 RL의 가장 위험한 문제 중 하나이다. 에이전트가 의도한 목표가 아닌 보상을 극대화하는 허점을 찾아낸다. 예: 청소 로봇이 쓰레기를 감추거나, 보트 레이싱 에이전트가 원을 그리며 보너스만 수집.

오해 3: "DQN이면 충분하다"

DQN은 이산 행동 공간에만 적용 가능하고, 연속 행동 공간에서는 SAC나 PPO가 필요하다. 또한 표본 효율성이 낮아 복잡한 환경에서는 수억 프레임의 학습이 필요할 수 있다.

오해 4: "더 오래 학습하면 항상 좋아진다"

정책 붕괴 (Policy Collapse)가 발생할 수 있다. 학습 중 성능이 갑자기 급락하고 회복되지 않는 현상으로, 특히 정책 경사법에서 빈번하다. 체크포인팅과 조기 종료가 필수적이다.

오해 5: "시뮬레이션에서 되면 현실에서도 된다"

시뮬-실제 격차 (Sim-to-Real Gap)는 물리 엔진의 부정확성, 센서 노이즈, 지연 등으로 발생한다. 도메인 무작위화 (Domain Randomization), 점진적 전이 (Progressive Transfer) 등의 기법이 필요하다.

실무 함정 요약

함정 증상 대응
보상 해킹 보상은 높지만 의도된 행동이 아님 보상 함수 재설계, 제약 조건 추가
표본 비효율 수억 스텝에도 학습 부진 모델 기반 RL, 경험 재생 개선
과대추정 편향 Q 값이 비현실적으로 높음 Double DQN, Clipped Double Q
하이퍼파라미터 민감도 약간의 변경에 성능 급변 체계적 튜닝, 강건한 알고리즘 (PPO)
재현성 부족 동일 설정에서 결과 큰 차이 다수 시드 실험, 신뢰구간 보고

다른 주제와의 연결

graph TD
    RL["강화학습"]

    RL --> GD["경사 하강법<br/>정책 경사 업데이트"]
    RL --> LF["손실 함수<br/>보상 모델, PPO 목적 함수"]
    RL --> NN["신경망 기초<br/>함수 근사기"]
    RL --> BP["역전파<br/>정책/가치 네트워크 학습"]
    RL --> TF["Transformer<br/>Decision Transformer, RLHF"]
    RL --> TL["전이 학습<br/>사전학습 → 미세조정 → RLHF"]
    RL --> LLM["LLM<br/>RLHF 정렬"]
    RL --> OF["과적합<br/>과대추정, 정책 붕괴"]

    click GD "../04-optimization/01-gradient-descent-variants.md"
    click LF "../04-optimization/03-loss-functions.md"
    click NN "../05-deep-learning/01-neural-network-basics.md"
    click BP "../05-deep-learning/03-backpropagation.md"
    click TF "../05-deep-learning/09-transformer.md"
    click TL "../05-deep-learning/10-transfer-learning.md"
    click LLM "../08-modern-topics/01-large-language-models.md"
    click OF "../03-learning-theory/06-overfitting-underfitting.md"
  • 경사 하강법: 정책 경사법은 경사 하강법의 특수한 형태이다. Adam 등의 최적화 기법이 동일하게 적용된다.
  • 손실 함수: 보상 모델 학습의 손실 함수, PPO의 클리핑 목적 함수 등이 밀접하게 관련된다.
  • 신경망 기초: DQN, PPO 등 거의 모든 현대 RL 알고리즘은 심층 신경망을 함수 근사기로 사용한다.
  • 역전파: 정책 네트워크와 가치 네트워크 모두 역전파로 학습한다.
  • Transformer: Decision Transformer, RLHF에서 핵심 아키텍처이다.
  • 전이 학습: LLM의 사전학습 → SFT → RLHF는 전이 학습의 확장이다.
  • LLM: RLHF/DPO는 현대 LLM 학습 파이프라인의 핵심 단계이다.
  • 과적합과 과소적합: Q 값 과대추정, 정책 붕괴 등은 과적합의 RL 버전이다.

참고 문헌

  • Sutton & Barto, Reinforcement Learning: An Introduction (2nd ed., 2018) — RL의 표준 교과서
  • Mnih et al., "Playing Atari with Deep Reinforcement Learning" (2013) — DQN
  • Schulman et al., "Proximal Policy Optimization Algorithms" (2017) — PPO
  • Ouyang et al., "Training language models to follow instructions with human feedback" (2022) — InstructGPT/RLHF
  • Rafailov et al., "Direct Preference Optimization" (2023) — DPO