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

자주 하는 실수와 요약

자주 하는 실수
실수 나온 문제 바로잡는 법
실제 결과가 늘 더 나은 목표라고 봄 1, 4 결과에는 그 뒤의 운이 모두 섞인다. 데이터가 적으면 치우친 다음 예측이 더 나은 목표일 수 있다
학습률 1의 시간차 학습은 지나간 칸을 모두 고친다고 봄 2 목표가 옆 칸의 지금 값이라, 옆 칸의 값이 바뀌지 않았으면 고치려는 칸의 값도 바뀌지 않는다. 소식은 한 스텝씩 옮겨 간다
정답 응답이면 시간차 학습에서도 모든 자리의 값이 오른다고 봄 3 시간차 목표는 다음 자리의 예측이다. 다음 예측이 내려간 자리는 값이 내려간다
분산이 작은 목표가 늘 낫다고 봄 4, 5 편향은 평균을 내도 줄지 않는다. 데이터가 쌓이면, 또 상태가 마르코프가 아니면 편향이 더 크다
시간차 학습의 확실성 등가 추정이 언제나 옳다고 봄 5 다음 상태가 앞날에 필요한 것을 다 담을 때(마르코프 성질)만이다. 모자라면 상태를 넓힌다
고정 학습률로 오래 학습하면 참값에 닿는다고 봄 6 학습률에 따라 커지는 분산이 남는다. 모이려면 학습률의 합은 무한, 제곱의 합은 유한해야 한다
보상을 받는 순간 TD 오차가 가장 크다고 봄 7 TD 오차는 기대가 바뀐 폭이다. 기대대로 온 보상의 오차는 0이고, 놀라움은 소식이 온 순간에 나온다
신호의 TD 오차를 모든 신호의 평균 기대로 셈함 8 신호 직전에 무엇을 기대하고 있었는지(신호가 언제 올지 알았는지)를 먼저 본다
이어 쓰기 몇 번의 비율이나 하드 라벨로 단계의 좋고 나쁨을 그대로 읽음 9 이어 쓰기 수가 적으면 비율이 크게 흔들리고, 하드 라벨은 맞힐 확률이 낮은 자리도 1로 읽기 쉽다
n\textcolor{#993600}{n}을 늘리면 목표가 한쪽으로 고르게 움직인다고 봄 10 어느 스텝의 예측을 믿느냐에 따라 목표가 오르내린다
참값을 쓰면 n\textcolor{#993600}{n}스텝 목표가 참값과 같다고 봄 11 참값은 목표들의 평균일 뿐이다. 한 에피소드의 목표는 n\textcolor{#993600}{n}스텝 동안의 운만큼 흔들린다
학습률이 1이면 한 번에 소식이 끝까지 간다고 봄, n\textcolor{#993600}{n}은 클수록 좋다고 봄 12 한 스텝 시간차는 한 번에 한 스텝씩 옮긴다. n\textcolor{#993600}{n}이 크면 빠르지만 분산이 커진다
요약

시간차 학습은 에피소드가 끝나기를 기다리지 않고, 한 스텝 가서 받은 보상과 다음 상태의 지금 값을 더한 것을 목표로 지금 상태의 값을 고친다. 전이 확률을 몰라도 겪어 보면서 배울 수 있고, 스텝마다 바로 고친다. 새뮤얼의 체커 프로그램이 판면 점수의 차이 「델타」로 이 일을 처음 했고, 서튼이 1988년에 일반적인 예측 방법으로 정리했다. 일곱 칸 랜덤 워크에서 시간차 학습은 몬테카를로보다 빨리 참값에 다가갔다.

자기 추정을 목표에 넣는 부트스트랩은 목표의 분산을 줄이는 대신, 그 추정이 틀린 만큼 치우친다. 같은 데이터를 되풀이해 학습한 시간차 학습은 데이터에서 세운 모델을 참이라 믿고 셈한 확실성 등가 추정으로 가고, 상태가 마르코프일 때 데이터를 몬테카를로보다 잘 쓴다. 마르코프 성질이 깨지면 편향이 남는다. 고정 학습률은 참값 둘레에 학습률에 따라 커지는 분산을 남기고, 학습률의 합은 무한하고 제곱의 합은 유한하게 줄여 가야 참값에 모인다.

시간차 학습의 대괄호 안 양, 「이번 보상 + 다음 상태의 값 − 지금 상태의 값」이 TD 오차 δt\textcolor{#8e44ad}{\delta_t}다. 기대가 바뀐 폭이라서, 기대대로 온 보상에는 0이고 뜻밖의 소식이 온 순간에 나온다. 슐츠·다얀·몬터규는 1997년 원숭이 도파민 뉴런의 신호를 이 오차로 읽었다. 언어 모델의 과정 보상 모델에서 단계 라벨을 이어 쓰기의 정답 비율로 만들면 몬테카를로이고, 이웃한 단계의 가치 차이로 만들면 TD 오차다.

n\textcolor{#993600}{n}스텝 시간차는 n\textcolor{#993600}{n}스텝까지는 실제 보상을 더하고 그 뒤는 예측을 믿어, 한 스텝 시간차와 몬테카를로를 잇는다. 예측이 대충 맞으면 짧은 n\textcolor{#993600}{n}이, 예측이 크게 틀려 있으면 가운데의 n\textcolor{#993600}{n}이 나았다. 끝에만 점수가 오는 긴 응답에서 n\textcolor{#993600}{n}은 소식이 첫 토큰에 닿는 데 드는 훑기 수와 목표의 분산 사이의 저울이다.

막힌 곳

이 장에서는 상태의 값 V\textcolor{#00897b}{V}를, 겪어 보면서 끝까지 기다리지 않고도 배울 수 있게 됐다. 그런데 V\textcolor{#00897b}{V}로 무엇을 할지 정하려 하면 문제가 생긴다. 칸마다 값을 다 안다고 해도, 지금 칸에서 어느 행동을 고를지는 「그 행동이 어느 칸으로 데려가는지」를 알아야 고를 수 있다. 필요한 것은 행동마다 다음 상태가 어디로 갈지의 확률, 곧 전이 확률 P\textcolor{#8877ff}{P}인데, 우리는 바로 그 P\textcolor{#8877ff}{P}를 모르는 채 배우려고 시간차 학습을 세웠다. V\textcolor{#00897b}{V}를 알아도 P\textcolor{#8877ff}{P} 없이는 어느 행동이 좋은지 고를 수 없다.