1. ๋ง๋ฅด์ฝํ ๊ฒฐ์ ํ๋ก์ธ์ค(MDP)
๋ฐ๋ฅ๋ถํฐ ๋ฐฐ์ฐ๋ ๊ฐํํ์ต - ๋ง๋ฅด์ฝํ ๊ฒฐ์ ํ๋ก์ธ์ค(Markov Decision Process)
๋ง๋ฅด์ฝํ ํ๋ก์ธ์ค(Markov Process)
- ์ํ S์ ์ ์ดํ๋ฅ ํ๋ ฌ P๋ก ์ ์๋จ
- ํ๋์ ์ํ์์ ๋ค๋ฅธ ์ํ๋ก ์ ์ด๊ฐ ์ผ์ด๋จ
- ์ํ ์ ์ด์ ๊ฐ๊ฐ ํ๋ฅ ์กด์ฌ
- S4์ ๊ฒฝ์ฐ ์ข ๋ฃ์ํ
๋ง๋ฅด์ฝํ ์ฑ์ง(Markov property)
$$ P[S_{t+1} | S_t] = P[S_{t+1} |S_1,S_2, ... S_t] $$
- ์ํ๊ฐ ๋๊ธฐ๊น์ง์ ๊ณผ์ ์ ํ๋ฅ ๊ณ์ฐ์ ์ํฅ์ ์ฃผ์ง ์์.
- ์ด๋ ์์ ์ ์ํ๋ก ๋ค์ ์ํ๋ฅผ ๊ฒฐ์ ํ ์ ์์ ๋ ๋ง๋ฅด์ฝํํ ์ํ๋ผ๊ณ ํจ.๋ฐ๋ก) ์ด์ ํ๋ ์ฌ์ง(์ด๋ ์์ ์ ์ฌ์ง์ผ๋ก๋ ํ์ง/์ ์ง/์๋ ๋ฑ์ ํ์ ๋ถ๊ฐ → ๋ค์ ์ํ ๊ฒฐ์ ๋ถ๊ฐ๋ฅ)
- ex) ์ฒด์ค ๊ฒ์(์ด๋ ์์ ์ ์ฌ์ง์ผ๋ก ๋ค์ ์ ๊ฒฐ์ ๊ฐ๋ฅ)
์ด๋ค ํ์์ ๋ง๋ฅด์ฝํ ํ๋ก์ธ์ค๋ก ๋ชจ๋ธ๋งํ๋ ค๋ฉด ์ํ๊ฐ ๋ง๋ฅด์ฝํ ํด์ผํ๋ฉฐ, ๋จ์ผ ์ํ ์ ๋ณด๋ง์ผ๋ก๋ ์ ๋ณด๊ฐ ์ถฉ๋ถํ๋๋ก ์ํ๋ฅผ ์ ๊ตฌ์ฑํด์ผ ํจ
๋ง๋ฅด์ฝ๋ธ ๊ฒฐ์ ํ๋ก์ธ์ค(MDP)
- ์์ด์ ํธ๊ฐ ์ํฉ๋ง๋ค ์ก์ ์ ์ทจํ๋ฉด ์ก์ ์ ๋ฐ๋ผ ์ํ๊ฐ ๋ณํ๊ณ ๊ทธ์ ๋ฐ๋ผ ๋ณด์์ด ์ฃผ์ด์ง
$$ MDP = (S, A, P, R, \gamma) $$
- S ⇒ ์ํ ์งํฉ
- A ⇒ ์ก์ ์งํฉ
- P ⇒ ์ ์ด ํ๋ฅ ํ๋ ฌ
- ํ์ฌ ์ํ s์์ a ๋ฅผ ์ ํํ์ ๋ ๋ค์ ์ํ๊ฐ s’๊ฐ ๋ ํ๋ฅ
- ๋ณด์ํจ์ R
- ํ์ฌ ์ํ s์์ a๋ฅผ ์ ํํ์ ๋ ๋ฐ๋ ๋ณด์์ ๊ธฐ๋๊ฐ
- ๊ฐ์ ์ธ์ ${\gamma}$
- 0 < ${\gamma}$ < 1
- ๋ฏธ๋์ ์ป์ ๋ณด์๊ณผ ๋น์ฅ ์ป์ ๋ณด์์ ์ค์๋๋ฅผ ๊ฒฐ์
- ๋ฏธ๋์ ์ป์ ๋ณด์ ๊ฐ์ ${\gamma}$๊ฐ ์ฌ๋ฌ๋ฒ ๊ณฑํด์ง๋ฉฐ ๊ทธ ๊ฐ์ ์๊ฒ ๋ง๋ฌ
์ ์ฑ ํจ์
- ๊ฐ ์ํ์์ ์ด๋ค ์ก์
์ ์ ํํ ์ง ๊ฒฐ์ ํ๋ ํจ์= ์ํ s์์ ์ก์
a๋ฅผ ์ ํํ ํ๋ฅ
- s์์ ์ ํํ ์ ์๋ ์ก์ ์ด a0, a1, a2๋ผ๊ณ ํ ๋,
- ์ก์ ์ ๋ํ ํ๋ฅ ๋ถ์ฌ
- $$ \pi(a|s) = P[A_t = a | s_t = s] $$
์ํ ๊ฐ์น ํจ์
- ์ฃผ์ด์ง ์ํ์์ ์ ์ฑ ํจ์๋ก ์ ํ ์ก์ ์ ๋ฐ๋ผ ํ๋ํ์ ๋ ์ป์ ์ ์๋ ๋ฆฌํด์ ๊ธฐ๋๊ฐ
- s → ๋๊น์ง ์ ์ฑ ํจ์ ๋ฐ๋ผ์ ์์ง์ผ ๋
$$ v_\pi(s) = E_\pi[r_{t+1} + \gamma r_{t+1} + \gamma^2r_{t+1} + ... | S_t = s] = E_\pi[G_t|S_t = s] $$
์ก์ ๊ฐ์น ํจ์
- ๊ฐ ์ํ์์ ์ ํํ ์ ์๋ ์ก์ ์ ์ ๋ถ ํ๊ฐํด๋ณด๊ณ ๊ฐ์ฅ ๋ณด์์ด ํฐ ์ก์ ์ ํ
- input ⇒ state ์ action ⇒ action๊ณผ ์ํ๋ฅผ ๊ฒฐํฉํด์ ํ๊ฐ
$$ q_\pi(s, a) = E_\pi[G_t|S_t = s, A_t = a] $$
- s์์ a๋ฅผ ์ ํํ ๋ค ๊ทธ ๋ค๋ก๋ ์ ์ฑ ํจ์๋ฅผ ๋ฐ๋ผ์ ์์ง์ผ ๋ ์ป๋ ๋ฆฌํด์ ๊ธฐ๋๊ฐ
2. Q-Learning
Model Free Algorithm
- ๊ธฐ์กด์ model based algorithm ๋ค์ ์ด๋ค ์ํ์์ ์ด๋ค ํ๋์ ํ๋ค๊ณ ํ์ ๋, ๋ค์์ ์ํ๊ฐ ๋ ํ๋ฅ
- ํ๊ฒฝ์ ๋ํด ์๊ณ , ํ๋์ ๋ฐ๋ฅธ ํ๊ฒฝ์ ๋ณํ๋ฅผ ์๋ ์๊ณ ๋ฆฌ์ฆ
- ๊ณ์ ํํํด์ Trail and error๋ฅผ ์ป๊ณ policy function์ ์ ์ฐจ ํ์ต์ํค๋ ๋ฐฉํฅmodel free algorithm ⇒ agent๊ฐ ํ๋์ ํตํด ์์๋๋ ๋ณด์์ ์ดํฉ์ ์ต๋๋ก ํ๋ policy function์ ์ฐพ๋ ๊ฒ์ด ๋ชฉํ
- ํ๊ฒฝ์ ๋ํด ๋ชจ๋ฅด๊ณ , ํ๊ฒฝ์ด ์๋ ค์ฃผ๋ ๋ค์ ์ํ์ ๋ค์ ๋ณด์์ ์๋์ ์ผ๋ก ํ๋
Q-Learning
- ์ ํํ ๋ง๋ฅด์ฝํ ๊ฒฐ์ ๊ณผ์ ์์ ํน์ ์ํฉํด์ ํน์ ํ๋์ ํ๋ผ๋ ์ต์ ์ policy ๋ฅผ ๋ฐฐ์ฐ๋ ๊ฒ
Q-Value
- ํ์ฌ ์ํ๋ก๋ถํฐ ์์ํด ๋ชจ๋ ์ฐ์์ ์ธ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณค์ ๋ ์ ์ฒด ๋ณด์์ ์์ธก๊ฐ ๊ทน๋ํ
- Q ⇒ ํ์ฌ ์ํ์์ ์ทจํ ํ๋์ ๋ณด์(Quality)
- ์ก์
๊ฐ์น ํจ์(ํ๋ ๊ฐ์น ํจ์) ๊ธฐ๋ฐ์ผ๋ก Q-Value ๊ณ์ฐ
- $\gamma$ ๋ ํ์ฌ๋ก๋ถํฐ t ์๊ฐ ํ์ ๋ณด์์ ๋ํ ์ํฅ๋ ฅ์ ์ผ๋ง๋ ์ค์ผ์ง, ์ฆ ํ์ฌ ์ํ์ ๋ํ ๋ณด์์ ์ค์๋๋ฅผ ์ด๋์ ๋๋ก ์ฑ ์ ํ ์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ฐ
Q-Learning
- Q ํจ์๊ฐ ๊ณ ์ ๋ ์์์ ๊ฐ์ ๊ฐ๊ณ ์์ → ๋งค time-step๋ง๋ค Agent๊ฐ ํ๋ at๋ฅผ ์ ํํ๊ณ , ๋ณด์ rt๋ฅผ ๋ฐ์ผ๋ฉฐ ์๋ก์ด ์ํ s(t+1)๋ก ์ ์ดํ๊ณ Q ๊ฐ์ ๊ฐฑ์
- ์ด์ ๊ฐ๊ณผ ์๋ก์ด ์ ๋ณด์ ๊ฐ์คํฉ(weighted sum)์ ์ด์ฉํ๋ Value Iteration update๊ธฐ๋ฒ์ด ํต์ฌ
$$ Q(s_{t},a_{t})\leftarrow (1-\alpha )\cdot \underbrace {Q(s_{t},a_{t})} _{\rm {old~value}}+\underbrace {\alpha } {\rm {learning~rate}}\cdot \left(\overbrace {\underbrace {r{t}} _{\rm {reward}}+\underbrace {\gamma } _{\rm {discount~factor}}\cdot \underbrace {\max {a}Q(s{t+1},a)} _{\rm {estimate~of~optimal~future~value}}} ^{\rm {learned~value}}\right) $$