6. 시간차 학습: 끝까지 기다리지 않고 예측으로 예측을 고친다

TD 오차: 뇌도 쓰는 예측 오차

시간차 학습의 식에서 대괄호 안의 양, 「이번 보상 + 다음 상태의 값 − 지금 상태의 값」은 값을 고치는 방향과 크기를 정했다. 대괄호 안의 양은 그 자체로도 뜻을 가져서, 기대했던 것보다 일이 잘 풀리면 양수, 못 풀리면 음수, 기대대로면 0이다. 기대에서 벗어난 만큼을 재는 이 하나의 숫자가 동물의 뇌에서도 발견된다면 믿을 수 있을까?

역사: 원숭이의 도파민 뉴런

스위스 프리부르 대학교의 볼프람 슐츠(Wolfram Schultz)의 연구진은 원숭이가 과제를 하는 동안 중뇌의 도파민 뉴런 하나하나의 신호를 기록했다. 실험 하나에서는 작은 불빛이 켜지면 원숭이가 레버를 건드리고, 그러면 입에 과일 주스 몇 방울을 받았다. 훈련 전과 훈련 초기에는 대부분의 도파민 뉴런이 주스가 들어온 직후에 짧게 몰아서 발화했다. 며칠 훈련해 원숭이가 불빛이 켜지자마자 손을 뻗게 되자 두 가지가 바뀌어, 뉴런들은 주스에는 더 이상 반응하지 않고 대신 불빛이 켜지는 순간에 발화했다. 그리고 불빛 뒤에 주스가 제때 오지 않은 시행에서는, 주스가 왔어야 할 바로 그 시점에 발화가 평소보다 크게 줄었다.

슐츠는 1997년 이론 신경과학자 피터 다얀, 리드 몬터규(P. Read Montague)와 함께 『사이언스(Science)』 275권에 「A Neural Substrate of Prediction and Reward」를 냈다. 이 논문은 도파민 뉴런의 신호를 시간차 학습의 오차로 읽었다. 기대보다 좋은 일이 생기면 양의 신호, 기대대로 생기면 신호 없음, 기대보다 나쁘면 음의 신호다. 논문은 주스가 오지 않았을 때 발화가 줄어드는 순간이 불빛 뒤 1초 넘게 지난 때이고 그 사이에 아무 자극이 없었다는 점에서, 뇌 안에 보상이 올 시각에 대한 표상이 있다고 봤다. 논문은 시간차 방법이 1980년대 초 서튼과 앤드루 바토(Andrew Barto)를 통해 심리학과 생물학 문헌에 들어왔다고 적고, 공학의 예측 문제를 풀려고 만든 방법이 영장류 도파민 뉴런의 출력을 들여다보는 눈이 된다는 점이 흥미롭다고 적었다.

불빛 뒤 열 스텝의 주스

슐츠의 실험을 장난감 모델로 따라가 보자. 시점 0부터 24까지인 한 시행에서, 시점 5에 불빛이 켜지고 그 열 스텝 뒤인 시점 15에 보상 1(주스)이 온다. 상태는 「불빛이 켜진 지 몇 스텝째인가」로 잡는다. 불빛이 언제 켜질지는 미리 알 수 없으므로, 불빛 전의 자리는 한 상태로 묶고 그 상태의 값을 0으로 둔다. 할인은 하지 않고(γ\textcolor{#7a1f5a}{\gamma} = 1) 학습률은 0.3으로 둔 채, 스텝마다 시간차 학습의 대괄호 안 양을 적어 둔다.

δt=rt+γ V(st+1)−V(st),V(st)←V(st)+α δt\textcolor{#8e44ad}{\delta_t} = \textcolor{#d9670b}{r_t} + \textcolor{#7a1f5a}{\gamma}\,\textcolor{#00897b}{V}(\textcolor{#0093b8}{s_{t+1}}) - \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}), \qquad \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) \leftarrow \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) + \textcolor{#536020}{\alpha}\,\textcolor{#8e44ad}{\delta_t}
δtTD 오차: 한 스텝 뒤에 드러난 「기대와의 차이」 (델타)rt이번 스텝의 보상 (모델: 시점 15에 들어가는 스텝에서 1)V(st+1)−V(st)한 스텝 사이에 바뀐 기대 (불빛이 켜지는 스텝에서는 0 에서 불빛 직후의 값으로)α학습률 (모델: 0.3) \small\begin{array}{ll} \textcolor{#8e44ad}{\delta_t} & \text{TD 오차: 한 스텝 뒤에 드러난 「기대와의 차이」 (델타)} \\ \textcolor{#d9670b}{r_t} & \text{이번 스텝의 보상 (모델: 시점 15에 들어가는 스텝에서 1)} \\ \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_{t+1}}) - \textcolor{#00897b}{V}(\textcolor{#0093b8}{s_t}) & \text{한 스텝 사이에 바뀐 기대 (불빛이 켜지는 스텝에서는 0 에서 불빛 직후의 값으로)} \\ \textcolor{#536020}{\alpha} & \text{학습률 (모델: 0.3)} \end{array}

스텝마다 적은 기대와의 차이 δt\textcolor{#8e44ad}{\delta_t}를 TD 오차 (한 스텝 뒤 드러난 기대와의 차이 / temporal-difference error)라 한다. 시간차 학습은 TD 오차에 학습률을 곱한 만큼 지금 상태의 값을 고치는 일이고, 새뮤얼이 「델타」라 부른 앞 판면 점수와 지금 판면 점수의 차이도 같은 자리에 있다.

불빛 보상 시점 시행 1 시행 5 시행 20 시행 200 보상 빼먹음 시점 (한 시행 안), 막대 높이 = δ (위 +1, 아래 −1)

첫 시행에서 TD 오차는 보상이 온 시점 15에만 1인데, 불빛 뒤의 자리들은 아직 아무것도 기대하지 않으므로 보상 1이 전부 뜻밖이기 때문이다. 둘째 시행에서는 첫 시행에서 배운 덕에 보상 직전 자리의 값이 0.3이 되어, 보상 직전 스텝에 0.3, 보상 시점에 0.7로 오차가 나뉜다. 시행이 거듭될수록 오차는 한 스텝씩 앞으로 옮겨 가며 퍼지고(시행 20), 불빛 직후 자리의 값은 시행 45에서 0.9를 넘는다. 시행 200에는 TD 오차가 불빛이 켜지는 시점 5에만 1이다. 언제 켜질지 몰랐던 불빛이 켜지는 순간이 이제 뜻밖의 좋은 소식이고, 그 뒤의 보상은 기대대로 와서 오차가 0이다. 이 상태에서 보상을 빼먹으면 시점 15에 −1이 나온다.

그림의 첫 줄, 넷째 줄, 다섯째 줄은 슐츠의 기록에서 학습 전, 학습 뒤, 보상을 빼먹은 시행의 세 장면과 같은 모양이다(그림은 실제 기록이 아니라 위 모델의 숫자다). 가운데 줄들처럼 오차가 시행마다 한 스텝씩 옮겨 가는 모습은 이 단순한 모델이 보이는 것이고, 이 책은 실제 뉴런 기록에서 그 중간 모습이 보이는지는 다루지 않는다.

ML에서: 과정 보상 모델의 단계 라벨

수학 풀이를 단계마다 채점하는 모델을 과정 보상 모델(process reward model, PRM)이라 부른다. 이 모델을 학습하려면 풀이의 단계마다 「이 단계가 좋았나」의 라벨이 있어야 하는데, 사람이 단계마다 라벨을 다는 대신 몬테카를로로 라벨을 만드는 방법이 있다. 2023년의 Math-Shepherd(왕(Peiyi Wang) 등, 「Math-Shepherd: Verify and Reinforce LLMs Step-by-step without Human Annotations」)는 풀이를 어느 단계까지 써 둔 채 다른 모델에게 나머지를 여러 번 이어 쓰게 했다. 그리고 이어 쓴 풀이의 최종 답이 맞았는지를 봤다. 이어 쓰기 가운데 하나라도 맞으면 1로 두는 하드 라벨과, 맞은 비율을 그대로 쓰는 소프트 라벨을 함께 정의했다. 단계의 라벨이 곧 「그 단계 뒤에서 결국 맞힐 확률」, 곧 그 단계까지 쓴 앞부분의 가치를 이어 쓰기 평균으로 어림한 값이다.

시간차 쪽에서 보면 단계의 좋고 나쁨은 그 단계를 쓰기 전과 쓴 뒤의 가치 차이, 곧 TD 오차다. 2025년의 TDRM(장(Dan Zhang) 등, 「TDRM: Smooth Reward Models with Temporal Difference for LLM RL and Inference」)은 과정 보상 모델을 학습할 때 시간차 오차를 줄이게 해, 이웃한 단계의 점수가 서로 맞물리게 만들었다. 이때 목표로는 몇 스텝 뒤의 예측을 썼다. 이어 쓰기를 세는 몬테카를로 라벨과 이웃 단계의 예측끼리 맞추는 시간차 라벨이 어떤 차이를 낳는지는 아래 문제 9에서 숫자로 본다.

문제 7. 택배 도착 알림

생일 선물을 주문하려 하는데, 선물이 오면 기쁨이 10이다. 주문할 때는 품절로 취소될 확률이 0.2라서, 주문한 순간의 기대 기쁨은 0.8 × 10 = 8이다. 수요일에 「출고 완료, 내일 도착」 알림이 왔고(이제 기대 10), 목요일에 선물이 왔다. 주문 전의 기대는 0, 선물을 받은 뒤 앞으로 더 받을 것은 0이다. (가) 주문, 출고 알림, 도착의 세 순간마다 TD 오차는? (나) 수요일에 출고 대신 「품절로 취소」 알림이 왔다면 그 순간의 TD 오차는? (다) 두 경우 각각 TD 오차를 모두 더하면 무엇이 되는가?

선생님 (평상)
선생님
민준 학생, 가장 기쁜 순간은 언제일까요?
김민준 (평상)
김민준
선물이 온 목요일이요. 기쁨 10을 받으니까 TD 오차도 10이죠.
선생님 (질문)
선생님
목요일 아침에 이미 무엇을 기대하고 있었죠? 받은 뒤의 기대는요?
김민준 (아하)
김민준
아침에 기대가 이미 10이었어요. 그러면 10 + 0 − 10 = 0이네요. 도착은 기대대로라 오차가 없어요.
선생님 (질문)
선생님
그럼 놀라움은 어디로 갔을까요? 주문할 때와 출고 알림 때는요?
김민준 (평상)
김민준
주문할 때 0에서 8로 +8, 출고 알림에서 8에서 10으로 +2예요. 정작 선물이 온 순간은 0이네요.
이서연 (평상)
이서연
취소면 8에서 0으로 떨어지니까 −8이야.
선생님 (질문)
선생님
두 경우 각각 오차를 다 더해 보면요?
이서연 (평상)
이서연
받은 경우는 8 + 2 + 0 = 10, 취소는 8 − 8 = 0이요. 어, 둘 다 실제로 받은 기쁨이네요.
이서연 (아하)
이서연
TD 오차를 다 더하면 처음 기대 0에서 실제 결과까지의 차이가 되는 거예요.
선생님 (흐뭇함)
선생님
그래요. 놀라움이 결과 순간에 몰리지 않고, 소식이 온 순간마다 나뉘어요.
김민준 (평상)
김민준
합격 발표 날보다 「서류 통과」 문자 받은 날이 더 신났던 거랑 같네요.

정리 (가) 주문 +8, 출고 알림 +2, 도착 10 + 0 − 10 = 0. (나) 0 − 8 = −8. (다) 받은 경우 10, 취소된 경우 0. 할인이 없으면 TD 오차의 합은 실제로 받은 것 − 처음의 기대다. 결과와 처음 기대의 차이가 기대가 바뀐 순간마다 나뉘어 나오고, 기대대로 일어난 일에는 오차가 없다.

문제 8. 반만 오는 주스

불빛 모델을 바꾼다. (가) 불빛 뒤에 보상 1이 확률 0.5로만 온다면, 오래 학습한 뒤 불빛 직후 자리의 값은? 불빛이 켜지는 순간의 TD 오차와, 보상이 왔을 때와 안 왔을 때 보상 시점의 TD 오차는? 보상 시점 TD 오차의 평균은? (나) 이번에는 불빛이 두 가지여서, 불빛 A 뒤에는 보상이 확률 0.25로, 불빛 B 뒤에는 확률 1로 온다. 어느 불빛이 켜질지는 반반이고 언제 켜질지는 모른다. 각 불빛이 켜지는 순간의 TD 오차는? (다) 「곧 불빛이 켜진다」는 준비 신호가 불빛보다 먼저 온다면(준비 신호가 언제 올지는 모른다), 준비 신호와 각 불빛의 순간에 TD 오차는 얼마인가?

선생님 (평상)
선생님
서연 학생, 반만 오는 보상이면 불빛 직후의 값은요?
이서연 (평상)
이서연
앞으로 받을 보상의 기댓값이니까 0.5예요. 불빛이 켜지는 순간 0에서 0.5로 바뀌니까 TD 오차 +0.5고요.
선생님 (평상)
선생님
보상 시점은요?
이서연 (평상)
이서연
보상이 오면 1 − 0.5 = +0.5, 안 오면 0 − 0.5 = −0.5이고 평균은 0이에요.
선생님 (평상)
선생님
민준 학생, (나)는요?
김민준 (평상)
김민준
두 불빛을 합치면 평균 0.5 × 0.25 + 0.5 × 1 = 0.625니까, 불빛이 켜지는 순간의 오차는 둘 다 0.625 아닐까요?
선생님 (질문)
선생님
불빛 A가 켜진 직후에는 무엇을 기대하죠? 그 직전에는요?
김민준 (난처함)
김민준
A가 켜진 뒤에는 0.25를 기대하고, 직전에는 불빛이 언제 켜질지 몰라서 0이었어요. 그럼 A는 +0.25, B는 +1이에요.
선생님 (질문)
선생님
그럼 0.625는 어느 자리의 값이었을까요?
김민준 (평상)
김민준
어느 불빛인지 모를 때의 값인데… 그런 자리가 없었네요.
이서연 (평상)
이서연
(다)에서는 그 자리가 생겨. 준비 신호 뒤에는 어느 불빛일지 모르니까 값이 0.625, 준비 신호의 순간 오차는 +0.625야.
선생님 (질문)
선생님
그다음 A가 켜지면요?
이서연 (생각)
이서연
0.625에서 0.25로 떨어지니까 −0.375요. B면 +0.375고요. A 뒤에 보상이 오면 +0.75, 안 오면 −0.25예요.
선생님 (흐뭇함)
선생님
그래요. 같은 불빛 A인데, 앞에 준비 신호가 있느냐에 따라 오차의 부호가 바뀌어요. 오차는 불빛의 값이 아니라 기대가 바뀐 폭이에요.
이서연 (평상)
이서연
수학 시험 범위 공지가 미리 나오면 시험지를 받는 순간의 놀람이 줄어드는 것과 같아요. 놀람은 범위 공지 때 이미 받았으니까요.

정리 (가) 불빛 직후의 값 0.5. 불빛 순간 +0.5, 보상이 오면 +0.5, 안 오면 −0.5, 평균 0. (나) 불빛 A +0.25, 불빛 B +1. 불빛 시점을 모르면 불빛 직전의 기대는 0이다. (다) 준비 신호 +0.625, 불빛 A 0.25 − 0.625 = −0.375, 불빛 B +0.375. TD 오차는 상태의 값이 아니라 한 스텝 사이에 바뀐 기대이므로, 무엇을 미리 알고 있었느냐가 같은 사건의 오차를 바꾼다.

문제 9. 어느 단계가 틀렸나

언어 모델이 쓴 네 단계 풀이의 최종 답이 틀렸다(보상 0). 문제만 본 자리와 단계 1, 2, 3을 쓴 뒤 자리에서 이 모델이 이어 쓰면 결국 맞힐 참 확률은 0.60, 0.70, 0.75, 0.20이다. (가) 참 가치를 안다면 단계 1~4 각각의 TD 오차는? 어느 단계가 틀린 단계인가? (나) 참 확률을 모른 채 단계 1, 2, 3 뒤에서 이어 쓰기를 8번씩 해 보니(씨앗 9) 정답 수가 2, 5, 0이었다. 소프트 라벨과 하드 라벨은? (다) 참 확률이 0.20인 단계 3 뒤에서 이어 쓰기 8번 가운데 하나라도 맞을 확률은? 하드 라벨에게 이것은 무엇을 뜻하나?

선생님 (평상)
선생님
민준 학생, (가)에서 틀린 단계는 어디죠?
김민준 (평상)
김민준
TD 오차부터 볼게요. 단계 1이 0.70 − 0.60 = +0.10, 단계 2가 +0.05예요.
선생님 (평상)
선생님
단계 3과 4는요?
김민준 (평상)
김민준
단계 3이 0.20 − 0.75 = −0.55, 단계 4가 0 − 0.20 = −0.20이에요. 단계 3이 가장 크게 떨어뜨렸어요.
선생님 (평상)
선생님
(나)의 라벨로도 같은 답이 나오나요?
김민준 (평상)
김민준
소프트 라벨은 2/8 = 0.25, 5/8 = 0.625, 0/8 = 0이에요.
김민준 (생각)
김민준
어, 단계 1 뒤가 0.25면 단계 1부터 틀린 것 같은데요. 문제만 볼 때 0.60이었으니까 단계 1에서 크게 떨어진 거예요.
선생님 (질문)
선생님
단계 1 뒤의 참 확률은 0.70이었어요. 8번 이어 쓴 비율은 얼마나 흔들리죠?
김민준 (난처함)
김민준
표준편차가 √(0.7 × 0.3 / 8) = 0.16이니까, 0.25는 많이 운이 나빴던 거예요. 소프트 라벨 하나만 보고 단계 1을 탓하면 안 되겠네요.
이서연 (평상)
이서연
하드 라벨은 1, 1, 0이야. 이번엔 단계 3 뒤에서 하나도 못 맞혀서 0이 나왔고.
선생님 (질문)
선생님
참 확률이 0.20이면, 8번 가운데 하나라도 맞을 확률은요?
이서연 (생각)
이서연
하나도 안 맞을 확률을 빼면 되니까 1 − 0.8⁸ = 0.832요.
이서연 (놀람)
이서연
열에 여덟 번은 단계 3 뒤도 하드 라벨 1을 받는 거네요. 그러면 틀린 단계를 못 잡아내요.
선생님 (흐뭇함)
선생님
그래요. 몬테카를로 라벨은 이어 쓰기 수가 적으면 흔들리고, 하드 라벨은 「한 번이라도 맞으면」이라 낮은 확률의 자리를 좋은 자리로 읽기 쉬워요. 시간차 쪽은 어떻죠?
이서연 (평상)
이서연
이웃한 두 자리의 가치를 빼니까, 가치 모델이 정확하면 단계 3의 −0.55가 바로 나와요. 대신 가치 모델이 틀리면 그 틀림이 그대로 라벨이 되고요. 결국 이어 쓰기의 흔들림과 가치 모델의 편향 가운데 무엇을 감수하느냐네요.
김민준 (평상)
김민준
조별 과제에서 누가 망쳤는지를 최종 점수로만 찾으면 운이 섞이고, 단계마다 조장이 매긴 진행 점수 차이로 찾으면 조장 눈이 틀린 만큼 틀리는 거랑 같아요.

정리 (가) +0.10, +0.05, −0.55, −0.20. 가치를 가장 크게 떨어뜨린 단계 3이 틀린 단계다. (나) 소프트 라벨 0.25, 0.625, 0, 하드 라벨 1, 1, 0. 이어 쓰기 8번의 비율은 표준편차가 0.14~0.16쯤이라, 단계 1 뒤의 0.25처럼 운에 크게 흔들린다. (다) 1 − 0.8⁸ = 0.832. 하드 라벨은 맞힐 확률이 낮은 자리도 대개 1로 읽는다. 몬테카를로 라벨은 이어 쓰기의 분산을, TD 오차로 만든 라벨은 가치 모델의 편향을 떠안는다.