§ 1강화학습이란 무엇인가
강화학습(Reinforcement Learning)은 상황을 행동에 어떻게 연결할지를 배워, 수치 보상 신호를 최대화하는 것이다. 학습자는 어떤 행동이 옳은지 듣지 못한다 — 직접 시도해 보고, 어떤 행동이 가장 많은 보상을 낳는지 발견해야 한다.
유아가 팔을 휘젓고 주위를 둘러볼 때, 명시적인 교사는 없지만 환경과의 직접적인 감각운동 연결이 있다. 그 연결에서 인과관계와 행동의 결과에 대한 풍부한 정보가 흘러나온다. 강화학습은 바로 이 "상호작용을 통한 학습"을 계산적으로 형식화한다.
가장 흥미로운 경우에, 한 번의 행동은 즉각적인 보상뿐 아니라 다음 상황과 그로부터 이어질 모든 후속 보상에까지 영향을 미친다. 그래서 강화학습을 규정하는 두 특징이 나온다.
- 시행착오 탐색(trial-and-error search) — 정답을 듣는 게 아니라 더듬어 찾는다.
- 지연된 보상(delayed reward) — 지금의 선택이 한참 뒤의 보상을 좌우한다.
지도학습은 "이 상황에서는 이 행동이 정답"이라는 레이블 붙은 예제로 배운다. 그러나 미지의 영역 — 학습이 가장 값진 곳 — 에서는 그런 정답표를 구할 수 없다.
비지도학습은 데이터에 숨은 구조를 찾는다. 강화학습도 레이블이 없지만, 구조가 아니라 보상 신호를 최대화한다는 점이 다르다.
그래서 강화학습은 둘 중 어느 쪽도 아닌 제3의 기계학습 패러다임으로 본다.
§ 2탐색과 활용 — 풀리지 않은 딜레마
강화학습에만 있고 다른 학습에는 없는 도전이 하나 있다. 많은 보상을 얻으려면 에이전트는 과거에 효과적이었던 행동을 활용(exploitation)해야 한다. 그러나 그런 좋은 행동을 애초에 발견하려면, 한 번도 해보지 않은 행동을 탐색(exploration)해야 한다.
딜레마의 핵심은 — 둘 중 하나만 추구하면 과제에 실패한다는 것이다. 활용만 하면 더 나은 길을 영영 못 찾고, 탐색만 하면 아는 보상조차 거두지 못한다. 에이전트는 다양한 행동을 시도하면서 점차 최선으로 보이는 것 쪽으로 기울어야 한다.
§ 3강화학습의 네 가지 요소
에이전트와 환경을 넘어서, 강화학습 시스템은 네 개의 하위 요소로 이루어진다. 앞의 셋은 거의 모든 방법에 등장하고, 마지막 하나는 선택적이다.
주어진 상태에서 어떤 행동을 할지 정하는 매핑. 정책만으로 행동이 결정된다는 점에서 에이전트의 핵심이다. 단순한 조회 테이블일 수도, 광범위한 탐색 계산일 수도 있으며, 보통은 각 행동에 확률을 부여하는 확률적 정책이다.
문제의 목표를 정의한다. 매 시간 단계마다 환경이 보내는 하나의 숫자. 에이전트의 유일한 목적은 장기적으로 받는 보상의 총합을 최대화하는 것이다. 생물에 비유하면 쾌락과 고통 — 즉각적이고 정의적인 신호다.
보상이 즉각적으로 좋은 것을 말한다면, 가치는 장기적으로 좋은 것을 말한다. 한 상태의 가치는, 그 상태에서 출발해 미래에 걸쳐 쌓을 것으로 기대되는 보상의 총량이다.
낮은 보상을 주는 상태라도, 높은 보상의 상태가 뒤따른다면 가치는 높다. 우리는 가장 높은 보상이 아니라 가장 높은 가치의 상태로 이끄는 행동을 추구한다.
환경이 어떻게 행동할지 예측하는 것. 상태와 행동이 주어지면 다음 상태와 보상을 내다본다. 모델을 쓰는 방법을 모델 기반(model-based), 안 쓰고 순수 시행착오에 기대는 방법을 모델 프리(model-free)라 한다.
§ 4틱택토 — 가치가 배워지는 것을 직접 보다
강화학습이 어떻게 작동하는지 보려면 친숙한 예가 좋다. 틱택토를 두는 강화학습 플레이어를 생각하자. 각 보드 상태마다 "이 상태에서 이길 확률"의 추정치 V(s)를 표로 가진다. 처음엔 모든 추정이 0.5(승패 모름)다.
대부분의 수에서는 탐욕적으로 — 가장 가치 높은 다음 상태로 이끄는 수를 둔다. 가끔은 탐색적으로 — 일부러 다른 수를 둔다. 그리고 매 탐욕적 수마다, 다음 상태의 가치를 향해 현재 상태의 가치를 조금씩 당긴다.
이 갱신은 변화가 두 연속 시점의 추정치 차이에 기반하기에 시간차 학습이라 불린다 — 이 책 6장에서 본격적으로 다룰 핵심 아이디어의 첫 등장이다. 아래 모션에서, 게임이 끝난 뒤 가치가 트리를 거꾸로 거슬러 올라가며 갱신되는 것을 보라.
§ 5진화적 방법과의 차이 — 경험을 버리지 마라
틱택토를 푸는 다른 길도 있다. 진화적 방법은 여러 정책을 고정해 두고 각각으로 많은 게임을 둔 뒤, 가장 많이 이긴 정책과 그 변형을 다음 세대로 넘긴다.
문제는 — 진화적 방법은 게임 중간에 일어난 일을 모두 무시한다는 것이다. 정책이 이기면 그 게임의 모든 수에, 심지어 결정적이지 않았던 수에까지 똑같이 공을 돌린다. 반면 가치 함수 방법은 개별 상태 하나하나를 평가한다. 둘 다 정책 공간을 탐색하지만, 가치를 배우는 쪽은 플레이 도중 매 순간 흘러나오는 정보를 활용한다.
| 구분 | 진화적 방법 | 가치 함수 방법 |
|---|---|---|
| 학습 단위 | 정책 전체 (게임 다수 후) | 개별 상태 (매 수마다) |
| 게임 중 정보 | 무시 — 최종 결과만 사용 | 활용 — 모든 전이에서 학습 |
| 공로 배분 | 모든 수에 균등 (안 둔 수에도) | 상태별로 차등 |
| 효율 | 낮음 — 구조를 버림 | 높음 — 상태→행동 구조를 활용 |