강화 학습(Reinforcement learning)
정답 대신 보상을 받으며 행동을 고르는 법을 배우는 방법. 앞으로 받을 보상의 기댓값(가치)은 벨먼 방정식을 만족하고, 그 오른쪽을 되풀이해 적용하는 연산은 차이를 γ배 이하로 줄이는 축소 사상(contraction mapping)이라 하나뿐인 해로 수렴(convergence)한다.
로봇 하나가 가로 4칸, 세로 3칸짜리 방에 있습니다. 오른쪽 위 칸은 출구(보상 +1), 그 아래 칸은 함정(보상 −1)이고, 가운데에는 벽이 하나 있습니다. 로봇은 매번 위·아래·왼쪽·오른쪽 가운데 하나를 고르지만 바닥이 미끄러워서, 고른 쪽으로 갈 확률(probability)은 0.8이고 그 양옆으로 미끄러질 확률이 0.1씩입니다. 벽이나 방 끝에 부딪히면 제자리에 머뭅니다. 출구나 함정이 아닌 칸에서는 한 걸음마다 보상 r(처음 값 −0.04)을 받습니다. 음수 보상은 걸음마다 내는 비용인 셈입니다. 누구도 '이 칸에서는 위로 가라'는 정답을 알려 주지 않고, 주어지는 것은 보상뿐입니다. 이렇게 보상으로 행동을 배우는 것이 강화 학습입니다. 이 방은 스튜어트 러셀과 피터 노빅의 인공지능(artificial intelligence) 교과서에 나오는 예입니다. 아래에서는 먼저 방의 규칙(미끄러질 확률)을 안다고 치고 가장 좋은 행동을 계산한 뒤, 규칙을 모를 때 겪으면서 배우는 방법으로 넘어갑니다.
문제를 수학으로 적으면 마르코프 결정 과정(Markov decision process)이 됩니다. 상태(칸), 행동, 행동했을 때 다음 상태의 확률
Σ(시그마)는 도착할 수 있는 칸 s′ 모두에 대해 '도착할 확률 × 그 칸의 가치'를 더하라는 뜻이고, 그 합이 행동 a를 했을 때 앞으로 받을 가치의 평균입니다.
처음 설정으로 첫 갱신을 보면, 출구 바로 왼쪽 칸 (1, 3)만 −0.04 + 0.9 × 0.8 × 1 = 0.68을 얻고 나머지 칸은 모두 r = −0.04입니다. 이 0.68이 벨먼 방정식을 한 칸에 한 번 적용한 결과입니다. 처음에는 모든 칸의 값을 0으로 두고 시작하므로, (1, 3)에서 '오른쪽'을 고르면 도착할 수 있는 칸은 출구(확률 0.8, 가치 1), 위쪽 벽에 막혀 제자리(0.1, 가치 0), 아래 칸(0.1, 가치 0)입니다. Σ는 0.8 × 1 + 0.1 × 0 + 0.1 × 0 = 0.8이고, 다른 행동은 이보다 작으니 max도 0.8입니다. 여기에 R(s) = −0.04와 γ = 0.9를 넣으면 −0.04 + 0.9 × 0.8 = 0.68입니다. 함정 옆 칸들도 r인 것은, 함정에 빠질 위험이 없는 행동을 고를 수 있어서입니다. 그 뒤로는 갱신할 때마다 출구와 함정의 소식이 한 칸씩 멀리 퍼집니다. k번 갱신한 값은 k걸음 안의 계획까지만 따진 값이기 때문입니다. 칸에 마우스를 올리면 지금 값으로 계산한 행동별 값이 뜨고, 그 가운데 가장 큰 것이 다음 단계의 그 칸 값이 됩니다. 수렴하면 화살표가 정책입니다. 처음 설정에서는 함정 바로 왼쪽 칸 (2, 3)의 화살표가 위를 가리킵니다. 오른쪽을 고르면 곧장 함정에 빠질 수 있으니, 위로 가다 옆으로 미끄러지는 위험(0.1)만 지는 쪽을 고른 것입니다.
이제 보상 r을 바꿔 봅니다. r을 −1 가까이 내려 보세요. 한 걸음이 너무 비싸져서, 오른쪽 아래 칸 (3, 4)의 화살표가 함정 쪽인 위를 가리킵니다. 먼 출구까지 걷는 비용보다 함정의 −1이 덜 나쁘니 빨리 끝내려는 것입니다.
반대로 r을 0.2로 올리면 출구 바로 옆 칸 (1, 3)조차 출구를 등지고 왼쪽을 가리킵니다. 끝나는 칸에 들어가지 않고 방 안에 머무는 동안 걸음마다 보상을 받으니, 영원히 머무는 값 r + γr + γ²r + ⋯ = r/(1 − γ)(γ = 0.9, r = 0.2라면 2)가 출구의 +1보다 크기 때문입니다. 이때 모든 칸의 값이 2가 되고, 화살표가 없는 칸은 어느 행동이든 값이 같은 칸입니다.
두 실험이 보여 주는 것은 하나입니다. 흔히 보상은 목표를 알려 주는 신호일 뿐이라고 생각하지만, 실제로는 보상을 정하는 일이 무엇을 원하는지 적는 일 그 자체입니다. 로봇은 우리가 원한 것이 아니라 적힌 것을 최적화(optimization)합니다.
왜 반드시 수렴하는가. 식의 오른쪽을 계산하는 연산을 T라 하면 가치 반복(value iteration)은 V ← TV의 되풀이이고, 벨먼 방정식은 V = TV, 곧 V가 T의 고정점(fixed point)이라는 말입니다. 두 값의 표 U, V가 어느 칸에서도 δ보다 더 다르지 않다고 합시다. 확률로 가중한 평균의 차이는 δ를 넘을 수 없고, 행동마다의 값 가운데 가장 큰 것을 고르는 일도 차이를 키우지 못합니다(
이렇게 거리를 1보다 작은 일정한 비율 이하로 줄이는 연산을 축소 사상이라 하고, 여기서는
모형을 모를 때. 가치 반복은 확률 P와 보상을 모두 안다고 가정합니다. 실제 로봇이나 게임에서는 이것을 모르고, 해 보면서 겪은 것만 압니다. 1988년 리처드 서튼이 정리한 시간차(TD) 학습은 정해진 정책을 따르며 한 걸음을 겪을 때마다, 그 정책의 벨먼 방정식(max가 없는 꼴)의 양쪽이 어긋난 만큼 값을 고칩니다.
기댓값을 계산하는 대신 실제로 한 번 일어난 일로 어림하는 것이니, 몬테카를로 방법처럼 표본(sample)으로 평균을 대신하는 셈입니다. α(알파)는 한 번에 얼마나 고칠지 정하는 학습률입니다. 이를테면 V(s) = 0.5인데 한 걸음 겪어 보니 r + γV(s′)가 0.7이었다면, α = 0.1일 때 차이 0.2의 10분의 1만큼 고쳐 V(s)는 0.52가 됩니다.
1989년 크리스 왓킨스의 Q 학습(Q-learning)은 상태와 행동의 짝마다 값 Q(s, a)를 두고, 목표에
여기서 탐험과 활용(exploration and exploitation)의 저울질이 생깁니다. 지금까지 가장 좋았던 행동만 하면(활용) 더 좋은 행동을 영영 모르고, 새 행동을 너무 자주 시험하면(탐험) 보상을 잃습니다. 흔한 해법은 대개 가장 좋아 보이는 행동을 하되 작은 확률 ε(엡실론)로 아무 행동이나 해 보는 것이고, 이것을 ε-탐욕이라 부릅니다. 값을 표 대신 신경망(neural network)으로 어림하면 이런 수렴 보장은 일반적으로 사라지고, 실제로 값이 발산(divergence)하는 예도 알려져 있습니다.
역사. 1959년 아서 새뮤얼의 체커 프로그램은 지금 국면의 평가를 몇 수 뒤 국면의 평가에 가깝게 고쳐 나갔는데, 이것이 시간차 학습(temporal-difference learning)의 선구로 꼽힙니다. 벨먼은 1950년대 초 미 공군이 지원하던 RAND 연구소에서 결정을 여러 단계에 걸쳐 차례로 내리는 문제를 연구하며 '동적 계획법'이라는 이름을 지었고, 1957년 책 『동적 계획법』에서 이 문제를 정식화했습니다. 1960년 로널드 하워드는 정책을 평가하고 고치기를 되풀이하는 정책 반복(policy iteration)을 내놓았습니다. 서튼과 앤드루 바토는 1980년대에 강화 학습을 하나의 분야로 묶었습니다. 1992년 제럴드 테사우로의 TD-개먼은 자기 자신과 둔 판으로 백개먼을 배워 최상급 선수에 가까운 수준에 이르렀고, 2015년 딥마인드의 DQN은 화면의 픽셀과 점수만 보고 아타리 게임 49개를 배워 그 가운데 29개에서 사람 전문 시험자 점수의 75% 이상을 냈습니다. 2016년 알파고는 사람의 기보로 배운 신경망을 자기 대국 강화 학습으로 다듬고 몬테카를로 트리 탐색(Monte Carlo tree search)과 엮었습니다. 언어 모델(language model)을 사람의 선호에 맞추는 인간 피드백 강화 학습도 이 틀을 씁니다. 서튼과 바토는 2024년도 튜링상(Turing Award)을 받았습니다.
한계. 강화 학습은 대개 아주 많은 경험을 먹습니다. DQN은 게임 하나마다 5천만 프레임을 학습했는데, 논문의 계산으로 게임 시간 약 38일어치입니다. 시뮬레이터에서 배운 정책이 현실에서 그대로 통하지 않는 문제도 있습니다. 가장 까다로운 것은 보상 설계입니다. 에이전트(행동하며 배우는 주체)는 적어 준 보상을 최적화할 뿐이라서, 설계자가 예상하지 못한 허점을 찾아 점수만 올리는 일이 자주 보고됩니다. 이것을 보상 해킹(reward hacking)이라 하고, 재는 값을 목표로 삼으면 그 값이 더는 좋은 잣대가 아니게 된다는 굿하트의 법칙(Goodhart's law)의 한 모습입니다.
이어지는 곳.
- 마르코프 연쇄: 다음 상태가 지금에만 달려 있다는 가정이 여기서 왔습니다.
- 동적 계획법: 가치를 뒤에서부터 채워 가는 계산은 동적 계획법의 표 채우기와 같습니다.
- 고정점: 가치 반복이 왜 한 답으로 수렴하는지, 되풀이가 한 점으로 모이는 조건.
- 기댓값: 가치가 왜 평균인지.
- 몬테카를로 방법(Monte Carlo method)과 큰 수의 법칙(law of large numbers): 겪은 표본으로 기댓값을 대신하는 생각의 근거.
- 신경망, 경사 하강법(gradient descent), 확률적 경사 하강법(stochastic gradient descent): 값을 신경망으로 어림하고 기울기(slope)로 고치는 부분.
- 게임 트리(game tree) 탐색: 상대가 있는 게임에서 같은 계산을 하면 미니맥스(minimax)가 됩니다.
- 인간 피드백 강화 학습: 사람의 선호를 보상으로 삼은 강화 학습.
- 추론 모델: 수학 문제의 답이나 코드의 테스트처럼 기계적으로 채점할 수 있는 결과를 보상으로 삼아, 언어 모델이 긴 풀이를 쓰도록 학습시킨 것.
- 벨먼: 벨먼 방정식과 동적 계획법을 세운 사람.
- 새뮤얼: 스스로와 두며 배우는 기계의 시작.
- 서튼: 시간차 학습과 이 분야의 교과서.
이 개념이 나오는 긴 글
이 개념 위에 세워진 것
이 개념을 언급하는 페이지
- 기댓값
… = 7입니다. 같은 이유로 이항분포의 기댓값도 동전 하나의 기댓값 p를 n번 더한 np 로 끝납니다.강화 학습에서 한 상태의 가치는 앞으로 받을 보상(먼 미래일수록 γ배씩 깎은 것)의 합의 기댓값인데, 이 선형성 …
- 마르코프 연쇄
… 과정이 되고, 그 안에서 앞으로 받을 보상의 합이 가장 크도록 행동을 고르는 법을 경험으로 배우는 것이강화 학습입니다. 서로 영향을 주지 않는 두 마르코프 연쇄를 한꺼번에 보면 전이 행렬은 두 행렬의 크로네커 곱이고, …
- 동적 계획법
… 담아 바르게 풉니다. 벨먼의 '최적 경로의 뒷부분도 최적'이라는 원리를 확률로 움직이는 세계에 쓴 식이강화 학습의 벨먼 방정식이고, 그 해를 구하는 가치 반복은 표를 되풀이해 고쳐 채우는 동적 계획법입니다. 최단 …
- 고정점
… 않는 고정점이고, 0.85를 곱하는 감쇠 때문에 이 규칙은 축약이 되어 되풀이 계산으로 빨리 구해집니다.강화 학습의 가치 함수도 같은 모양입니다. 벨먼 방정식의 오른쪽을 적용하는 연산은 할인율 γ가 1보다 작으면 …
- 기계 학습
… 식은 1950년대 리처드 벨먼의 동적 계획법에서 왔고, 이 식을 경험으로 어림해 푸는 것이 많은강화 학습알고리즘의 뼈대입니다. 배우는 방법. 규칙의 모임이 매개변수, 곧 규칙을 정하는 조절 손잡이 같은 …
- 인공지능
… 벨 연구소의 얀 르쿤과 동료들은 손글씨 숫자를 합성곱 신경망으로 읽었습니다. 보상으로 배우는강화 학습은 리처드 서튼과 앤드루 바토가 이론의 틀을 세웠고, 1992년 제럴드 테사우로의 TD-개먼은 스스로와 …
- 게임 트리 탐색: 미니맥스와 몬테카를로 트리 탐색
… 작고 빠른 정책으로 둔 것이었습니다. 정책망은 먼저 사람의 기보로 배우고, 이어 자기 자신과의 대국으로강화 학습을 했습니다. 이듬해의 알파고 제로는 사람의 기보 없이 자기 대국만으로 배웠고, 끝까지 두어 보는 대국 …
- 인간 피드백 강화 학습과 정렬
… r(x, y)를 매기는 모델을 학습시킵니다. 강화 학습. 언어 모델이 보상 모델의 점수가 높은 답을 쓰도록강화 학습으로 조정하되, 원래 모델에서 너무 멀어지지 않게 벌점을 둡니다. 이 틀은 2017년 폴 크리스티아노 등이 …
- 증명 보조기
… 형식 증명은 적어 넣은 명제에 관한 한 그런 걱정을 거의 없애 줍니다. 2024년 7월 구글 딥마인드는강화 학습으로 훈련한 AlphaProof가 그해 국제 수학 올림피아드 6문제 가운데 3문제의 Lean 증명을 …
- 추론 모델과 테스트 시점 계산
… 큰 수의 법칙이고, 풀이를 무작위로 뽑는 규칙은 디코딩의 온도입니다. 보상으로 정책을 고치는 틀은강화 학습에서, 사람의 비교를 보상으로 삼는 앞선 방법과 KL 벌점의 정확한 해는 인간 피드백 강화 학습에서 …
- 굿하트의 법칙
… 대개 목표 함수의 가장 극단적인 곳, 곧 대리 지표와 참값이 가장 많이 어긋날 수 있는 곳으로 갑니다.강화 학습에서 에이전트가 설계자의 뜻 대신 적어 준 보상의 허점을 찾는 보상 해킹은 적대형과 극단형이 섞인 …