스킬캠퍼스

오늘 끝나면

강화학습의 탄생 (Q-Learning)

  • 강화학습의 탄생 (Q-Learning)의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 강화학습의이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

MDP+벨만 — 정답 없이 보상으로 배우기 (Snake 데모) 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

AI · Day 13 / 강화학습

정답 없이
배우는 법

강아지한테 "앉아"를 정답 라벨로 가르칠 수는 없다. 우연히 앉으면 간식을 주고, 아니면 안 준다. 이 단순한 원리, 즉 시행착오와 보상이 AlphaGo와 ChatGPT를 만들었다. 그 심장이 1989년 Watkins의 Q-Learning이다.

P.01AI · Day 13

정답이 없는 세상

머신러닝은 세 형제다. 지도학습은 (x, y) 정답 쌍을 먹는다. 비지도학습은 x만 보고 숨은 구조를 찾는다. 강화학습은 먹는 것이 다르다.

에이전트가 받는 것은 정답이 아니라 스칼라 보상하나다. 점수, 클릭률, 이익 같은 숫자 한 개다. "정답이야"가 아니라 "이번엔 +10점"이라고만 알려준다.

RL만 시간을 정면으로 다룬다. 오늘 행동이 내일 상태를 바꾼다. 바뀐 상태가 또 미래 보상을 바꾼다. 이 순차적 의사결정 구조가 RL을 어렵게 만든다.

ML 삼형제의 피드백
구분입력목표피드백
지도학습(x, y)y 예측정답 라벨
비지도학습x 만구조 발견없음
강화학습(s,a,r,s')보상 최대화스칼라 보상

RL만 시간을 다룬다. 행동이 다음 상태를 바꾼다

P.02AI · Day 13

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이 기하급수로 쌓이다 수렴한다.
재귀: 지금 + γ·다음
s행동 a+Rs'max Q(s',a')Q*(s,a) = E[ R + γ·max Q*(s',a') ]지금 보상 + 미래의 최선 (재귀)

현재 가치 = 즉각 보상 + γ × 다음 상태의 최선이다

P.03AI · Day 13

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 = s2

max(Q[s2])가 off-policy의 핵심이다. 실제로 한 행동이 아니라 다음 상태의 가상의 최선을 가정해서 배운다.

직접 학습시켜보기
Q-Learning 그리드월드 · 시행착오로 Q값을 채운다
−1
파란 막대=양의 Q · 굵은 막대+화살표=현재 정책 · ○=에이전트 · ★ 골(+1) · ✕ 함정(−1)
에피소드 0
총 스텝
0
마지막 행동
TD error δ
0.000
버튼을 눌러 본다. Q값(막대)이 골에서부터 거꾸로 번져온다.
P.04AI · Day 13

탐색과 활용의 딜레마

슬롯머신 10대가 있고, 당첨 확률은 모른다. 1000번 당길 돈으로 어떤 전략을 쓸 것인가. 한 번 이긴 슬롯에 다 걸면 진짜 최고 슬롯을 평생 못 찾는다.

답은 ε-greedy다. ε 확률로 모험(탐색), 1−ε 확률로 최선(활용)을 택한다. 실전은 decaying ε이다. 초반엔 1.0으로 마구 탐색하고, 후반엔 0.01로 줄인다. 단, ε=0은 금물이다. 완전한 확신은 학습을 멈춘다.

인생의 메타 알고리즘이기도 하다. 새 식당과 단골집, 이직과 안정, 신사업과 주력 사이의 선택이 그렇다. 교훈은 하나다. 젊을 땐 ε을 크게 잡고, 시간이 갈수록 줄여라.

ε-GREEDY 감쇠
탐색(Explore) 많음활용(Exploit) 많음ε_min=0.01 (0은 금물)ε학습 진행 →1.0

초반엔 ε=1.0으로 마구 탐색하고 후반엔 0.01로 감쇠한다. 0은 절대 안 된다

P.05AI · Day 13

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는 조심스럽다.
비즈니스 매핑
사례StateActionReward
추천 시스템사용자·시간추천 K개클릭·구매
동적 가격수요·재고가격 배율매출
광고 입찰사용자 특성입찰가전환
ChatGPT(RLHF)프롬프트다음 토큰인간 선호

상태, 행동, 보상만 정의되면 RL 문제다. 골격은 같다

3줄 요약

  1. 1MDP+벨만 — 정답 없이 보상으로 배우기 (Snake 데모)
  2. 2강화학습의 탄생 (Q-Learning)은 준비운동 → 지도학습 → 시퀀스 → 생성모델 → 실무 적용 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

강화학습의

MDP+벨만 — 정답 없이 보상으로 배우기 (Snake 데모)

모델

입력을 받아 예측이나 출력을 만드는 계산 규칙

손실

예측이 정답에서 얼마나 빗나갔는지 재는 숫자