강화학습 입문 (Sutton · Barto, 2판)
슬롯머신 · MDP · 벨만 방정식 · 가치 반복을 3칸 격자 손계산으로 배우는 강화학습 첫 수업
먼저 알아야 할 것
다루는 내용
Sutton · Barto 『강화학습 입문』 2판 1~4장의 핵심을 직접 해설하는 수업입니다. 에이전트 · 환경 · 보상의 틀, ε-탐욕과 증분 평균 갱신, MDP와 할인된 반환, 가치 함수와 벨만 기대 · 최적 방정식을 다룹니다. 3칸 격자에서 정책 평가 · 정책 개선 · 가치 반복을 손으로 풀고 연습 문제로 확인합니다.
해설
강화학습 입문 수업: 보상 · MDP · 벨만 방정식 (Sutton · Barto, 2판 기반)
강화학습의 표준 교과서인 Sutton · Barto 『강화학습 입문』 2판의 1~4장 핵심을 이 페이지 안에서 직접 배웁니다. 슬롯머신 문제로 '탐험과 활용'을 익히고, 마르코프 결정 과정(MDP) · 할인된 반환 · 가치 함수 · 벨만 방정식을 거쳐, 3칸짜리 격자에서 정책 반복과 가치 반복을 손으로 계산해 봅니다.
| 항목 | 내용 |
|---|---|
| 출처 | Reinforcement Learning: An Introduction (2nd ed.) · Richard S. Sutton · Andrew G. Barto · 2018 · MIT Press · 저자 공개 페이지 |
| 트랙 · 수준 | 강화학습 · 기초 |
| 이 수업이 다루는 범위 | 책 1장(강화학습의 틀), 2장(다중 슬롯머신), 3장(유한 MDP), 4장(동적 계획법)의 핵심 개념. 본문은 원문 번역이 아니라 이 사이트가 직접 쓴 해설이며, 숫자 예는 모두 설명용입니다 |
| 먼저 알면 좋은 것 | 확률 · 기댓값, 조건부 확률, 합 기호 읽기 |
들어가기 전에
- 확률과 통계 최소한: 기댓값 · 분산 · 조건부 확률 · 베이즈 정리 — 강화학습의 모든 식은 "앞으로 받을 보상의 기댓값"입니다. 기댓값과 조건부 확률 를 읽을 수 있으면 충분합니다.
한눈에 보기
- 강화학습(Reinforcement Learning)이 "정답 대신 보상만 보고 행동 규칙을 고치는 학습"이라는 것을 에이전트 · 환경 · 보상의 틀로 설명할 수 있게 됩니다.
- 슬롯머신 문제에서 탐험(exploration)과 활용(exploitation)의 균형, ε-탐욕 규칙, 평균을 한 번에 갱신하는 식을 직접 계산합니다.
- 할인된 반환 , 가치 함수 · , 벨만 기대 방정식 · 벨만 최적 방정식의 뜻을 기호 하나하나 이해합니다.
- 3칸 격자 예제에서 정책 평가 → 정책 개선 → 가치 반복을 손으로 끝까지 풀어 봅니다.
- 이 개념들이 다음 수업(Q-러닝 · 정책 경사)과 DQN · PPO 논문의 출발점이라는 것을 압니다.
1. 강화학습의 틀: 에이전트 · 환경 · 보상
직관(해설용 비유): 강아지에게 "앉아"를 가르칠 때 정답 동작을 보여 주지 않고, 잘하면 간식을 줍니다. 강아지는 간식이 나오는 행동을 점점 더 자주 하게 됩니다. 강화학습은 이 방식을 수학으로 옮긴 것입니다.
단계:
- 에이전트(agent)가 지금 상황, 즉 상태(state) 를 봅니다.
- 정책(policy)에 따라 행동(action) 를 고릅니다.
- 환경(environment)이 보상(reward) 과 다음 상태 을 돌려줍니다.
- 에이전트는 이 경험으로 정책을 고치고, 1로 돌아갑니다.
지도 학습과의 차이는 두 가지입니다. 첫째, "이 상태에서는 이 행동이 정답"이라는 표시가 없습니다. 보상이라는 점수만 옵니다. 둘째, 보상이 늦게 올 수 있습니다. 바둑에서 50수 전의 한 수가 승패를 갈랐더라도 보상은 대국이 끝나야 옵니다. 이것을 신용 할당(credit assignment) 문제라고 부릅니다.
책 1장은 이 틀을 정책 · 보상 신호 · 가치 함수 · (선택적으로) 환경 모델의 네 요소로 정리합니다. 보상은 "지금 당장 좋은 것", 가치(value)는 "앞으로 오래 보았을 때 좋은 것"이라는 구분이 이 책 전체를 꿰는 생각입니다.
flowchart LR
S[상태 S_t 관찰] --> P[정책으로 행동 A_t 선택]
P --> E[환경: 보상 R_t+1 · 다음 상태 S_t+1]
E --> U[가치 · 정책 갱신]
U --> S2. 다중 슬롯머신: 탐험과 활용
직관: 동네 식당이 세 곳 있습니다. 가장 맛있었던 곳만 계속 가면(활용) 더 좋은 식당을 놓칠 수 있고, 매번 새 곳을 가면(탐험) 맛없는 밥을 자주 먹습니다. 책 2장은 이 고민을 손잡이가 개인 슬롯머신(k-armed bandit)으로 다룹니다. 상태가 하나뿐인, 가장 단순한 강화학습 문제입니다.
단계:
- 손잡이마다 지금까지 받은 보상의 평균 를 적어 둡니다(가치 추정).
- 확률 으로는 평균이 가장 큰 손잡이를 당기고, 확률 으로는 아무 손잡이나 무작위로 당깁니다(ε-탐욕).
- 보상을 받으면 그 손잡이의 평균을 갱신합니다.
평균을 매번 처음부터 다시 계산하지 않고, 새 보상 하나로 갱신하는 식이 있습니다.
| 기호 | 뜻 |
|---|---|
| 어떤 손잡이를 번 당긴 뒤의 평균 보상 추정 | |
| 그 손잡이를 번째 당겨 받은 보상 | |
| 걸음 크기(step size). 횟수가 늘수록 새 보상의 영향이 작아집니다 | |
| 오차: "실제로 받은 것 − 기대했던 것" | |
| 무작위로 탐험할 확률 |
책은 이 꼴을 "새 추정 ← 옛 추정 + 걸음 크기 × (목표 − 옛 추정)"이라는 일반 규칙으로 부르며, 이후 모든 장에서 같은 모양이 되풀이됩니다. 다음 수업의 TD 학습과 Q-러닝도 정확히 이 꼴입니다.
숫자로 해 보기(해설용): 손잡이 A를 세 번 당겨 보상 2, 4, 3을 받았다고 합시다. 처음 추정은 입니다.
- 1번째:
- 2번째:
- 3번째:
세 보상의 평균 과 같습니다. 저장할 것은 평균 하나와 횟수 하나뿐입니다.
ε-탐욕에서 손잡이가 개이고 이면, 가장 좋은 손잡이를 고를 확률은 "탐욕으로 고를 0.9 + 무작위로 우연히 고를 " 입니다.
왜 이렇게 하나: 늘 탐욕적으로만 고르면 처음에 운 나쁘게 낮게 나온 손잡이를 다시는 시도하지 않습니다. 작은 확률로라도 탐험하면 모든 손잡이가 결국 충분히 시도되어 추정이 정확해집니다. 보상 분포가 시간에 따라 바뀌는 문제에서는 대신 고정된 걸음 크기 를 써서 최근 보상에 더 무게를 둡니다(책 2.5절).
3. 마르코프 결정 과정(MDP)과 할인된 반환
직관: 슬롯머신과 달리 실제 문제에서는 행동이 다음 상황을 바꿉니다. 체스에서 한 수를 두면 판이 바뀌고, 그 판에서 다시 둘 수가 정해집니다. 이 구조를 적은 것이 마르코프 결정 과정(Markov Decision Process, MDP)입니다.
단계:
- 상태 집합, 행동 집합, 보상 값을 정합니다.
- "상태 에서 행동 를 하면 다음 상태 와 보상 이 나올 확률" 를 정합니다. 이것이 환경의 규칙(동역학)입니다.
- 마르코프 성질: 다음 일은 지금 상태와 행동에만 달려 있고, 그 전의 역사는 상관없다고 가정합니다.
- 에이전트의 목표는 앞으로 받을 보상의 합을 크게 하는 것입니다.
보상의 합은 미래를 조금씩 깎아서 더합니다. 이것을 할인된 반환(discounted return)이라 합니다.
| 기호 | 뜻 |
|---|---|
| 시점 이후 받을 보상의 할인된 합(반환) | |
| 시점 의 행동 직후 받는 보상 | |
| 할인율, . 0이면 당장 보상만, 1에 가까우면 먼 미래까지 중시 | |
| 환경의 동역학. 책 2판이 쓰는 표기입니다 |
책은 확률변수를 대문자(), 그 값을 소문자()로 구분합니다. 이 표기를 알아 두면 DQN · PPO 논문의 식이 훨씬 잘 읽힙니다.
숫자로 해 보기(해설용): 보상이 , , 이고 거기서 끝나며, 라고 합시다.
- 정의대로:
- 뒤에서부터 재귀로: , ,
두 방법이 같습니다. 마지막 등식 이 곧 벨만 방정식의 씨앗입니다.
왜 할인하나: 끝이 없는 과제(연속 과제)에서는 할인 없이 더하면 합이 무한대가 될 수 있습니다. 이면 보상이 유한한 한 합도 유한합니다. 또 "같은 보상이면 빨리 받는 게 낫다"는 선호를 자연스럽게 담습니다.
4. 가치 함수와 벨만 방정식
직관: 바둑판의 한 국면이 "얼마나 좋은지"를 숫자 하나로 말할 수 있다면, 그 숫자가 큰 쪽으로만 두면 됩니다. 그 숫자가 가치 함수입니다. 그리고 "이 국면의 가치 = 지금 받을 보상 + 다음 국면의 가치(조금 깎아서)"라는 자기 일관성 관계가 벨만 방정식입니다.
정의:
- — 상태 가치: 상태 에서 시작해 정책 를 계속 따르면 기대되는 반환
- — 행동 가치: 상태 에서 일단 행동 를 하고, 그다음부터 를 따를 때의 기대 반환
벨만 기대 방정식: 에 기댓값을 씌우면 나옵니다.
벨만 최적 방정식: 가장 좋은 정책의 가치 는 평균 대신 "가장 좋은 행동"을 고릅니다.
| 기호 | 뜻 |
|---|---|
| 정책 를 따를 때의 기댓값 | |
| 상태 에서 행동 를 고를 확률 | |
| 정책이 고를 수 있는 모든 행동에 대한 가중 평균 | |
| 환경이 낼 수 있는 모든 결과에 대한 가중 평균 | |
| "한 걸음 보상 + 다음 상태 가치의 할인값" | |
| 가장 좋은 행동을 고름(최적성) |
를 알면 최적 정책은 간단합니다. 각 상태에서 가 가장 큰 를 고르면 됩니다. 다음 수업의 Q-러닝은 바로 이 를 경험으로 추정하는 방법입니다.
왜 이렇게 정의하나: 반환 는 확률적이라 한 번 돌릴 때마다 다릅니다. 기댓값으로 바꾸면 상태마다 고정된 숫자가 되어 비교 · 계산이 가능해집니다. 벨만 방정식은 "먼 미래 전체"를 "한 걸음 + 다음 상태의 가치"로 줄여 주므로, 긴 계산을 짧은 계산의 반복으로 바꿀 수 있습니다.
5. 동적 계획법: 3칸 격자로 손계산하기
환경의 규칙 를 다 알 때, 벨만 방정식을 반복해서 풀어 최적 정책을 찾는 방법을 동적 계획법(Dynamic Programming, DP)이라 합니다(책 4장). 아주 작은 예로 전부 손으로 풀어 봅니다.
예제 설정(해설용): 칸이 일렬로 A − B − C 세 개 있습니다. C는 목표이자 끝(종료 상태)이고 가치는 0입니다. 행동은 '왼쪽'과 '오른쪽' 둘이며 확실히 그대로 움직입니다. A에서 왼쪽으로 가면 벽에 막혀 A에 머뭅니다. 한 번 움직일 때마다 보상은 이고, 입니다. 즉 "가능한 한 빨리 C에 가라"는 문제입니다.
5-1. 정책 평가: 무작위 정책의 가치
정책 가 왼쪽 · 오른쪽을 반반 고른다고 합시다. 벨만 기대 방정식을 그대로 쓰면:
첫 식을 정리하면 , 즉 입니다. 이것을 둘째 식에 넣으면 이므로 , 입니다.
뜻: 무작위로 걸으면 B에서는 평균 4걸음, A에서는 평균 6걸음 만에 C에 닿습니다.
5-2. 정책 개선: 가치를 보고 더 나은 행동 고르기
이제 각 상태에서 "한 걸음 보상 + 다음 상태 가치"가 가장 큰 행동을 고릅니다.
- A: 왼쪽 , 오른쪽 → 오른쪽
- B: 왼쪽 , 오른쪽 → 오른쪽
새 정책 "항상 오른쪽"을 다시 평가하면 , 입니다. 이 가치로 다시 개선해도 여전히 "항상 오른쪽"이 나오므로 멈춥니다. 이것이 정책 반복(policy iteration): 평가 → 개선 → 평가 → … 정책이 더 바뀌지 않으면 그것이 최적 정책입니다. 책은 유한 MDP에서 이 과정이 유한 번 안에 최적 정책에 닿는다는 것을 보입니다.
5-3. 가치 반복: 평가와 개선을 한 번에
가치 반복(value iteration)은 벨만 최적 방정식을 그대로 갱신식으로 씁니다. 처음 값을 모두 0으로 두고, 이전 값을 써서 동시에 갱신합니다.
| 반복 | ||
|---|---|---|
| 0 | 0 | 0 |
| 1 | ||
| 2 | ||
| 3 |
반복 3에서 값이 더 바뀌지 않습니다. , 로, 정책 반복의 결과와 같습니다.
왜 두 방법이 있나: 정책 반복은 매번 정책을 끝까지 평가하느라 한 번이 비싸지만 반복 횟수가 적습니다. 가치 반복은 한 번이 싸지만 더 여러 번 돌 수 있습니다. 책은 둘을 "평가와 개선이 서로 밀고 당기는" 일반화된 정책 반복(Generalized Policy Iteration, GPI)이라는 하나의 틀로 묶습니다. 이후 장의 몬테카를로 · TD · Q-러닝도 모두 이 틀 안에서, 환경 규칙 를 모를 때 경험으로 평가와 개선을 하는 방법입니다.
연습 문제
문제 1. 손잡이 B를 네 번 당겨 보상 1, 1, 5, 1을 받았습니다. 에서 시작해 증분 갱신식으로 를 구하세요.
풀이: , , , . 네 보상의 평균 와 같습니다.
문제 2. 보상이 , , 이고 거기서 끝납니다. 일 때 은?
풀이: . 같은 보상이라도 늦게 받을수록 작게 셉니다.
문제 3. 5절의 격자에서 할인율만 로 바꾸고, "항상 오른쪽" 정책의 , 를 구하세요.
풀이: , .
문제 4. 같은 격자에서 과 을 구하세요().
풀이: , . 큰 쪽인 오른쪽이 최적 행동입니다.
스스로 점검
- 보상과 가치는 어떻게 다른가요?
- 답: 보상은 한 걸음 직후 받는 즉시 점수이고, 가치는 그 상태부터 앞으로 받을 보상 합의 기댓값입니다. 지금 보상이 작아도 가치가 큰 상태가 있습니다.
- 할인율 를 0으로 두면 에이전트는 어떻게 행동하나요?
- 답: 이 되어 바로 다음 보상만 보는 근시안적 에이전트가 됩니다.
- 동적 계획법을 실제 게임에 바로 쓰기 어려운 이유는?
- 답: 환경 규칙 를 정확히 알아야 하고, 상태가 많으면 모든 상태를 매번 갱신하기 어렵기 때문입니다. 그래서 경험으로 배우는 TD · Q-러닝과 함수 근사(신경망)가 필요합니다.
용어 정리
| 용어 | 쉬운 뜻 |
|---|---|
| 에이전트(agent) | 행동을 고르고 보상을 받는 학습 주체 |
| 환경(environment) | 에이전트의 행동에 반응해 보상과 다음 상태를 주는 바깥 세계 |
| 정책(policy) | 상태마다 어떤 행동을 할지 정한 규칙(확률) |
| 다중 슬롯머신(k-armed bandit) | 상태가 하나뿐이고 손잡이 개 중 고르는 문제 |
| 탐험 / 활용 | 모르는 선택지를 시도하기 / 아는 최선을 쓰기 |
| ε-탐욕(ε-greedy) | 확률 ε로 무작위, 나머지는 최선의 행동을 고르는 규칙 |
| MDP | 다음 상태가 지금 상태와 행동에만 달린 의사결정 문제의 틀 |
| 반환(return) | 앞으로 받을 보상의 할인된 합 |
| 할인율 | 먼 미래 보상을 얼마나 깎을지 정하는 0~1 사이 값 |
| 가치 함수 , | 상태(또는 상태-행동)에서 기대되는 반환 |
| 벨만 방정식(Bellman equation) | 가치 = 한 걸음 보상 + 다음 상태 가치의 할인값, 이라는 관계식 |
| 정책 반복 / 가치 반복 | 평가와 개선을 번갈아 / 최적 방정식으로 바로 갱신해 최적 정책을 찾는 DP 방법 |
더 깊이 보려면
책의 구성은 다음과 같습니다(저자 공개 페이지 · PDF 기준). 이 수업은 1~4장의 핵심만 다뤘습니다.
- 1부 표 형식 해법: 2장 밴딧, 3장 유한 MDP, 4장 동적 계획법, 5장 몬테카를로, 6장 시간차 학습(Sarsa · Q-러닝), 7장 단계 부트스트래핑, 8장 계획과 학습(Dyna · 몬테카를로 트리 탐색)
- 2부 근사 해법: 9~10장 온폴리시 예측 · 제어(신경망 포함), 11장 오프폴리시 근사, 12장 적격 흔적, 13장 정책 경사(REINFORCE · 액터-크리틱)
- 3부 더 깊이: 14장 심리학, 15장 신경과학, 16장 사례(TD-Gammon · 아타리 · AlphaGo 등), 17장 앞으로의 과제
저자들은 서문에서 1~10장을 핵심 과정으로 권하고, 6장을 특히 중요한 장으로 꼽습니다. 이 사이트에서는 6장 내용을 다음 수업에서, 13장 내용을 그다음 수업에서 직접 배웁니다.
다음에 볼 것
- 탐험 심화: ε-탐욕을 넘어 UCB · 톰슨 샘플링 · 후회(regret) — 2절의 슬롯머신을 이어, 불확실한 손잡이를 똑똑하게 시도하는 UCB · 톰슨 샘플링과 후회를 계산합니다.
- Hugging Face 딥 강화학습 강좌 — 환경 규칙을 모를 때 경험만으로 가치를 배우는 TD 학습 · Q-러닝 · SARSA를 손으로 계산하고, DQN으로 넘어가는 다리를 놓습니다.
- OpenAI Spinning Up: 딥 강화학습 입문 — 가치 대신 정책을 직접 미분해 고치는 정책 경사를 유도합니다. PPO · RLHF의 바탕입니다.
라이선스
저자 페이지에서 전체 PDF를 무료로 받을 수 있고, PDF 판권면에는 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0(CC BY-NC-ND 2.0) 표기가 있습니다. 변경금지 조건이 있으므로 이 페이지는 원문을 번역하거나 각색하지 않고, 책이 다루는 개념을 이 사이트가 직접 쓴 말과 직접 만든 예제로 해설합니다. 그림 · 표는 옮기지 않았습니다.
출처
- 원문: incompleteideas.net/book/the-book-2nd.html (2018 · Richard S. Sutton · Andrew G. Barto, MIT Press)
AI 원리부터 이해하기 · 강화학습 모듈
강화학습 모듈 학습
이 글은 강화학습 모듈의 학습 자료입니다. 전체 31개 자료 중 1번째입니다.
출처·원문
원문 보기요약만