25장. 당근과 채찍의 수학 — 강화학습
이 장의 질문: 정답 없이, 결과에 대한 보상만으로 어떻게 행동을 배우는가? 강화학습의 문제 설정(MDP)과 가치라는 개념, 그리고 첫 알고리즘 Q-학습을 통해 "시행착오로 배운다"를 수학으로 만든다.
전제: 1장(세 갈래의 학습), 3장(기대값), 9~11장(신경망 학습).
지도학습이 무력한 곳
바둑에서 한 수를 두었다. 그 수가 좋은 수였는지 나쁜 수였는지 — 아무도 모른다. 200수 뒤 승패가 갈릴 때까지는. 로봇이 다리를 움직였다. 그 움직임이 옳았는지는 넘어지거나 걸어가고 나서야 알 수 있다.
지도학습의 전제 — 입력마다 정답이 붙어 있다 — 가 여기서 무너진다. 우리가 가진 것은 정답이 아니라 행동의 결과로 뒤늦게, 드문드문 주어지는 보상뿐이다. 그리고 문제가 하나 더 있다. 지도학습의 데이터는 우리가 주는 것이지만, 여기서는 행동이 다음 상황을 바꾼다 — 어떤 데이터를 보게 될지가 자신의 행동에 달려 있다. 이 두 성질 — 지연된 보상, 행동이 만드는 경험 — 을 가진 문제의 학습이 강화학습(RL)이다.
문제를 정확히 적기: MDP
수학은 문제를 정확히 적는 데서 시작한다. 강화학습의 표준 설정은 다섯 요소다.
- 상태
— 지금 상황 (바둑판 배치, 로봇의 관절 각도). - 행동
— 취할 수 있는 선택 (착수 위치, 관절에 줄 힘). - 전이 — 행동하면 환경이 다음 상태로 옮겨 가는 규칙 (확률적일 수 있다).
- 보상
— 각 단계에서 환경이 주는 숫자 (승리 +1, 넘어짐 −1, 대부분의 단계는 0). - 할인율
— 미래 보상을 얼마나 현재 가치로 칠 것인가 (0.99면 100단계 뒤의 보상은 약 0.37배).
에이전트는 상태를 보고 행동을 고르는 규칙 — 정책
읽는 법: 앞으로 받을 보상들을, 멀수록 할인해서 다 더한 것 — 리턴이다. 할인은 두 역할을 한다: 무한한 합이 발산하지 않게 하고, "같은 보상이면 빨리 받는 게 낫다"는 상식을 심는다.
이 틀에서 지도학습의 정답 개념이 어떻게 대체되는지 보라. "이 상태에서 이 행동이 옳은가"라는 질문은, "이 행동을 한 뒤 기대되는 리턴이 얼마인가"로 바뀐다. 그 양에 이름이 있다.
가치: 미래를 숫자 하나로
행동 가치 함수
읽는 법: 지금 행동의 가치는, 받은 보상에, 다음 상태에서 고를 수 있는 최선의 가치를 할인해 더한 것. 이 관계(벨만 방정식)가 학습 신호를 만든다. 오른쪽은 실제로 한 걸음 가 본 뒤 계산할 수 있으니, 그것을 임시 정답으로 삼아 왼쪽을 고치는 것이다:
이것이 Q-학습이다. 대괄호 안은 "예상과 실제의 차이"(시간차 오차)이고,
두 가지 미묘함을 챙기자. 첫째, 탐색과 활용. 아는 것 중 최선만 고르면(활용) 더 나은 행동을 영영 발견 못 한다. 그래서 일정 확률
신경망을 붙이면: DQN
상태가 바둑판이나 화면 픽셀이면
경험이 상관되어 있다. 연속된 순간들은 거의 같은 상태다. 경사하강은 독립적인 표본을 가정하는데(3장의 기대값 근사), 상관된 표본을 순서대로 먹이면 최근 경험에만 과적합해 요동친다. 처방 — 재생 버퍼: 경험을 쌓아 두고 무작위로 섞어 뽑아 학습한다.
목표가 움직인다. 학습 목표
이 두 장치를 단 것이 DQN이며, 화면 픽셀만 보고 아타리 게임을 사람 수준으로 플레이해 딥 강화학습 시대를 연 알고리즘이다. 코드랩 16에서 막대 세우기 문제로 DQN을 밑바닥부터 구현한다 — 두 장치를 하나씩 빼 보면 왜 필요한지 몸으로 알게 된다.
강화학습의 진짜 어려움
이 분야의 실무는 알고리즘보다 다음 세 가지에서 결판난다.
보상 설계. 보상은 "무엇을 원하는가"의 유일한 명세다. 로봇에게 "빨리 가라"고 보상하면 넘어지며 굴러가고, 게임 점수를 보상하면 점수만 나오는 버그를 찾아낸다. 에이전트는 당신의 의도가 아니라 보상 함수의 문자 그대로를 최적화한다 — 22장의 채점기 해킹, 8장의 지표 최적화 문제가 같은 뿌리다. 원하는 것을 정확히 적는 일이 가장 어렵다.
표본 효율. 시행착오는 비싸다. 게임은 수백만 판을 돌릴 수 있지만 실제 로봇은 그럴 수 없다. 시뮬레이터에서 배워 현실로 옮기기, 사람 시연에서 시작하기, 모델 기반 계획 등이 이 문제와 씨름한다.
평가. 지도학습의 손실 곡선 같은 믿을 지표가 없다. 손실이 내려가도 정책이 나쁠 수 있고 요동쳐도 배우는 중일 수 있다. 신뢰할 것은 에피소드 보상의 이동평균과 여러 시드의 반복뿐이다 — 8장의 규율이 강화학습에서는 생존 조건이다.
핵심 요약
- 강화학습은 지연된 보상과 행동이 만드는 경험이라는 두 성질을 가진 문제의 학습이다. 문제는 MDP(상태·행동·전이·보상·할인)로 적고, 목표는 할인 누적 보상(리턴)의 기대값 최대화.
- 가치
는 미래를 숫자 하나로 압축한다. 벨만의 재귀 관계가 "한 걸음 뒤에 본 목표"를 학습 신호로 만들며(Q-학습), 종착점의 진실이 거꾸로 전파된다. 탐색-활용의 균형은 RL 고유의 딜레마. - 신경망으로
를 근사하면 상관된 경험과 움직이는 목표 때문에 발산한다 → 재생 버퍼 + 목표 네트워크 = DQN. - 실무의 난제는 알고리즘보다 보상 설계, 표본 효율, 평가에 있다. 에이전트는 의도가 아니라 보상의 문자를 최적화한다.
스스로 점검
- 미로에서 출구 도달 시 +1, 그 외 0의 보상이 주어질 때, Q-학습으로 출구에서 두 칸 떨어진 상태의
가 처음 0에서 어떻게 양수로 바뀌는지 단계별로 서술해 보라. ( 로 가정) 을 0으로 고정하면 무슨 문제가 생기는가? 1로 고정하면? - 재생 버퍼와 목표 네트워크가 각각 깨진 "지도학습의 전제"를 하나씩 대응시켜 설명해 보라.
- "청소 로봇에게 흡입한 먼지량을 보상으로 준다"는 설계의 허점을 찾아보라. 에이전트는 무엇을 발견해 낼까?
다음 장에서
Q-학습은 가치를 배우고 정책은 거기서 유도했다. 그런데 행동이 연속적(관절에 줄 힘의 크기)이면 "