1. Markov Decision Process
1) Episodic Decisions
- nondeterministic, partially observableํ ์ํฉ์์๋ ๋ค์ state๋ฅผ ํ์ ํ ์ ์๋ค. ๋ฐ๋ผ์ observations e๊ฐ ์ฃผ์ด์ก์ ๋ outcome์ outcome s'๊ฐ ๋ง์ ๋์ ํ๋ฅ ๋ก ๋ํ๋ผ ์ ์๋ค.
P(Result(a) = s' | a, e)
- Utility function U(s)๋ ๊ฐ state์ ์ข์ ์ ๋๋ฅผ ๋ํ๋ด๋ ํ๋์ ์ซ์์ด๋ค.
์ฃผ์ด์ง evidence์์ ์ด๋ค action์ ์ทจํ์ ๋์ expected utility ๊ฐ์, ๊ทธ action์ ์ทจํ์ ๋ ๋์ค๋ outcome์ average utility value๊ฐ์ด๋ค.
EU(a | e) = ∑(s') P(Result(a) = s' | a, e) U(s')
*EU: ํ๊ท utility, evidence e๋ฅผ ๊ด์ธกํ์ ๋ action a๋ฅผ ์ทจํ๋ฉด ์ผ๋ง๋ ์ข์๊ฒ์ธ๊ฐ?
- maximum expected utility (MEU)๋ agent์ expected utility๊ฐ ๊ฐ์ฅ ์ต๋ํ ๋๋ action์ ๊ณ ๋ฅด๋ ๊ณผ์ ์ ๋งํ๋ค.
arg max(a) EU(a|e)
- episodic ํ๋ค๊ณ ๊ฐ์ ํ๋ค. ์ฆ ์ฌ๋ฌ๋ฒ decision์ ๋ด๋ ค์ผ ํ ๋, ์ด์ decision๊ณผ ๋ค์ decision์ด ๊ด๋ จ์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค.
2) Markov Decision Process
- sequential decision problem์์ utility function์ sequence of states์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
- ๊ฐ state์์ agent๋ reward, ๋ณด์์ ๋ฐ๋๋ค. ์์์ผ ์๋, ์์์ผ ์๋ ์๋ค.
- ๋ง์ฝ sequential decision problem์ด "fully observable"ํ๊ณ "stochastic"ํ ํ๊ฒฝ์ด๋ผ๋ฉด, ๊ทธ๋ฆฌ๊ณ markovian transition model์ด๋ฉฐ additive rewardsํ๋ฉด ์ด๋ฅผ Markov decision process, MDP๋ผ๊ณ ๋ถ๋ฅธ๋ค. (์ฆ, nondeterministicํ ์๋ ์๋ค. ๋ด๊ฐ action a๋ฅผ ์ทจํ๋ค๊ณ ์๊ฐ์ฒ๋ผ ๋๋๊ฒ ์๋)
- policy : agent๊ฐ ๋๋ฌํด์ผ ํ๋ state๋ฅผ ๊ฐ๊ธฐ ์ํด ์ง๋๋ solution state sequence๋ฅผ policy๋ผ๊ณ ํ๋ค. (=contingency plan)
- policy์ quality๋ ์ด state๋ค์ expected utility๋ก ๊ตฌํ๋ค.
- optimal policy : ๊ฐ์ฅ ํฐ expected utility๋ฅผ ๊ฐ๋ policy
3) Expected Utility
- Stationarity : ๋ง์ฝ ๋ state sequences๊ฐ ์๊ณ , ๋๊ฐ์ state์์ ์์ํ๋ฉด, ๋ sequence๋ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก preference-ordered ๋ ์ ์๋ค.
- utility to sequence๋ฅผ ๋ถ์ฌํ๋ ๋ฐฉ๋ฒ
โ additive rewards : ๊ทธ๋ฅ ๋ณด์์ ์ฃผ๋ ๊ฑฐ์
โ discounted rewards
Uh([s0, s1, ....]) = R(s0) + γR(s1) + γ^2 R(s2) ...
γ ๋ discount factor๋ก 0๊ณผ 1์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ค. sequence์ ๋ค๋ก ๊ฐ ์๋ก rewards๊ฐ ๊ฐ์ํ๋ค. ๊ฐ๊น์ด ๋ฏธ๋ state์ reward๊ฐ ๋ ์ค์ํ๋ค๊ณ ๋ณด๋ ๊ฒ!
- expected utility๋ state s ์์ ์์ํ policy π ๋ฅผ ์ํํ๋ฉด์ ๊ตฌํ ์ ์๋ค.
U^π(s) = E [ ∑(t=0, INF) γ^t R(St) ]
state s์์ ์์ํ policy π์ utility๋, ๊ฐ state์ discount factor๋ฅผ ๊ณฑํด๊ฐ๋ฉฐ reward๋ฅผ ๋ค ๋ํ ๊ฐ์ด๋ค.
- R(s)๋ state s์์์ "short term" reward์ด๊ณ , U^π(s)๋ "long term" total reward์ด๋ค.
4) Optimal Policy
- optimal policy๋ ๊ฐ์ฅ ํฐ expected utility๋ฅผ ๊ฐ๋ policy์ด๋ค.
π*_s = arg max(π) U^π(s)
- ๋ง์ฝ policy π*_a๊ฐ a์์ ์์ํ๊ณ , policy π*_b๊ฐ b์์ ์์ํ๋ค๋ฉด, ์ด๋ค์ด ์ธ๋ฒ์งธ state c์์ ์์ํ๋ค๊ณ ํ๋๋ผ๋ optimalํ๋ค. ๊ทธ๋์ ๊ฑ ์์ํ๋ ๋ ธ๋ ์์ฐ๊ณ simplyํ๊ฒ π*๋ก ํ๊ธฐํ๋ค.
- Utility funtion์์ U(s)๊ฐ utility U^π*(s) ์ฆ ์ต์ ์ policy๋ฅผ ๋ฐ๋ฅธ๋ค๋ฉด agent๋ ํญ์ ์ต์ ์ action์ ๊ณ ๋ฅธ๋ค.
*Maximum expected utility : maximized the expected utility๋ฅผ ๋ง๋๋ action์ ๊ณ ๋ฅธ๋ค.
π*(s) = arg max ∑(s') P(s' | s, a) U(s')
= (state s ์์ action a๋ฅผ ์ทจํ์ ๋ s' ๊ฐ ๋ ํ๋ฅ ) * (s'์์ ์์ํ์ ๋์ expected Utility)
์ฆ ์ด๋ค action์ ์ทจํ์ ๋ expected utility๊ฐ ๊ฐ์ฅ ํฐ action์ ์ทจํ์
2. Value Iteration Algorithm
1) Bellman Equation
: state์ utility๋ ๊ทธ state์ reward ๋ํ๊ธฐ ์ต์ ์ action์ ํ๋ค๊ณ ๊ฐ์ ํ์ ๋์ next state์ expected discounted utility๋ฅผ ๋งํ๋ค. ์ด ๊ณต์์ด bellman equation.
U(s) = R(s) + γ max ∑ P(s' | s , a) U(s')
= ํ์ฌ state reward + ์ต์ ์ ์ ํ ์ s'์์์ expected utility
2) Bellman Update
U_i+1(s) <- R(s) + γ max ∑ P(s' | s , a) U(s')
๋ฌ๋ผ๋ณด์ด์ง๋ง ์ Equation์์ ๋ฑํธ๋ฅผ ๋์ ์ผ๋ก ๋ฐ๊พผ ๊ฒ ๋ฟ.
์ฒ์์ Utility๊ฐ์ ๋ค 0์ ๊ฐ๊น์ด randomํ ๊ฐ์ผ๋ก ์ด๊ธฐํ ํ ๋ค์ ์ for๋ฌธ์ ๊ณ์ ๋๋ค. ์์์ ์์๋ถํฐ ๋ชจ๋ state๋ฅผ ๊ณ์ ๋ฐ๋ณตํ๋ฉฐ utility update. ๋ฐ๋ณตํ๋ฉด ํ ์๋ก utility๊ฐ ์๋ ดํ๋ค.
- equilibrium : utility๊ฐ์ด ๋ณํ์ง ์๋ ์์ ์ ์ธ ์ํ, ์ฆ solution/optimal policy.
- ๋ง์น ์ ๋ณด๋ฅผ propagatingํ๋ค๊ณ ์๊ฐํ๋ฉด ๋จ
3) Convergence of Value Iteration Algorithm
- Contraction ํจ์ : ๋ ๊ฐ์ input์ ๋ฃ์์ ๋, ์ฒ์ ๋์ ์ฐจ์ด๋ณด๋ค ํจ์ซ๊ฐ์ ์ฐจ์ด๊ฐ ๋ ์์ ๊ฒ.
|f(a) - f(b)| < a-b
-> ์ด contraction์ ๊ณ์ ๋ฐ๋ณตํด์ ์ ์ฉํ๋ฉด ์ธ์ ๊ฐ fixed point์ ๋๋ฌํ๋ค.
- Bellman equation and Bellman update
- Bellman update๋ contraction ํจ์์ด๋ค. (factor = γ) ๋ฐ๋ผ์ γ<1 ์ธ ์ด์ value iteration์ ์ธ์ ๋ unique solution์ ์๋ ดํ๋ค.
|| BU_i - BU || = || U_i+1 - U || <= γ ||U_i - U||
= || i๋ฒ์งธ utility์ bellman update ์ ์ฉ์ํจ ๊ฒฐ๊ณผ - solution์ bellman update ||
= ||i+1๋ฒ์งธ utility (์์) - solution์ utility ||
<= γ || i๋ฒ์งธ utility - solution์ utility ||
์ฆ๋ช ์ ํด๋ณด์
1. |max f(a) - max g(a)| <= max |f(a) - g(a)| --- ๊ทธ๋ฆผ ๊ทธ๋ ค๋ณด๋ฉด ์. ์ฐจ์ ์ต๋๊ฐ๊ณผ ์ต๋๊ฐ์ ์ฐจ!
2. | BU_i(s) - BU(s) | = | γ max ∑ P(s' | s , a) U_i(s') - γ max ∑ P(s' | s , a) U(s') |
<= γ max | ∑ P(s' | s , a) U_i(s') - ∑ P(s' | s , a) U(s') |
= γ ∑ P(s' | s , a*) (U_i(s') - U(s'))
3. ||BU_i(s) - BU(s)|| = max|BU_i(s) - BU(s)| <= max γ ∑ P(s' | s , a*) (U_i(s') - U(s'))
<= max γ |U_i(s') - U(s')| =γ ||U_i - U||
4. ||BU_i(s) - BU(s)|| = ||U_i+1 - U || <= γ ||U_i - U||
4) Error Bound of Value Iteration Algorithm
- ๋ชจ๋ states์ utility๋ +-Rmax/(1-γ)์ ๋ฒ์๋ฅผ ๋์ง ์๋๋ค.
- ๋ฐ๋ผ์ maximum initial error ||U0-U|| <= 2Rmax/(1-γ) ์ด๋ค.
- ์ฐ๋ฆฌ๊ฐ N๋ฒ iterationsํ๋ค๊ณ ๊ฐ์ ํ๋ฉด γ^N*2Rmax / (1-γ) <= ε
์ฆ N = log(2Rmax / ε(1-γ)) / log(1/γ)) ์ด๋ค. ์ฐ๋ฆฌ๊ฐ ๋ช ๋ฒ ๋ฐ๋ณตํด์ผ ์๋ ดํ๋์ง ์ ์ ์๋ค.
* state sequence์ utility๋ ๋ฑ๋น์์ด์ ํฉ์ด ๋๋ค(๊ณต๋น : γ)
๋ฐ๋ผ์ ๋ชจ๋ state sequence utility์ ํ๊ท ๊ฐ์ ๋ฑ๋น์์ด์ ํฉ๋ณด๋ค ์๋ค.
- ๋ง์ฝ update๊ฐ ์์์ utility๊ฐ ๋ณ๋ก ๋ณํ์ง ์์๋ค๋ฉด, ์ง์ง utility์ ๋น๊ตํ์์ ๋, error๋ ์์ ๊ฒ์ด๋ค. (์ด๋ฏธ ์ถฉ๋ถํ ์๋ ด๋ ์ํ)
|| U_i+1-U || < ε(1-γ)/γ ์ด๋ฉด || U_i+1-U || < ε ์ด๋ค!
- ๋ฐ๋ผ์ policy π_i๋ Ui๊ฐ ์๋ ดํ๊ธฐ ์ ์ ์ด๋์ ๋ optimal๋๋ค. ์ฆ, utility value๋ค์ด ์ ํํ solution์ ์๋์ด๋ policy๋ optimal์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
3. Policy Iteration Algorithm
1) Policy Iteration Algorithm : initial policy π0์์ ์์ํด ๋ค์ ๋ ๋จ๊ณ๋ฅผ ๋ฐ๋ผ๊ฐ๋ค.
โ policy evaluation : policy πi๊ฐ ์ฃผ์ด์ก์ ๋, Ui = U^πi๋ฅผ ๊ตฌํด๋ผ. ์ฆ ๋ง์ฝ πi๊ฐ ์คํ๋๋ค๋ฉด ๊ฐ state์ utility๊ฐ ์ด๋ป๊ฒ ๋๋์ง๋ฅผ ๊ณ์ฐํด๋ผ
โ policy improvement : ์๋ก์ด MEU policy π_i+1์ ๊ตฌํ๋ค. ์ฆ ๋ค์ iteration์ policy๋ฅผ ๊ตฌํ๋ค. ์ด๋ป๊ฒ?
π_i+1 (s) = arg max ∑ P(s' | s, a) U^πi (s')
i ์ผ ๋์ policy๋ฅผ ํตํด ๊ทธ ๋์ utility๋ฅผ ๊ณ์ฐํ๊ณ , ๊ทธ๊ฑธ ์ด์ฉํด i+1 ์ผ ๋์ policy๋ฅผ ๊ตฌํ๋ค.
2) Analysis
- utility๊ฐ์ ๋ณํ๊ฐ ์์ ๋ ์ข ๋ฃ๋๋ค.
- utility function Ui๋ bellman update์ fixed point์ด๊ณ , ๊ทธ๊ฒ์ด ๋ฐ๋ผ์ bellman equation์ solution์ด๋ค. π_i ๋ ๋ฌด์กฐ๊ฑด optimal policy์ด๋ค. (๋ญ์๋ฆฌ์ผ)
- ์ ํํ state space์๋ ์ ํํ policy๊ฐ ์์ผ๋ฏ๋ก, policy iteration์ ๋ฐ๋์ ์ธ์ ๊ฐ ์ข ๋ฃ๋๋ค.
3) Policy Evaluation
: bellman equation์ ๊ฐ์ํ ๋ฒ์ ์ ์์๋ณด์.
- i๋ฒ์งธ ๋ฐ๋ณต์์ policy πi ๋ state s์์์ atcion πi(s)๋ก ํน์ ๋จ
- Ui(s) = R(s) + γ∑ P(s' | s, πi(s)) U^i (s')
๋ฐ๋ผ์ a ๋์ πi(s) ์ ๋ํด์๋ง ๊ฒ์ฌํด ์ค . ๋ชจ๋ action์ ๋ฐ๋ฅธ max๊ฐ์ ์ฐพ์ ํ์ ์์ด, ๊ทธ policy์ ๋ฐ๋ฅธ action๋ง ๊ณ ๋ คํ๋ค.
- n states๊ฐ ์์ ๋ time O(n^3)๋ก ํ๋ฆผ (n๊ฐ์ ์, n๊ฐ์ ๋ฏธ์ง์๊ฐ ์์ ๋ ์ญํ๋ ฌ ๊ตฌํ๊ธฐ๊ฐ ์ด ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง)
4) Modified Policy Iteration Algorithm
- Ui(s) = R(s) + γ∑ P(s' | s, πi(s)) U^i (s')
- U_i+1(s) <= R(s) + γ∑ P(s' | s, πi(s)) U^i (s')
๊ตณ์ด utility๊ฐ์ ์ ํํ๊ฒ ๊ตฌํ์ง ์๋๋ผ๋ policy๊ฐ ๊ณ ์ ๋์ด์์ผ๋ฏ๋ก ์ด๊ฒ ํจ์ฌ ํจ์จ์ ์ด๊ณ ์ข์ ๊ทผ์ฟ๊ฐ์ ๋ธ๋ค.
5) Asynchronous Policy Iteration Algorithm
- ๊ฐ ๋ฐ๋ณต ๋ ์ฐ๋ฆฐ state์ ๋ถ๋ถ์งํฉ ์ค ์๋ฌด๊ฑฐ๋ ๊ณจ๋ผ์ update๋ฅผ ํ ์ ์์. ์ด๋ฐ๊ฒ ๋ฐ๋ก asynchronous policy iteration. ์ฆ ์ฝ๊ฒ ๋งํด iterate ์ค๊ฐ์ ์ผ๋ถ state์ ๋ํด์๋ง policy/ utility value ์ ๋ฐ์ดํธ๋ฅผ ํจ. (ํญ์ ๋ค ํ๋๊ฒ ์๋)
'๐ก๐ธ๐ธ๐ถ5: ๐ฆ๐๐๐๐ถ ๐ฐ๐๐พ๐ > Artificial Intelligence(COSE361)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธ๊ณต์ง๋ฅ] 16. Hidden Markov Models (HMM) (0) | 2021.06.13 |
---|---|
[์ธ๊ณต์ง๋ฅ] 15. Probabilistic Reasoning over Time (PRoT) (0) | 2021.06.13 |
[์ธ๊ณต์ง๋ฅ] 14. Bayesian Networks (0) | 2021.06.12 |
[์ธ๊ณต์ง๋ฅ] 13. Probability and Statistics (0) | 2021.06.12 |
[์ธ๊ณต์ง๋ฅ] 8~9. First-Order Logic(FOL) (2) | 2021.04.25 |