Skip to content

Commit 6e3aab8

Browse files
committed
split article into two, writing the second a little bit more
1 parent f512d0b commit 6e3aab8

File tree

2 files changed

+128
-36
lines changed

2 files changed

+128
-36
lines changed

_posts/2025-08-20-policy_evaluation.md renamed to _posts/2025-08-20-finite_mdp.md

Lines changed: 43 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
layout: single
3-
title: "Policy Evaluation과 Contraction Principle"
3+
title: "Finite MDP"
44
categories: machine-learning
5-
tags: [reinforcement learing, dynamic programming, Bellman equation, policy evaluation, contraction principle, fixed point]
5+
tags: [reinforcement learing, finite markov decision process, markov property, Bellman equation]
66
use_math: true
77
publish: false
88
author_profile: false
@@ -182,6 +182,37 @@ $$q_\pi(s,a)=\mathbb E\left[G_t|S_t=s,A_t=a\right]\tag{3.13}$$
182182

183183
이며, 이것은 현재 상태 $s$에서 행동 $a$를 취하고 정책 $\pi$를 따라나갈 때의 return의 기댓값이다.
184184

185+
Exercise 3.12, 13을 간단히 풀어보려 한다.
186+
$v_\pi$를 $q_\pi$로 표현해보고 반대도 표현해보라는 문제로, 바로 다음 절의 Bellman equation의 증명과 깊숙히 연관되어 있다.
187+
조금 헷갈리니까 자세히 쓰면 Exercise 3.12는
188+
189+
$$
190+
\begin{align*}
191+
v_\pi(s)
192+
&=\mathbb E\left[G_t|S_t=s\right]\\
193+
&=\sum_s gP\left\{G_t=g|S_t=s\right\}\\
194+
&=\sum_s g\pi(a|s)P\left\{G_t=g|S_t=s, A_t=a\right\}\\
195+
&=\sum_a\pi(a|s)\mathbb E\left[G_t|S_t=s,A_t=a\right]\\
196+
&=\sum_a\pi(a|s)q_\pi(s,a)\tag{e3.12}
197+
\end{align*}
198+
$$
199+
200+
이 될 것이다.
201+
Exercise 3.13은 간략하게
202+
203+
$$
204+
\begin{align*}
205+
q_\pi(s,a)
206+
&=\mathbb E\left[G_t|S_t=s,A_t=a\right]\\
207+
&=\sum_{r,s'}p(r,s'|s,a)\mathbb E\left[R_{t+1}+\gamma R_{t+2}|S_t=s,A_t=a, R_{t+1}=r,S_{t+1}=s'\right]\\
208+
&=\sum_{r,s'}p(r,s'|s,a)\mathbb E\left[r+\gamma R_{t+2}|S_{t+1}=s'\right]\\
209+
&=\sum_{r,s'}p(r,s'|s,a)\left(r+\gamma\mathbb E\left[R_{t+2}|S_{t+1}=s'\right]\right)\\
210+
&=\sum_{r,s'}p(r,s'|s,a)\left(r+\gamma v_\pi(s')\right)\tag{e3.13}
211+
\end{align*}
212+
$$
213+
214+
와 같이 풀릴 수 있을 것이다.
215+
185216
# 3. Bellman equations
186217

187218
<!-- 모든 상태 $s\in\mathcal S$에 대하여 식(3.14)가 성립한다.
@@ -228,55 +259,31 @@ $$
228259
방금 것은 $v$에 대한 Bellman equation이다.
229260
$q$에 대해서도 Bellman equation이 있다.
230261
모든 $s\in\mathcal S$와 모든 $a\in\mathcal A$에 대하여 다음 식이 성립한다.
231-
책에는 따로 식에 대한 라벨링이 되어 있지않은데 asterisk를 붙여 표시해보려 한다.
262+
책에는 이것이 Exercise 3.17로 되어있는 듯하고, 따로 식에 대한 라벨링이 되어 있지않은데 asterisk를 붙여 표시해보려 한다.
232263

233264
$$
234265
\begin{align*}
235266
q_\pi(s,a)
236267
&=\mathbb E_\pi\left[G_t|S_t=s, A_t=a\right]\\
237268
&=\mathbb E_\pi\left[R_{t+1}+\gamma G_{t+1}|S_t=s, A_t=a\right]\\
238-
&=\sum_{r, s'} p(r, s'|s,a)\mathbb E_\pi\left[R_{t+1}+\gamma G_{t+1}|S_t=s,A_t=a, R_{t+1}=r, S_{t+1}=s'\right]\\
239-
&=\sum_{r, s'} p(r, s'|s,a)\mathbb E_\pi\left[r+\gamma G_{t+1}|S_{t+1}=s'\right]\\
240-
&=\sum_{r, s'} p(r, s'|s,a)\left(r+\gamma\mathbb E_\pi\left[G_{t+1}|S_{t+1}=s'\right]\right)\\
241-
&=\sum_{r, s'} p(r, s'|s,a)\left(r+\gamma\sum_{a'}\pi(a'|s')\mathbb E_\pi\left[G_{t+1}|S_{t+1}=s', A_{t+1}=a'\right]\right)\\
242-
&=\sum_{r, s'} p(r, s'|s,a)\left(r+\gamma\sum_{a'}\pi(a'|s')q_\pi(s',a')\right)\tag{3.14*}
269+
&=\sum_{r, s'} p(s', r|s,a)\mathbb E_\pi\left[R_{t+1}+\gamma G_{t+1}|S_t=s,A_t=a, R_{t+1}=r, S_{t+1}=s'\right]\\
270+
&=\sum_{r, s'} p(s', r|s,a)\mathbb E_\pi\left[r+\gamma G_{t+1}|S_{t+1}=s'\right]\\
271+
&=\sum_{r, s'} p(s', r|s,a)\left(r+\gamma\mathbb E_\pi\left[G_{t+1}|S_{t+1}=s'\right]\right)\\
272+
&=\sum_{r, s'} p(s', r|s,a)\left(r+\gamma\sum_{a'}\pi(a'|s')\mathbb E_\pi\left[G_{t+1}|S_{t+1}=s', A_{t+1}=a'\right]\right)\\
273+
&=\sum_{r, s'} p(s', r|s,a)\left(r+\gamma\sum_{a'}\pi(a'|s')q_\pi(s',a')\right)\tag{3.14*}
243274
\end{align*}
244275
$$
245276

246277
이것은 변수가 $\vert\mathcal S\vert\vert\mathcal A\vert$개이고 식의 개수도 $\vert\mathcal S\vert\vert\mathcal A\vert$개인 연립일차방정식이다.
247-
그런데 증명을 하다보면 현재의 가치는 $v$로 두고 다음 상태의 가치는 $q$로 두고 싶어지고, 또 그 반대인 식도 만들어내고 싶어진다.
278+
279+
<!-- 그런데 증명을 하다보면 현재의 가치는 $v$로 두고 다음 상태의 가치는 $q$로 두고 싶어지고, 또 그 반대인 식도 만들어내고 싶어진다.
248280
예를 들어 위의 증명을 조금만 바꾸면 다음 두 식이 성립한다.
249281
250282
$$
251283
\begin{align*}
252284
v_\pi(s)
253285
&=\sum_a\pi(a|s)\sum_{r,s'}p(r,s'|s,a)\left(r+\gamma\sum_{a'}\pi(a'|s')q_\pi(s',a')\right)\tag{3.14**}\\
254286
q_\pi(s,a)
255-
&=\sum_{r, s'} p(r, s'|s,a)\left(r+\gamma v_\pi(s')\right]\tag{3.14***}\\\\
287+
&=\sum_{r, s'} p(s', r|s,a)\left(r+\gamma v_\pi(s')\right]\tag{3.14***}
256288
\end{align*}
257-
$$
258-
259-
# 4. Bellman optimal equations
260-
261-
(9월 3일에 다시 작성하기 시작) 쓰다보니 또 스크롤이 길어지고 있다.
262-
원래 정했던 목표보다 더 근본적인 것부터 써가고 있다.
263-
그게 맞긴 한데, 이정도로 길거면 글을 둘로 나누는 게 맞겠다.
264-
그러니까 이 절까지, bellman optimal equations까지만 이 글에서 다루고 다음 글에서 contraction principle과 관련된 것을 보는 것이 좋겠다.
265-
꽤 자세히 적어나가면서 Sutton의 책을 열심히 보게된다는 점은 좋다.
266-
마치 공자의 『논어』에 대하여 위나라의 하안이 『논어집해』를 쓰며 주석을 달아가는 느낌이랄까.
267-
268-
---
269-
270-
Sutton은 컴퓨터공학자라고 한다.
271-
첫 회사에서 만난, Texas A&M 대학교에서 석박통합과정으로 공부하고 있다는 분이, 어떤 사람이 '수학을 잘한다'라는 표현을 썼었다.
272-
그 분에게는 아무 말도 하지 않았지만 '수학을 잘한다'는 것에 대한 말의 의미에 대해 한참동안 고민했다.
273-
미적분이나 선형대수, 해석학이나 집합론, 위상수학과 측도론, 확률론 등의 기본 개념들에 대해 깊이 이해하고 그 원리를 명확하게 알려고 노력하는 것을 그 말한 분이 얼마나 해봤을까, 하고 생각했다.
274-
아마도 baby rudin의 엄밀한 reasoning을 따라가본 적은 없을 것 같은데.
275-
보통 컴퓨터공학을 전공한 분들이 말하는 '수학을 잘한다', '머리가 좋다'는 건 어떤 개념일까, 하는 의문은 이쪽 업계에 있으면서 자주 든다.
276-
새로 부임하셨던, 컴퓨터공학 출신의 교수님이 수학에 대해 포괄적으로 논하는 것도 들었지만, 글쎄, 내가 모르는 천재라면 모를까 수학은 그렇게 쉽게 정복될 수 있는 대상이 아니라는 생각이다.
277-
278-
말이 길었는데, 나는 Sutton은 컴퓨터공학자임에도 불구하고 수학을 잘 아는 사람이라고 쓰려고 했다.
279-
그 근거는 어떤 정책이 더 나은 정책이며, 가장 좋은 정책인 최적정책을 정의하는 데에 집합론의 partial ordering을 쓰고 있기 때문이다.
280-
물론 이 개념은 학부 2학년 때 나오는 아주 기초적인 개념이고, 이해하는 데 몇 분 안 걸리는 개념일지도 모르겠다.
281-
하지만 나는 PoSet으로 optimal policy를 설명한 이 방식을 보고 이 책이 좋아졌고 Sutton이 좋아졌다.
282-
정말 적절하게 쓰였다고 생각되기 때문이다.
289+
$$ -->
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
layout: single
3+
title: "Belllman optimal equation"
4+
categories: machine-learning
5+
tags: [reinforcement learing, Bellman optimal equation, partial order]
6+
use_math: true
7+
publish: false
8+
author_profile: false
9+
toc: true
10+
---
11+
12+
(9월 3일에 다시 작성하기 시작) 쓰다보니 또 스크롤이 길어지고 있다.
13+
늘 그렇듯 원래 정했던 목표보다 더 근본적인 것부터 써가고 있다.
14+
이렇게 써가는게 맞긴 한데, 글이 길어지니 나눠버렸다.
15+
이전 글까지는 finite MDP와 policy, value function, Bellman equation에 대해 썼고 이 글에서는 Bellman optimal equation에 대해 쓸 것 같다.
16+
이후에는, 원래 쓰려고 했던 주제인 policy iteration과 contraction principle에 대해 쓸 것 같다.
17+
18+
꽤 자세히 적어나가면서 Sutton의 책을 열심히 보게된다는 점은 좋다.
19+
마치 공자의 『논어』에 대하여 위나라의 하안이 『논어집해』를 쓰며 주석을 달아가는 느낌이랄까.
20+
21+
---
22+
23+
Sutton은 컴퓨터공학자라고 한다.
24+
첫 회사에서 만난, Texas A&M 대학교에서 석박통합과정으로 공부하고 있다는 컴공출신 분이, 어떤 사람이 '수학을 잘한다'라는 표현을 썼었다.
25+
그 분에게는 아무 말도 하지 않았지만 '수학을 잘한다'는 것에 대한 말의 의미에 대해 한참동안 고민했다.
26+
미적분이나 선형대수, 해석학이나 집합론, 위상수학과 측도론, 확률론 등의 기본 개념들에 대해 깊이 이해하고 그 원리를 명확하게 알려고 노력하는 것을 그 말한 분이 얼마나 해봤을까, 하고 생각했다.
27+
아마도 baby rudin 정도의 엄밀한 reasoning을 따라가본 적은 없을 것도 같은데.
28+
보통 컴퓨터공학을 전공한 분들이 말하는 '수학을 잘한다', '머리가 좋다'는 건 어떤 개념일까, 하는 의문은 이쪽 업계에 있으면서 자주 든다.
29+
새로 부임하셨던, 컴퓨터공학 출신의 교수님이 수학에 대해 포괄적으로 논하는 것도 들었지만, 글쎄, 내가 범접할 수 없는 천재라면 모를까 수학은 그렇게 쉽게 정복될 수 있는 대상이 아니라는 생각이다.
30+
같이 일했던 어떤 분도 '수학을 잘하면 인공지능으로 돈을 많이 벌 수 있다'고 쉽게 말한 적이 있는데, 그분은 미적분도 잘 이해하지 못하실 것 같은데 어떤 의미로 그런 말씀을 하신 것인지 의아해 했던 적도 있다.
31+
32+
말이 길었는데, 나는 Sutton은 컴퓨터공학자임에도 불구하고 수학을 잘 아는 사람이라고 쓰려고 했다.
33+
그 근거는 어떤 정책이 더 나은 정책이며, 가장 좋은 정책인 최적정책을 정의하는 데에 집합론의 partial ordering을 쓰고 있기 때문이다.
34+
물론 이 개념은 학부 2학년 때 나오는 아주 기초적인 개념이고, 이해하는 데 몇 분 안 걸리는 개념일지도 모르겠다.
35+
하지만 나는 poset으로 optimal policy를 설명한 이 방식을 보고 이 책이 좋아졌고 Sutton이 좋아졌다.
36+
정말 적절하게 쓰였다고 생각되기 때문이다.
37+
38+
여기에 쓰는 것은 Sutton 책의 내용을 따라가되, 설명이 더 필요한 부분을 보충한 것이다.
39+
40+
# 4. Bellman optimal equations
41+
42+
어떤 finite MDP $\mathscr F(\mathcal S,\mathcal A,\mathcal R)$에 대하여 policy들의 집합을 $\Pi$라고 표시하자.
43+
44+
$$\Pi=\left\{\pi(\cdot|\cdot):\mathcal S\times\mathcal A\to[0,1]\,\vert\,\sum_{a\in\mathcal A}\pi(a|s)=1\right\}$$
45+
46+
$\Pi$에 partial order $\ge$를 다음과 같이 정의해 partially ordered set $\left(\Pi,\ge\right)$를 생각할 수 있다.
47+
두 policy $\pi, \pi'\in\Pi$에 대하여 $\pi\ge\pi'$인 것의 정의는 모든 $s\in\mathcal S$에 대하여
48+
49+
$$v_\pi(s)\ge v_{\pi'}(s)$$
50+
51+
인 것이다.
52+
$\left(\Pi,\ge\right)$는 분명히 totally ordered set은 아니다.
53+
따라서 $\left(\Pi,\ge\right)$는 maximal의 존재는 보장되지만, maximum의 존재는 보장될 수 없다.
54+
하지만 이 경우에는 maximum이 보장된다.
55+
즉, 정책들의 최댓값, 혹은 최적 정책(optimal policy, $\pi^\ast$)의 존재가 보장된다.
56+
다시 말해, 모든 $\pi\in\Pi$에 대하여 $\pi\le\pi^\ast$인 $\pi^\ast\in\Pi$가 존재한다. (Claim 1)
57+
58+
먼저, 함수 $v_\ast$를
59+
60+
$$v_\ast(s)=\max_{\pi\in\Pi}v_\pi(s)$$
61+
62+
로 정의하자.
63+
저 정의가 조금 덜 엄밀할 것 같으면 ($\Pi$가 무한집합이라 최댓값이 존재하지 않을 수 있으니) $\max$를 $\sup$으로 바꿔도 될 듯하다.
64+
65+
그러면 모든 정책 $\pi\in\Pi$에 대하여
66+
67+
$$v_\ast(s)\le v_\pi(s)$$
68+
69+
가 성립한다.
70+
그리고 이에 대응하는 함수 $q_\ast$를 (e3.13)와 비슷하게 다음과 같이 정의하고
71+
72+
$$q_\ast(s,a)=\sum_{r,s'}p(r,s'|s,a)(r+\gamma v_\ast(s'))$$
73+
74+
정책 $\pi^\ast$를 다음과 같이 정의한다.
75+
주어진 $s\in\mathcal S$에 대하여
76+
$A=\{a'\in\mathcal A:q_\ast(s,a')=\max_a q_\ast(s,a)\}$는 $|A|\ge1$을 만족하므로
77+
78+
$$\pi^\ast(a|s)=
79+
\begin{cases}
80+
\frac1{|A|}&a\in A\\
81+
0&a\notin A
82+
\end{cases}
83+
$$
84+
85+
로 정의하면 $\pi^\ast$는 optimal policy가 된다.

0 commit comments

Comments
 (0)