5. 벨먼 방정식: 가치를 한 스텝씩 쪼개면 되풀이가 답에 모인다

자주 하는 실수와 요약

자주 하는 실수
실수 나온 문제 바로잡는 법
가치를 몇 달치만 더하고 끊음 1 「다음 상태의 앞으로의 값」이 그 상태의 가치임을 써서 식으로 접는다
퇴근도 할인도 없을 때 같은 방법으로 풀린다고 봄 2 행 합이 1이면 I−PπI - \textcolor{#8877ff}{P^\pi}에 역행렬이 없다. 퇴근이나 할인이 행 합을 1보다 작게 만들어야 한다
숫자들이 「비슷하다」로 벨먼 기대 방정식을 지킨다고 봄 3 확률 가중 평균을 셈해 견준다. 어긋나면 어느 숫자가 틀렸는지는 이 방정식만으로 모른다
길을 모두 늘어놓아 최단을 찾으려 함 4 갈림목마다 「여기서부터의 최선」 하나만 적고 뒤에서부터 셈한다
첫 결정이 같으면 가치도 같다고 봄 5 최적성의 원리: 첫 결정 뒤의 모든 상태에서 남은 결정이 다시 최적이어야 한다
지금 정책의 행동 가치를 Q∗\textcolor{#00897b}{Q^*}로 읽음, 그리디 디코딩을 최적 정책으로 봄 6 Q∗\textcolor{#00897b}{Q^*}는 그 뒤에 최선을 다할 때의 값이다. 정책의 확률에 대한 그리디와 Q∗\textcolor{#00897b}{Q^*}에 대한 그리디는 다르다
처음에 앞선 쪽은 계속 앞선다고 봄 7 배율이 1보다 작은 되풀이는 처음 차이를 배율의 거듭제곱으로 줄인다
γ\textcolor{#7a1f5a}{\gamma} = 1이면 퇴근이 있어도 축약이 아니라고 봄 8 퇴근 확률이 다음 구역 가치에 곱하는 수를 1보다 작게 만들어 할인율 노릇을 한다
확률로 평균 내기만 해도 차이가 0으로 간다고 봄 8 모든 칸에 같은 수를 더한 차이는 줄지 않는다. 1보다 작은 배율이 있어야 한다
γ\textcolor{#7a1f5a}{\gamma} = 1이면 되풀이가 모이지 않는다고 봄 9 반드시 끝나는 에피소드에서는 끝의 값이 한 스텝에 한 칸씩 올라와 길이만큼이면 정확해진다
오늘 보상이 큰 쪽으로 정책을 고침 10, 11 행동 가치 Qπ\textcolor{#00897b}{Q^\pi}로 견준다. 이번 보상으로 고치면 가치가 줄 수 있다
행동 가치가 같을 때도 바꿈 11 같으면 지금 행동을 둔다. 그래야 정책 반복이 멈춘다
거친 평가로 고쳐도 정책이 늘 나아진다고 봄 12 정책 개선 정리는 정확한 평가를 가정한다. 행동 가치 차이가 작으면 평가를 그만큼 정밀하게 해야 한다
요약

상태의 가치는 「이번 스텝의 보상 + 할인한 다음 상태 가치의 평균」으로 쪼개진다. 정책 하나에 대해 적은 관계가 벨먼 기대 방정식 Vπ=rπ+γPπVπ\textcolor{#00897b}{V^\pi} = \textcolor{#d9670b}{r^\pi} + \textcolor{#7a1f5a}{\gamma}\textcolor{#8877ff}{P^\pi}\textcolor{#00897b}{V^\pi}이고, 연립일차방정식이라 (I−γPπ)−1rπ(I - \textcolor{#7a1f5a}{\gamma}\textcolor{#8877ff}{P^\pi})^{-1}\textcolor{#d9670b}{r^\pi}로 푼다. 세 구역 택시에서 이 풀이는 하루를 1만 번 돌린 평균과 표준오차 안에서 맞고, 퇴근이나 할인이 행 합을 1보다 작게 만들어야 답이 하나로 정해진다. 벨먼이 랜드 연구소에서 여러 단계 결정 문제를 붙들며 세운 이 쪼개기에 그는 동적 계획법이라는 이름을 붙였다.

정책 대신 행동 가운데 가장 큰 것을 고르면 벨먼 최적 방정식 V∗(s)=max⁡aQ∗(s,a)\textcolor{#00897b}{V^*}(\textcolor{#0093b8}{s}) = \max_{\textcolor{#1c9c60}{a}} \textcolor{#00897b}{Q^*}(\textcolor{#0093b8}{s}, \textcolor{#1c9c60}{a})이 된다. 최적성의 원리 때문에 상태마다 최선의 행동을 모은 정책 하나가 모든 상태에서 최선이고, Q∗\textcolor{#00897b}{Q^*}에 대한 그리디 정책이 최적 정책이다. 택시에서는 「늘 승차장」이 여덟 정책을 모든 구역에서 이긴다. 다만 정책의 확률에 대한 그리디(그리디 디코딩)와 Q∗\textcolor{#00897b}{Q^*}에 대한 그리디는 다르다.

벨먼 최적 방정식은 max 때문에 역행렬로 풀 수 없지만, 오른쪽을 되풀이해 적용하는 가치 반복으로 푼다. 벨먼 연산자 T\textcolor{#ff0059}{\mathcal{T}}는 두 표의 가장 큰 칸 차이를 γ\textcolor{#7a1f5a}{\gamma}배 이하로 줄이는 축약 사상이라, 어느 표에서 시작해도 V∗\textcolor{#00897b}{V^*} 한 점에 모이고, 오차를 1/1000로 줄이는 데 ln⁡1000/ln⁡(1/γ)\ln 1000 / \ln(1/\textcolor{#7a1f5a}{\gamma})스텝이면 넉넉하다. 멀리 볼수록 느리다. 퇴근 확률도 배율 노릇을 하고, 배율이 1이면 모든 칸에 같은 수를 더한 차이가 남는다.

정책 반복은 지금 정책을 벨먼 기대 방정식으로 평가하고, 행동 가치가 큰 쪽으로 고치기를 되풀이한다. 정책 개선 정리가 고칠 때마다 가치가 줄지 않음을 보장하고, 택시에서는 평가 세 번에 최적 정책에 닿는다. 시어스 카탈로그를 되풀이로 풀던 하워드가 정책 반복을 찾았다. 평가 한 번은 가치 반복 한 스텝보다 비싸고, 평가가 거칠면 고치기가 엉뚱한 쪽으로 갈 수 있다.

막힌 곳

이 장의 셈은 모두 구역마다, 행동마다 다음 구역의 확률 P\textcolor{#8877ff}{P}와 이번 보상의 기댓값을 안다는 가정 위에서 했다. 벨먼 기대 방정식의 행렬도, 벨먼 연산자 안의 평균도, 정책 반복의 행동 가치도 그 표가 있어야 셈할 수 있었다. 그런데 사용자가 무엇이라 답할지, 도구가 무엇을 돌려줄지 그 확률표를 누가 알려 주는가? 전이 확률 P\textcolor{#8877ff}{P}를 모르면, 겪어 본 스텝들만으로 가치를 어떻게 셈할까?