Dynamic Programming
1. Dynamic Programming
โข
Substructure
: ๊ธฐ์กด ๋ฌธ์ ๋ฅผ ๋ ์์ ํ์ ๋ฌธ์ ๋ก ๋ถํด
โข
Table Structure
: ๊ฐ๊ฐ์ ํ์ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ ํ์, ๊ณ์ฐ๋ ๊ฒฐ๊ณผ๋ฅผ table์ ์ ์ฅํ์ฌ ์ฌ์ฌ์ฉ
โข
Bottom-up Computation
: table์ ์ฌ์ฉํ์ฌ ํ์ ๋ฌธ์ ์ ๊ฒฐ๊ณผ๋ฅผ ํตํฉํ์ฌ ๋ ํฐ ํ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ธฐ์กด ๋ฌธ์ ์ ํด๊ฒฐ์ฑ
์ ๋๋ฌํ๋ ๋ฐฉ์
โ ์์ 3๊ฐ์ง ๋ฐฉ์์ ํตํด ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
โข
DP๋ฅผ ์ ์ฉํ๋ฉด ์ ์ฉํ case
1.
Optimal substructure
โ ์๋ ๋ฌธ์ ์ optimal solution์ด ํ์ ๋ฌธ์ ์ optimal solution์ ๊ฒฐํฉ์ผ๋ก ํด๊ฒฐ ๊ฐ๋ฅํ ์ํฉ
2.
Overlapping sub-problems
โ ๊ฐ์ ํ์ ๋ฌธ์ ์ ํด๊ฐ ๋ฐ๋ณต์ ์ผ๋ก ํ์ํ ๊ฒฝ์ฐ ๊ณ์ฐ๋์ ์ค์ด๊ธฐ ์ํด์ table์ ์ ์ฅํ์ฌ ์ฌ์ฉํ๋ ๊ฒ์ด ํจ์จ์ ์ธ ์ํฉ
โ MDP๋ Bellman equation์ ์ํ์ฌ ์ฌ๊ท์ ๋ถํด์ ์๊ฑด๊ณผ Value function์ ์ฌ์ฌ์ฉ์ด ์ ์ฉ๋๋ฏ๋ก MDP๋ฅผ ์๋ ์ํฉ์์ DP๋ฅผ ์ ์ฉํ๋ฉด MDP๋ฅผ ํด๊ฒฐํ ์ ์๋ค.
2. Sequential Decision Problem
โข
Model-based : Planning
MDP๋ฅผ ์๊ณ ์๋ ์ํฉ์ด๋ฏ๋ก DP๋ฅผ ์ด์ฉํ์ฌ Planning์ ํตํด ์ง์ ๊ณ์ฐํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ์ด๋ Model์ ๋ํ ์๋ฒฝํ ์ ๋ณด๋ฅผ ์๊ณ ์๊ธฐ ๋๋ฌธ์ ์ง์ ๊ณ์ฐ์ด ๊ฐ๋ฅํ๋ ๋ฐฉ๋ํ ๊ณ์ฐ๋์ผ๋ก ์ธํ์ฌ ๋ฌธ์ ๋ฅผ ๋ ์์ ๋ฌธ์ ๋ก ๋๋์ด ํจ์จ์ ์ ๊ณ์ฐํ๊ธฐ ์ํ์ฌ DP๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ State value function์ ์ฃผ๋ก ์ด์ฉํ๋ฉฐ ์ฐจ์์ ์ ์ฃผ์ ์ํ์ฌ state space๊ฐ ๋๋ฌด ํฌ๋ฉด ์ ๋๋ก ์๋ํ๊ธฐ ์ด๋ ต๋ค.
โข
Model-free : Learning
MDP๋ฅผ ๋ชจ๋ฅด๋ ์ํฉ์ด๋ฏ๋ก RL์ ์ฌ์ฉํ์ฌ ํ์ตํ๋ค. ์ด๋ ์ ํํ transition probability๋ ๋ชจ๋ฅด์ง๋ง (s,a) โ (sโ,aโ) ์ ์ฌ๋ฌ๊ฐ ์ป์ผ๋ฉด ๊ทผ์ฌ์ ์ผ๋ก transition probability๋ฅผ ํ์
ํ ์ ์๋ค. ๋ฐ๋ผ์ ์ค์ ํ๊ฒฝ์์ action์ ์ทจํด์ ์ป์ sample data๋ก policy๋ฅผ ํ๊ฐํ์ฌ ํ์ต์ ์งํํ๋ค. ์ด๋ ๋ชจ๋ state์ ๋ํ ๊ณ์ฐ์ด ์ด๋ ต๊ณ ์ฃผ์ด์ง data๋ฅผ ํตํด ๊ฒ์ฐํด์ผ ํ๋ฏ๋ก action value function์ด ์ฃผ๋ก ์ฌ์ฉ๋๋ค.
โ ๋ฏธ๋์ state์ value๋ฅผ ํตํด ํ์ฌ state์ value๋ฅผ updateํ๋ ๋ฐฉ์์ Backup์ด๋ผ๊ณ ํ๋๋ฐ, DP์์๋ MDP๋ฅผ ์๋ ์ํฉ์ด๋ฏ๋ก full backup์ ์ฌ์ฉํ๊ณ MDP๋ฅผ ๋ชจ๋ฅด๋ RL์์๋ sample backup์ ์ฌ์ฉํ๋ค.
Value iteration
1. Value iteration ๊ฐ์
Bellman optimality equation์ ์ฌ์ฉํ์ฌ Optimal Policy๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ฐ๋ณต์ ์ผ๋ก Bellman optimality equation์ ์ ์ฉํ์ฌ Optimal function์ Update๊ฐ ์ด์ ๊ณผ ๋ณํ๊ฐ ์์ ๋๊น์ง ์ฆ, ์๋ ด์๊น์ง ๋ฐ๋ณตํ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค. ์ด๋ back up ๋ฐฉ์์ 2๊ฐ์ง๊ฐ ์กด์ฌํ๋๋ฐ, ๋๊ธฐ์ ๋ฐฉ์๊ณผ ๋น๋๊ธฐ์ ๋ฐฉ์์ด๋ค. ๋๊ธฐ์ ๋ฐฉ์์ value function์ update์ update ์ด์ ์ ๊ณ์ฐํ ๊ฐ๋ค์ ์ฌ์ฉํ์ฌ ํ๋ฒ์ updateํ๋ ๋ฐฉ์์ด๊ณ ๋น๋๊ธฐ์ ๋ฐฉ์์ ํ๋์ state๊ฐ update ๋๋ฉด, ๋๋จธ์ง์ ๋ํด update๊ฐ ๋ฐ์ํ๊ธฐ ์ด์ ์ update๋ฅผ ์ ์ฉํ๋ ๊ฒ์ด๋ค.
2. Value iteration ๋จ์
๋จ์ ์ผ๋ก๋ ํฌ๊ฒ 2๊ฐ์ง๊ฐ ์๋๋ฐ, ๊ฐ state๊ฐ optimal value์ ์๋ ดํ๊ธฐ ์ด์ ์ value๋ฅผ max๋ก ํ๋ action์ด ๊ฑฐ์ ์ ํด์ง๊ฒ ๋๋ฏ๋ก, ์๋ ด์๊น์ง ์ด๋ฅผ ๋ฐ๋ณตํ๋ค๋ฉด ์ธ๋ชจ์๋ ์ฐ์ฐ๋ง ๋์ด๋๊ฒ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ ๋ฐ๋ณต๋ง๋ค ๋ชจ๋ state-action-next state๋ฅผ ๊ณ ๋ คํ ๊ณ์ฐ์ด ํ์ํ์ฌ ๊ณ์ฐ๋์ด ์ผ๋ก ์๋น์ด ๋ง์ ํธ์ด๋ค.
*์๋ ด์ ์๋ฏธ
โ ๋ชจ๋ state์ ๋ํด update ์ /ํ์ ์ฐจ์ด๊ฐ ๋งค์ฐ ์๋ค.
3. Algorithm
4. Example
โข
Robot Car
์๋์ ๊ฐ์ด ๊ตฌ์ฑ๋ Robot Car ์์๋ฅผ ํตํด value iteration ๋ฐฉ์์ ์ ์ฉํด๋ณด์
1.
State : cool, warm, overheated
2.
Action : slow, fast
3.
Rewards : slow = 1, fast = 2 , overheated = -10
โ transition probability ์ reward๋ฅผ ์๊ณ ์์ผ๋ฏ๋ก Model-based
โข
Value iteration์ ์ ์ฉ
1.
๊ฐ state value๋ฅผ 0์ผ๋ก ์ด๊ธฐํ
2.
Bellman optimality equation์ ์ฌ์ฉํ์ฌ optimal state value ๊ณ์ฐ
3.
์๋ ด ์๊น์ง ๋ฐ๋ณต
โข
์) 2๋ฒ์งธ ๋ฐ๋ณต์์ Warm state์ value ๊ณ์ฐํ๊ธฐ
Policy iteration
1. Policy iteration ๊ฐ์
Policy iteration์ policy evaluation๊ณผ policy improvement๋ฅผ ์๋ ด ์๊น์ง ๋ฐ๋ณตํ์ฌ optimal policy๋ฅผ ์ฐพ์๊ฐ๋ ๊ณผ์ ์ผ๋ก Bellman expectation equation์ ์ฌ์ฉํ๋ค. ์ด๋ policy evaluation ๋จ๊ณ์์๋ deterministic policy๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ state์ ๋ํ value๋ฅผ ์๋ ด ์๊น์ง ๋ฐ๋ณตํ์ฌ ๊ณ์ฐํ๋ค. ์ด๋ ๊ณ ์ ๋ Policy๋ก ํ๋์ action๋ง ๊ณ ๋ คํ๋ฏ๋ก ๊ณ์ฐ๋์ด ์ผ๋ก ์ด์ ์ value iteration์ ๋นํด ๋ ์ ์ด์ง๋ค. Policy Improvement ๋จ๊ณ์์๋ ๊ณ์ฐ๋ state value์ ๋ํด greedy policy๋ฅผ ์ ํํ์ฌ policy๋ฅผ ๊ฐ์ ํ๋ค.
2. Policy Improvement Theorem
1.
ํ์ฌ state S์์ Policy ๋ฅผ ๋ฐ๋์ ๋์ state value ์ ํ์ฌ state S์์ Policy ์ ์ํ์ฌ action์ ์ ํํ๊ณ ์ดํ์ Policy ๋ฅผ ๋ฐ๋์ ๋์ action value๋ฅผ ๋น๊ตํ์ ๋ action value๊ฐ ๋ชจ๋ state์ ๋ํด ํฌ๋ค๋ฉด ์ด ๋ ๋์ Policy์ด๋ค.
2.
ํ์ฌ state S์์ Policy ์ ๋ฐ๋์ ๋์ state value์ ํ์ฌ state S์์ Policy ๋ฅผ ๋ฐ๋์ ๋์ state value ์ค ์ ์๊ฐ ํฌ๋ค๋ฉด, ์ด ๋ ๋์ Policy์ด๋ค.
3. Algorithm
โ Iterative policy evaluation์ ํตํด์ ๋ฅผ ๊ณ์ฐํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ๋ฅผ ์ ํํ์ฌ policy๋ฅผ ๊ฐ์ ํ๋ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค. ์ด๋, ๊ฐ ์ ๋นํด์ ๋ฐ์ด๋์ง ์๋ค๋ฉด, ๋ policy๋ก ๊ณ์ฐ๋ state value๊ฐ ์๋ ดํ ์ํ๊ฐ ๋ ๊ฒ์ด๊ณ ๊ทธ๋์ value๊ฐ optimal value์ด๋ฏ๋ก ๊ทธ๋์ policy๊ฐ optimal policy๊ฐ ๋๋ค.
โ ๋ฐ๋ณต ํ์๊ฐ ๋์ด๋์ผ ์๋ ดํ๊ฒ ๋๋ state-value์ ๋ฌ๋ฆฌ optimal policy๋ ์ฌ์ ์ ์ ํด์ง๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. ์ฌ๊ธฐ์ value iteration๊ณผ ๋ค๋ฅด๊ฒ policy iteration์ policy์ ๊ฐ์ ์ด ์๋ค๋ฉด ์ฌ์ ์ข
๋ฃ๊ฐ ๊ฐ๋ฅํ๋ค.
4. Optimal policy ์ ๋ฆฌ
โข
Dynamic programming
โ Model-based ์ด๋ฏ๋ก MDP์ ๋ํ ์ ๋ณด๋ฅผ ์๊ณ ์๊ณ ๋ฐ๋ผ์ ๋ชจ๋ value function์ ๊ณ์ฐ์ด ๊ฐ๋ฅํ๋ฏ๋ก table์ value๋ฅผ ์ ์ฅํ์ฌ full backupํ๋ ๋ฐฉ์์ผ๋ก optimal policy๋ฅผ ์ฐพ๋๋ค. ์ด ๊ณผ์ ์์ ๊ณ์ฐ๋์ ๋ฌธ์ ๋ก state-value function์ ์ฃผ๋ก ์ฌ์ฉํ๋ค. ๋ํ DP์ ๊ฒฝ์ฐ state์ ๊ฐ์๊ฐ ๋์ด๋๋ฉด state์ ๋ํด ์ง์์ ์ผ๋ก ๊ณ์ฐ๋์ด ๋์ด๋๋ฏ๋ก large problems์๋ ์ ํฉํ์ง ์๋ค.
โข
RL
โ Model-free์ด๋ฏ๋ก MDP์ ๋ํ ์ ๋ณด๋ฅผ ๋ชจ๋ฅด๋ ์ํฉ์ด๊ธฐ ๋๋ฌธ์ ํ๊ฒฝ๊ณผ ์ํธ์์ฉ์ ํตํด ์ป์ sample data๋ฅผ ๋ฐํ์ผ๋ก learning์ ์งํํ๋ค. ๋ฐ๋ผ์ ๊ทผ์ฌ์ ์ผ๋ก Bellman optimality equation์ ํ์ด optimal solution์ ์ฐพ๋๋ค. sampling์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ state์ ๊ฐ์์ ๋ํด ์ฐจ์์ ์ ์ฃผ์ ๋น ์ง๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค.