오늘 끝나면
강화학습의 탄생 (Q-Learning)
- ✓강화학습의 탄생 (Q-Learning)의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 강화학습의이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
MDP+벨만 — 정답 없이 보상으로 배우기 (Snake 데모) 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
AI · Day 13 / 강화학습
정답 없이
배우는 법
강아지한테 "앉아"를 정답 라벨로 가르칠 수는 없다. 우연히 앉으면 간식을 주고, 아니면 안 준다. 이 단순한 원리, 즉 시행착오와 보상이 AlphaGo와 ChatGPT를 만들었다. 그 심장이 1989년 Watkins의 Q-Learning이다.
정답이 없는 세상
머신러닝은 세 형제다. 지도학습은 (x, y) 정답 쌍을 먹는다. 비지도학습은 x만 보고 숨은 구조를 찾는다. 강화학습은 먹는 것이 다르다.
에이전트가 받는 것은 정답이 아니라 스칼라 보상하나다. 점수, 클릭률, 이익 같은 숫자 한 개다. "정답이야"가 아니라 "이번엔 +10점"이라고만 알려준다.
RL만 시간을 정면으로 다룬다. 오늘 행동이 내일 상태를 바꾼다. 바뀐 상태가 또 미래 보상을 바꾼다. 이 순차적 의사결정 구조가 RL을 어렵게 만든다.
| 구분 | 입력 | 목표 | 피드백 |
|---|---|---|---|
| 지도학습 | (x, y) | y 예측 | 정답 라벨 |
| 비지도학습 | x 만 | 구조 발견 | 없음 |
| 강화학습 | (s,a,r,s') | 보상 최대화 | 스칼라 보상 |
RL만 시간을 다룬다. 행동이 다음 상태를 바꾼다
MDP와 Bellman 방정식
강화학습 문제는 거의 다 MDP로 표현된다. 다섯 글자 (S, A, P, R, γ)는 각각 상태, 행동, 전이확률, 보상, 할인율이다.
핵심은 Markov 속성이다. 현재 상태 sₜ만 알면 미래 예측에 과거는 필요 없다. 체스 판 현재 배치만 보면 다음 수를 두기에 충분한 것과 같다. 할인율 γ는 "미래 100만원은 오늘 얼마냐"의 NPV 계산과 수학적으로 같다.
1957년, Bellman이 한 가지를 관찰했다. 현재 가치 = 즉각 보상 + γ × 다음 상태의 가치. 이 재귀식 덕분에 모르는 미래의 Q를 현재 추정값으로 대체해 학습한다. 이것이 부트스트래핑의 씨앗이다.
Q. A↔B를 오가며 A를 떠날 때 +1, γ=0.9. V(A)는?
연립한다. V(A) = 1 + 0.9·V(B), V(B) = 0.9·V(A). 대입하면 V(A) = 1 + 0.81·V(A)가 되어 V(A) = 5.26, V(B) = 4.74가 된다. 사이클마다 +1이 기하급수로 쌓이다 수렴한다.현재 가치 = 즉각 보상 + γ × 다음 상태의 최선이다
Q-Learning 업데이트 한 줄
전이 확률 P는 몰라도 된다. 경험 (s, a, r, s')만 모아서 Q값을 고치면 된다. 1989년, Watkins가 이 model-free 학습을 증명했다.
읽는 법은 한 문장이다. "현재 Q 추정값을, 새로 관측한 즉각 보상 + 할인된 다음 최대 Q 방향으로 조금(α) 당겨라." 부정확한 Q로 또 다른 Q를 고친다. 그래도 수학적으로 최적 Q*로 수렴이 보장된다.
파이썬 코드 보기
# Q-Learning 한 스텝
# eps-greedy 행동 선택
if random() < epsilon:
a = random_action()
else:
a = argmax(Q[s])
s2, r, done = env.step(a)
# TD target / error
target = r + gamma * max(Q[s2])
Q[s][a] += alpha * (target - Q[s][a])
s = s2max(Q[s2])가 off-policy의 핵심이다. 실제로 한 행동이 아니라 다음 상태의 가상의 최선을 가정해서 배운다.
탐색과 활용의 딜레마
슬롯머신 10대가 있고, 당첨 확률은 모른다. 1000번 당길 돈으로 어떤 전략을 쓸 것인가. 한 번 이긴 슬롯에 다 걸면 진짜 최고 슬롯을 평생 못 찾는다.
답은 ε-greedy다. ε 확률로 모험(탐색), 1−ε 확률로 최선(활용)을 택한다. 실전은 decaying ε이다. 초반엔 1.0으로 마구 탐색하고, 후반엔 0.01로 줄인다. 단, ε=0은 금물이다. 완전한 확신은 학습을 멈춘다.
인생의 메타 알고리즘이기도 하다. 새 식당과 단골집, 이직과 안정, 신사업과 주력 사이의 선택이 그렇다. 교훈은 하나다. 젊을 땐 ε을 크게 잡고, 시간이 갈수록 줄여라.
초반엔 ε=1.0으로 마구 탐색하고 후반엔 0.01로 감쇠한다. 0은 절대 안 된다
Q-table이 폭발하면
Tic-Tac-Toe는 상태가 약 5,478개라 Q-table로 완벽하게 학습된다. 학습 후 AI는 절대 지지 않는다. 그런데 체스는 10⁴⁷, 바둑은 10¹⁷⁰이다. 테이블로는 우주의 메모리를 다 써도 담을 수 없다.
여기서 딥러닝이 들어온다. 비슷한 상태는 비슷한 Q값을 가진다고 가정한다. 그러면 Q(s,a) ≈ f_θ(s,a)처럼 신경망이 근사한다. 이것이 내일 Day 14 DQN의 철학이다. 추천(Netflix), 동적 가격(Uber 서지), A/B 테스트(Thompson Sampling), ChatGPT의 RLHF까지, 전부 오늘 배운 "시행착오로 행동을 교정한다"는 원리 위에 서 있다.
Q. SARSA는 off-policy, Q-Learning은 on-policy다? (OX)
X (반대다). Q-Learning은 max로 greedy 정책을 배우는 off-policy다. SARSA는 실제 취한 a'의 Q를 쓰는 on-policy다. 그래서 Q-Learning은 공격적이고, SARSA는 조심스럽다.| 사례 | State | Action | Reward |
|---|---|---|---|
| 추천 시스템 | 사용자·시간 | 추천 K개 | 클릭·구매 |
| 동적 가격 | 수요·재고 | 가격 배율 | 매출 |
| 광고 입찰 | 사용자 특성 | 입찰가 | 전환 |
| ChatGPT(RLHF) | 프롬프트 | 다음 토큰 | 인간 선호 |
상태, 행동, 보상만 정의되면 RL 문제다. 골격은 같다