Section 01시행착오의 학습
RAG와 지식 그래프는 모델에게 외부 메모리를 주었다. 하지만 LLM은 여전히 실제 세계에 대한 이해가 제한적이다 — 상식 추론, 공간 관계에서 특히. 인간은 탐색하며 배운다.
블록을 쌓거나 자전거 타는 법을 배우는 아이를 생각하라. 각 움직임을 가르치는 교사는 없다. 아이는 행동하고, 결과를 관찰하고, 조정하며 배운다. 강화학습(RL)은 시스템이 누적 보상을 최대화하려고 결정을 내려야 하는 기계학습의 한 분야다. 지도학습(라벨)과 달리, RL에서 모델은 경험에서 배운다.
에이전트 — 학습자·의사결정자. 환경 — 에이전트가 상호작용하는 모든 것. 상태(S) — 특정 시간 환경의 구성. 행동(A) — 에이전트가 할 수 있는 결정.
정책(π) — 상태를 행동으로 매핑하는 규칙. RL의 핵심이다. 보상(R) — 환경이 주는 긍정/부정 신호. 가치 함수 — 장기적으로 그 상태가 얼마나 좋은지.
다중 팔 강도 문제
k-팔 강도(k-armed bandit)는 RL의 가장 고전적 예제다. n개의 레버를 가진 슬롯머신, 각 레버는 고유한 성공 확률을 가진다. 목표는 어떤 레버가 최고 보상을 주는지 알아내 보상 총합을 최대화하는 것이다. 행동의 진짜 가치 q*(a)를 모르므로 추정치 Q를 계산한다.
ε-탐욕(ε-greedy) 방법은 거의 항상 추정 가치가 가장 높은 행동(탐욕적 행동)을 고르되, 확률 ε로 무작위 행동을 시도한다. 순수 탐욕 방법은 차선책이다 — 탐험을 허용하는 방법이 80%의 시간에 최적 선택을 하는 반면, 순수 탐욕은 1/3에 그친다. UCB(상한 신뢰도)는 무작위 대신 최적성 가능성과 불확실성에 따라 비탐욕 행동을 고른다.
Section 02마르코프 결정 과정
다중 팔 강도는 즉각적 보상만 본다. 하지만 체스에서 목표는 말을 먹는 게 아니라 게임을 이기는 것이다. 마르코프 결정 과정(MDP)은 행동이 즉각적 보상뿐 아니라 미래 결과에도 영향을 미치는 문제다.
미로를 탐색한다고 하자. 각 교차점이 상태, 각 회전이 행동이다. 어떤 경로는 출구에 가까워지지만, 어떤 경로는 원을 그리거나 막다른 곳으로 간다. 보상은 즉각적이지 않다 — 끝에 도달해야 받는다.
MDP의 핵심은 마르코프 속성이다 — 각 상태는 미래를 예측하는 데 필요한 모든 정보를 담는다. 에이전트 목표는 즉각적 이득이 아니라 장기 누적 보상을 최대화하는 것이다.
벨만 방정식
가치 함수를 효율적으로 계산하기 위해 재귀 형식으로 다시 쓴 것이 벨만 방정식(Bellman equation)이다. 현재 상태의 가치를 다음 상태의 가치로 표현한다 — 정책에 따라 행동을 고르고, 확률로 보상을 받으며, 그 확률들을 가중 평균한다. 수많은 훌륭한 RL 알고리즘의 기초다.
Section 03심층 강화학습
고전 RL은 정책·가치 함수를 단순 함수로 표현한다 — 저차원 공간에는 잘 맞지만 복잡한 환경에서는 일반화에 실패한다. 심층 강화학습(Deep RL)은 정책과 가치 함수를 신경망으로 표현한다. 신경망은 범용 근사 정리에 따라 어떤 복잡한 함수도 표현할 수 있다.
| 알고리즘 | 유형 | 핵심 |
|---|---|---|
| DQN | 가치 기반 · 오프-정책 | Q-함수를 신경망으로, 경험 재생 + 목표 네트워크 |
| REINFORCE | 정책 기반 · 온-정책 | 정책을 직접 학습, 궤적 보상으로 가중치 갱신 |
| PPO | 정책 기반 · 온-정책 | 클리핑된 목적 함수로 안정적 업데이트 |
| 액터-비평가 | 혼합 | 액터가 정책을, 비평가가 가치 함수를 학습 |
| AlphaZero | 모델 기반 | 심층학습 + MCTS, 자기 대전 |
DeepMind가 Atari 게임을 푸는 데 쓴 알고리즘. 세 구성 요소 — Q-네트워크(상태-행동 가치 예측), 목표 네트워크(안정적 목표 Q-값 생성, 주기적으로만 갱신), 경험 재생(과거 경험을 버퍼에 저장해 무작위 배치로 학습 — 연속 경험의 상관을 끊어 안정화).
for episode in episodes: state = env.reset() while not done: action = epsilon_greedy(Q_net, state) # 탐험/활용 next_s, reward, done = env.step(action) replay.add(state, action, reward, next_s) # 경험 저장 batch = replay.sample() # 무작위 배치 target = reward + γ · max(target_net(next_s)) loss = (Q_net(state)[action] - target)² update(Q_net, loss) # 역전파 if step % C == 0: target_net = copy(Q_net) # 동기화
정책 기반 방법 — REINFORCE에서 PPO로
REINFORCE는 정책을 직접 학습한다. 무작위 정책으로 시작해 궤적(상태·행동의 연속)을 생성하고, 높은 보상을 모은 궤적은 더 자주 나오게, 낮은 보상은 덜 나오게 가중치를 갱신한다. 개념적으로 단순하지만 정책 업데이트의 분산이 크다.
PPO(Proximal Policy Optimization)는 가장 널리 쓰이는 RL 알고리즘이다. REINFORCE의 단순함과 TRPO의 안정성을 균형 잡는다. 핵심 혁신은 클리핑된 목적 함수 — 새 정책과 이전 정책의 확률 비율이 [1−ε, 1+ε] 범위(예: ε=0.2)를 벗어나면 업데이트를 잘라낸다. 정책이 한 번의 업데이트로 너무 멀리 발산하는 것을 막는다. 3장에서 본 RLHF가 PPO를 쓰는 이유다.
액터-비평가는 두 방법의 강점을 결합한다 — 액터가 정책을 결정하고, 비평가가 시간차(TD) 오류로 그 행동을 평가해 피드백한다.
Section 04AlphaZero와 MCTS
AlphaZero는 인간의 전문성이나 수작업 규칙 없이 체스·쇼기·바둑을 마스터했다. 비결은 심층학습과 몬테카를로 트리 탐색의 결합이다.
AlphaZero는 전적으로 자기 대전(self-play)으로 배운다. 게임 규칙 외에는 아무 선행 지식 없이 시작해, 자신과 수백만 게임을 하며 시행착오로 좋고 나쁜 수를 점진적으로 이해한다. 이 접근법은 인간 게임 분석으로 얻을 수 있는 것보다 훨씬 많은 훈련 데이터를 만들어낸다.
신경망은 두 출력을 낸다 — 정책 헤드(가능한 수에 대한 확률 분포)와 가치 헤드(현재 위치에서 이길 확률). 그리고 MCTS(Monte Carlo Tree Search)로 여러 수 앞을 계획한다.
① 선택(Selection) — 루트 노드에서 시작해, 탐색과 활용을 균형 잡는 UCT 공식으로 자식 노드를 따라 내려간다.
② 확장(Expansion) — 선택된 노드가 끝 상태가 아니면, 가능한 행동을 나타내는 자식 노드를 하나 이상 추가한다.
③ 시뮬레이션(Rollout) — 새 노드에서 간단·무작위 정책으로 게임을 끝까지 진행한다. 결과(승·패·무)가 보상이다.
④ 역전파(Backpropagation) — 시뮬레이션 보상을 루트까지 경로를 따라 거슬러 올려, 각 노드의 평균 보상·방문 수를 갱신한다.
Section 05LLM과 RL의 만남
RL과 LLM은 오랫동안 병렬로 발전했지만, 최근 점점 교차한다. 상호작용은 세 경우로 나뉜다.
- RL이 LLM을 강화 — RL로 NLP 작업에서 LLM 성능을 높인다. RLHF가 대표 — 3장에서 본 정렬이다. PPO가 주로 쓰인다 — 정렬된 모델이 원본에서 크게 벗어나지 않게 보장하기 때문이다. 프롬프트 최적화도 RL 문제로 표현된다.
- LLM이 RL을 강화 — LLM의 추론·계획·다중 양식 처리 능력으로 RL 에이전트를 지원한다.
- RL과 LLM의 결합 — 둘 다 다른 쪽을 학습시키지 않고, 기술 세트를 계획하기 위해 결합한다.
| 역할 | 하는 일 |
|---|---|
| 정보 처리자 | 특성 추출, 자연어를 형식 언어로 번역, 환경의 압축 표현 추출 |
| 보상 설계자 | 작업 설명 기반으로 보상 생성 — 직접 평가하거나 보상 함수 코드 생성 |
| 의사결정자 | 행동 집합 축소, 시퀀스 모델링으로 행동 선택 |
| 생성자 | 세계 모델 시뮬레이터로 궤적 생성, 정책을 자연어로 설명(XRL) |