택시 운전사가 묻고 싶은 것은 결국 이것이다. 「시장에서 손님을 내려 줬다. 여기서 늘 배회하는 것과 늘 승차장에 서는 것 가운데 어느 쪽이 하루를 더 낫게 만드나?」 하루 한 번의 리턴은 운에 따라 크게 달라지는데, 손님 한 명 만에 퇴근하는 날도 있고 서른 명을 태우는 날도 있다. 그렇다면 「이 구역에서 이 정책을 따르면 앞으로 얼마를 번다」는 숫자 하나를 어떻게 얻을까?
하루를 여러 번 돌려 평균 내기
가장 곧은 방법은 같은 구역에서 하루를 여러 번 돌려 리턴을 평균 내는 것이다. 시장에서 출발해 두 정책으로 하루를 1만 번씩 모의실험했다(γ = 1).
돌린 하루 수 N
늘 배회: 평균 리턴 (표준오차)
늘 승차장: 평균 리턴 (표준오차)
10
85.60 (33.84)
46.70 (8.92)
100
46.76 (5.06)
50.11 (4.90)
1,000
47.68 (1.56)
60.36 (1.97)
10,000
49.96 (0.49)
59.41 (0.59)
하루 10번이면 늘 배회가 훨씬 나아 보이지만, 표준오차가 33.84라서 아무것도 말할 수 없다. 하루 한 번의 리턴은 늘 배회에서 3부터 557까지 퍼졌고 표준편차가 48.8이었다. 평균의 표준오차(하루들을 새로 뽑아 다시 평균 내면 평균이 달라지는 정도를 잰 표준편차)는 1/N에 비례해 줄어 1만 번이면 0.5쯤이 되고, 그제야 늘 승차장(59.41)이 늘 배회(49.96)보다 10쯤 낫다고 말할 수 있다.
이 평균이 겨누는 값, 곧 「상태 s에서 출발해 정책 π를 따를 때 리턴의 기댓값」을 정책 π의 가치함수 (자리의 값 / value function) Vπ(s)라 한다. 첫 행동만 a로 정해 두고 그 뒤로 정책을 따를 때의 기대 리턴은 행동 가치 Qπ(s,a)라 부른다. 표를 만들 때 한 일은 이 기댓값을 하루 N번의 평균 V^로 어림한 것이다.
둘째 줄의 첫 식이 두 가치를 잇는다. 행동을 고르기 전의 기대 리턴은, 행동마다 고른 뒤의 기대 리턴을 그 행동을 고를 확률로 섞은 평균이다. 구역마다 동전을 던져 배회와 승차장을 반반으로 고르는 정책으로 시장에서 하루를 100만 번씩 돌려 보면, Qπ(시장, 배회) ≈ 54.03, Qπ(시장, 승차장) ≈ 54.23, Vπ(시장) ≈ 54.07이다(표준오차는 모두 0.05). 두 Qπ의 반반 평균 54.13은 Vπ와 표준오차 두 배 안에서 같다.
그림의 나무는 위의 두 식을 한 장에 담는다. 상태 s에서 정책이 행동을 고르는 가지가 나뉘고, 가지마다 끝의 값이 Qπ다. 행동마다 다시 세상이 전이 확률 P로 다음 상태를 뽑는 가지가 나뉘고, 그 아래에서 같은 나무가 되풀이된다. 아래의 값을 확률로 섞어 위로 올리는 이 셈을 흔히 백업(backup)이라 부르고, 이 그림을 백업 나무라 부른다. 하루를 끝까지 돌려 평균 내는 것은 이 나무의 맨 아래까지 길 하나를 따라 내려가 리턴을 한 번 재는 일을 여러 번 되풀이하는 것이다.
아래 위젯에서 구역마다 행동을 골라 정책을 만들고 하루를 돌려 보자. 히스토그램의 폭이 한 날의 리턴이 얼마나 퍼지는지를, 오른쪽 곡선과 띠가 평균이 몇 날쯤 돌려야 한 값 근처에 머무는지를 보여 준다. γ를 내리면 같은 정책의 가치가 어떻게 바뀌는지도 보자.
ML에서: 언어 모델의 가치는 「결국 맞힐 확률」이다
언어 모델로 수학 문제를 풀고 끝에 정답 1점, 오답 0점을 준다고 하자. 상태는 프롬프트와 지금까지 쓴 풀이이고, γ = 1이다. 그러면 어느 상태에서든 리턴은 0 아니면 1이고, 그 기댓값인 가치 Vπ(s)는 「여기까지 쓴 풀이에서 이 모델이 계속 써 나가면 결국 맞힐 확률」이 된다. 행동 가치 Qπ(s,a)는 다음 토큰을 a로 정해 붙인 뒤의 그 확률이다. 토큰 MDP는 다음 상태가 하나로 정해져 있어서, 백업 나무에서 행동 아래의 가지가 하나로 줄어든다.
이 가치를 재는 가장 곧은 방법도 택시와 같다. 풀이를 그 자리까지 써 둔 채 모델에게 나머지를 여러 번 이어 쓰게 하고 정답 비율을 센다. 이어 쓰기는 한 번 한 번이 응답 생성이라 비싸다. 풀이의 자리마다 가치 Vπ가 있으면 「어느 토큰에서 결국 맞힐 확률이 오르고 내렸는가」를 물을 수 있는데, 그 가치를 매번 이어 쓰기로 재지 않고 따로 학습한 모델에게 맡기는 방법이 뒤에서 비평가라는 이름으로 나온다.
문제 10: 등산 갈림길
등산로 갈림길에서 왼쪽 길로 가면 0.8의 확률로 정상까지 가서 만족도 10을 얻고, 아니면 중간에 돌아와 만족도 2를 얻는다. 오른쪽 길은 0.5의 확률로 정상(10), 0.5의 확률로 돌아옴(2)이다. (가) 갈림길에서 왼쪽 길을 고른 뒤의 기대 만족도와 오른쪽 길을 고른 뒤의 기대 만족도는? (나) 친구는 갈림길에서 늘 동전을 던져 길을 고른다. 친구에게 갈림길의 기대 만족도는? 늘 왼쪽으로 가는 사람에게는?
반은 8.4, 반은 6.0 을 받으니까 7.2 네요. 늘 왼쪽으로 가는 사람만 8.4 고요.
이서연
같은 갈림길인데 누가 서 있느냐에 따라 값이 달라지네. 갈림길의 값은 길을 고르는 규칙까지 정해야 나오는 거구나.
선생님
그래요. 길을 고른 뒤의 값 8.4 와 6.0 은 고르는 규칙과 상관없이 같고, 고르기 전의 값은 그 규칙의 확률로 섞은 평균이에요.
이서연
확률론에서 조건부 기댓값을 조건의 확률로 섞으면 전체 기댓값이 되는 거랑 같은 모양이에요.
정리 (가) 왼쪽 8.4, 오른쪽 6.0 (고른 뒤의 값, 행동 가치에 해당). (나) 동전을 던지는 친구 0.5 × 8.4 + 0.5 × 6.0 = 7.2, 늘 왼쪽인 사람 8.4. 고르기 전의 값(가치)은 고르는 규칙(정책)에 따라 달라진다. 이 문제에서는 길을 고른 뒤 다시 고를 일이 없어 행동 가치가 정책과 상관없지만, 고를 일이 뒤에도 이어지면 행동 가치도 정책을 따라 바뀐다.
문제 11: 시장에서는 배회가 나은가
세 구역 택시에서 「늘 승차장」 정책을 따를 때, 시장에서 이번 손님의 기대 보상은 배회 4.50, 승차장 3.80이다. 다음 구역의 확률(일이 이어질 때)은 시장 배회 (역 0.3, 시장 0.6, 대학가 0.1), 시장 승차장 (0.4, 0.2, 0.4)이다. 모의실험(하루 200만 번씩)으로 잰 행동 가치는 다음과 같았다.
γ = 1: Qπ(시장, 배회) ≈ 58.39, Qπ(시장, 승차장) ≈ 58.73
γ = 0.5: Qπ(시장, 배회) ≈ 9.01, Qπ(시장, 승차장) ≈ 8.83
(표준오차는 γ = 1 에서 0.04, γ = 0.5 에서 0.002.) (가) 이 정책에서 Vπ(시장)은 각각 얼마인가? (나) 시장에서 한 번만 다르게 고를 수 있다면, γ = 1과 0.5에서 각각 무엇을 고르겠는가? 이번 손님의 보상만 보고 고른 답과 왜 다른가? (다) 위젯의 「문제 11 설정 불러오기」는 시장에서만 배회하는 정책을 시장에서 출발시킨다. 시장의 행동만 바꿔 가며 두 정책의 평균 리턴을 γ = 1과 0.5에서 견줘 보라.
선생님
민준 학생, 시장에서는 무엇을 고르겠어요?
김민준
배회요. 이번 손님에서 4.50 대 3.80 이니까 배회가 0.70 더 벌어요.
선생님
그건 이번 손님 하나의 값이에요. (가)부터 보죠. 이 정책은 시장에서 무엇을 고르죠?
이서연
늘 승차장이니까 시장에서도 승차장이에요. 그럼 Vπ(시장) 은 Qπ(시장, 승차장) 그 자체라서, γ = 1 이면 58.73, γ = 0.5 면 8.83 이에요. 섞을 행동이 하나뿐이니까요.
선생님
그럼 (나)는요? 한 번 배회하고 그 뒤로는 다시 늘 승차장이면요.
김민준
γ = 1 에서는 배회가 58.39 로 승차장 58.73 보다 작아요. 표준오차가 0.04 니까 차이 0.34 는 우연이 아니고요. 이번 손님에서 0.70 을 더 벌어도 하루 전체로는 지네요.
이서연
다음 구역을 보면 알 것 같아. 배회하면 0.6 의 확률로 시장에 남는데, 시장은 요금이 싼 곳이야. 승차장 줄의 손님은 역이나 대학가로 0.4 씩 데려가 주고. 이번에 덜 벌어도 다음 자리가 더 좋은 곳이 되는 거지.
선생님
γ = 0.5 에서는요?
김민준
배회 9.01, 승차장 8.83 이라 배회예요. 0.5 면 대략 두 스텝 앞까지만 보니까, 다음 자리의 좋고 나쁨보다 이번 0.70 이 더 크게 보이는 거네요.
이서연
같은 세상, 같은 자리인데 할인율에 따라 답이 뒤집혀요. 이번 보상만 보는 건 할인율을 0 으로 둔 것과 같고요.
선생님
그래요. (다)는 위젯에서 직접 돌려 봐요. 두 정책의 평균 차이가 표준오차 띠보다 커질 때까지 하루를 몇 번이나 돌려야 하는지도 보고요.
김민준
학점 잘 주는 교양만 골라 들으면 이번 학기 평점은 오르는데, 전공 기초를 안 들어서 다음 학기가 힘들어지는 거랑 같네요.
정리 (가) 정책이 시장에서 승차장만 고르므로 Vπ(시장) = Qπ(시장, 승차장): γ = 1 에서 58.73, 0.5 에서 8.83. (나) γ = 1 이면 승차장, γ = 0.5 면 배회. 행동 가치는 이번 보상만이 아니라 그 행동이 옮겨 놓는 다음 상태의 값까지 담고, 할인율이 둘의 무게를 정한다. 이번 보상만 보고 고르는 것은 γ = 0 의 답이다.
문제 12: 풀이 앞부분의 가치
언어 모델이 수학 문제를 풀다가 어느 자리까지 썼다. 다음 토큰으로 모델은 「그러므로」를 0.6, 「잠깐」을 0.4의 확률로 고른다. 「그러므로」를 쓴 뒤 이어 쓰면 결국 정답일 확률이 0.7, 「잠깐」을 쓴 뒤라면 0.9다(정답 1점, 오답 0점, γ = 1). (가) 여기까지 쓴 풀이(상태 s)의 가치 Vπ(s)와 두 토큰의 행동 가치 Qπ를 구하시오. (나) 두 확률을 모른 채 상태 s에서 이어 쓰기를 16번 해 정답 비율로 가치를 어림하면 표준오차는 얼마쯤인가? 100번이면? (다) 상태 s에서 모델이 더 잘한 선택이 되는 토큰은 어느 쪽인가?
선생님
민준 학생, 여기까지 쓴 풀이의 가치는요?
김민준
모델이 주로 고르는 게 「그러므로」니까, 그 뒤의 0.7 이요.
선생님
여기까지 쓴 풀이에서 이어 쓰기를 열 번 하면, 「잠깐」으로 시작하는 것은 몇 번쯤 나오고 그때 맞힐 확률은 얼마죠?
김민준
네 번쯤이고 그때는 0.9 예요. 그럼 0.6 × 0.7 + 0.4 × 0.9 = 0.78 이네요. 동전 던지는 등산 친구랑 같아요.
선생님
그럼 이 문제에서 Qπ 와 Vπ 는 각각 어느 값이에요?
김민준
고른 뒤의 값이 Qπ 니까 0.7 과 0.9, 그걸 고를 확률로 섞은 게 Vπ 니까 0.78 이에요.
그러면 「그러므로」와 「잠깐」의 차이 0.2 를 가리려면 토큰마다 따로 수십 번씩 이어 써야 해. 풀이의 자리가 수백 개면 그걸 다 하는 건 너무 비싸.
선생님
(다)는요?
이서연
「잠깐」이요. 0.9 로 더 높아요. 모델이 덜 고르는 토큰이 오히려 더 좋은 선택이에요. Vπ 0.78 보다 높은 쪽이 「평소보다 잘한」 선택이라고 말할 수 있겠네요.
김민준
발표 연습에서 바로 결론으로 가는 것보다, 한 번 멈춰서 계산을 다시 확인하는 쪽이 결국 질문을 덜 받는 거랑 비슷해요.
정리 (가) Qπ(「그러므로」) = 0.7, Qπ(「잠깐」) = 0.9, Vπ = 0.6 × 0.7 + 0.4 × 0.9 = 0.78. 가치는 가장 흔한 행동의 값이 아니라 행동 가치들을 정책의 확률로 섞은 평균이다(모의실험 1만 번의 정답 비율 0.784). (나) √(0.78 × 0.22 / 16) = 0.104, 100번이면 0.041. 이어 쓰기로 가치를 재는 일은 정확해지려면 비싸다. (다) 「잠깐」. 행동 가치가 그 상태의 가치 Vπ보다 높은 행동이 평소보다 나은 선택이다.