- ํ์ต์ ์ดํด : MP, DP, SP, MDP(https://norman3.github.io/rl/)
- n-step, episode, sequence
- deterministic policy vs stochastic policy
- policy 2๊ฐ์ง ํํ
- ์ ์ฑ (์ํ) -> ๋ช ์์ (explicit) -> Policy Iteration
- ์ ํ(๊ฐ์นํจ์(์ํ)) -> ๋ด์ฌ์ (implicit) -> Value Iteration
- value_iteration
- monte-carlo
-
sarsa
-
q-learning :
-
Function Approximation
-
DQN(value_based)
-
REINFORCE(policy_based)
-
Actor-Critic(policy_based)
- MDP : State, Action, State transition probability, Reward, Discount_Factor
- ๋จ๊ธฐ์ ๋ณด์ vs ์ฅ๊ธฐ์ ๋ณด์ : Sparse reward, delayed reward๋ฌธ์ ๋ฅผ ๊ทน๋ณต -> ๋ฐํ๊ฐ(Return), ๊ฐ์นํจ์(Value function)
- Return : ํ์ฌ๊ฐ์น(PV)๋ก ๋ณํํ reward๋ค์ ํฉ
- Value function(๊ฐ์นํจ์) : Return์ ๋ํ ๊ธฐ๋๊ฐ
- State Value Function(์ํ๊ฐ์นํจ์) : Q-function๊ธฐ๋๊ฐ์ด๋ฉฐ policy์ฌ์ฉ, ๋ฐํ๊ฐ(๋ณด์,๊ฐ๊ฐ์จ), ์ํ
- Q-function(ํ๋๊ฐ์นํจ์) : ํน์ state์์ a๋ผ๋ action์ ์ทจํ ๊ฒฝ์ฐ์ ๋ฐ์ return์ ๋ํ ๊ธฐ๋๊ฐ
- Bellman Expectation Equation(๋ฒจ๋ง๊ธฐ๋๋ฐฉ์ ์) : ํน์ ์ ์ฑ
์ ๋ํ ๊ฐ์นํจ์
- Bellman Optimality Equation : optimal value function์ฌ์ด์ ๊ด๊ณ์
-
ํฐ ๋ฌธ์ ๋ฅผ ์์ ๋ฌธ์ ๋ก, ๋ฐ๋ณต๋๋ ๊ฐ์ ์ ์ฅํ๋ฉด์ ํด๊ฒฐ
-
Value Iteration(Bellman Optimality Equation)
-
Policy Iteration(Bellman Expectation Equation) : ์ ์ฑ ํ๊ฐ + ์ ์ฑ ๋ฐ์ , GPI
- ๋ฒจ๋ง ๊ธฐ๋๋ฐฉ์ ์์ ์ด์ฉํจ.
- evaluation(Prediction) : ๋ฒจ๋ง๊ธฐ๋๋ฐฉ์ฑ์์ ์ด์ฉํ ์ฐธ ๊ฐ์นํจ์๋ฅผ ๊ณ์ฐ, ์ ์ฑ ํ์ด์ ๋ํ ์ฐธ ๊ฐ์นํจ์๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก, ๋ชจ๋ ์ํ์ ๋ํด ๋์์(ํ๋ฒ)
- improvement(Control) : ๊ฐ์นํจ์๋ก ์ ์ฑ ํ์ด๋ฅผ ์ ๋ฐ์ดํธ, greedy policy
- SARSA
-
Off-policy vs On-policy
-
SARSA : s,a,r,s',a' : Policy Iteration์ sampling์ ์ฉ
-
policy Iteration vs SARSA
- ์ ์ฑ ํ๊ฐ -> TD-Learning
- ์ ์ฑ ๋ฐ์ -> ์ก์ค๋ก ํ์
-
์ ์ฑ ํ๊ฐ : TD Learning(Bootstrap)
- ์์ด์ ํธ๊ฐ ํ์ฌ ์ํ S_t=s์์ ํ๋ A_t=a ์ ํํ๊ณ S,A
- ์ ํํ ํ๋์ผ๋ก ํ๊ฒฝ์์ 1-step์งํ
- ๋ค์ ์ํ S_(t+1)=s'์ ๋ณด์ R_(t+1)์ ํ๊ฒฝ์ผ๋ก๋ถํฐ ๋ฐ์ R
- ๋ค์ ์ํ S_(t+1)=s'์์ ํ๋ S', A'
-
์ ์ฑ ๋ฐ์ improvement(Control) => ์ก์ค๋ก ํ์ : ์ก์ค๋ก ์ ํ๋ฅ ๋ก ์ต์ ์ด ์๋ ํ๋์ ์ ํ
- ์ก์ค๋ก ํ์์ ์ฑ ์ผ๋ก ์ํ์ ํ๋ํจ
-
๋ฌธ์ ์ : on-policy(์์ข์ ๋ณด์์ ๋ง๋ ๊ฒฝ์ฐ ํํจ์ ์ ๋ฐ์ดํธ๊ฐ ์ง์์ ๊ฐ์)
-
-
Q-Learning : Value Iteration์ sampling์ ์ฉ, Off-Policy(2๊ฐ์ ์ ์ฑ ) -> s,a,r,s'
- tip) off-policy : behavior policy(์ํ์์ง์ ์ฑ : ์ ๋ฐ์ดํธX), target policy(์์ด์ ํธ์ ์ ์ฑ :์ ๋ฐ์ดํธo)
- ๋ฒจ๋ง์ต์ ๋ฐฉ์ ์์ผ๋ก ํํจ์ ์ ๋ฐ์ดํธ, off-policy
- Off-policy Learning
- ํ๋ํ๋ ์ ์ฑ (exploration) : ์ก์ค๋ก ํ์, ๋ณผ์ธ ๋ง ๋ฑ..
- ํ์ตํ๋ ์ ์ฑ (exploitation) : ํ์์ ์ฑ
- ์์ฝ : Q-Learning์ ํตํ ํ์ต ๊ณผ์
- ์ํ s์์ ํ๋ a๋ ํ๋์ ์ฑ (์ก์ค๋ก ํ์)์ผ๋ก ์ ํ
- ํ๊ฒฝ์ผ๋ก๋ถํฐ ๋ค์ ์ํ s'์ ๋ณด์ r์ ๋ฐ์
- ๋ฒจ๋ง ์ต์ ๋ฐฉ์ ์์ ํตํด q(s,a)๋ฅผ ์ ๋ฐ์ดํธ
-
SARSA vs Q-Learning
- Value function Approximation
- Large state space, ๋น์ทํ state๋ ๋น์ทํ function์ output -> Generalization
- Supervised Learning๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ Generalization
- Function Approximation : Target function์ approximateํ๋ function์ ์ฐพ์
- Target function์ ์๋ ๊ฒฝ์ฐ : ์์นํด์ํ(numerical analysis)
- Target function์ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ : regression, classification, ...
- MSE
- Gradient Descent
- ์๋ก์ด ํ๋ผ๋ฏธํฐ : ๊ธฐ์กดparameter - (lr)(MSE์ graduent)
- Function Approximation : Target function์ approximateํ๋ function์ ์ฐพ์
- SARSA with function appoximation
- Q-Learning with function approximation
- function approximation ์ข ๋ฅ(Linear, Nonlinear)
- Online update vs offline update
- Online : ์์ด์ ํธ๊ฐ ํ๊ฒฝ๊ณผ ์ํธ์์ฉํ๊ณ ์๋ ๋์ค์ update
- Offline : ์ํผ์๋๊ฐ ๋๋ ํ์ update
-
Value-based RL
- ๊ฐ์นํจ์๋ฅผ ํตํด ํ๋์ ์ ํ
- ๊ฐ์นํจ์์ function approximator์ ์ฉ
- ์ ๋ฐ์ดํธ ๋์์ด ๊ฐ์นํจ์(ํํจ์)
- ๊ฐ ํ๋์ด ์ผ๋ง๋ ์ข์์ง ํํจ์๋ฅผ ํตํด ์ธก์
- ํํจ์๋ฅผ ๋ณด๊ณ ํ๋์ ์ ํ(์ก์ค๋ก ๊ทธ๋ฆฌ๋)
- SARSA, Q-LEARNING, DQN,...
-
Policy-based RL
- ์ ์ฑ ์ ๋ฐ๋ผ ํ๋์ ์ ํ
- ์ ์ฑ ์ function approximator์ ์ฉ
- ์ ๋ฐ์ดํธ ๋์์ด ์ ์ฑ
- approximate๋ ์ ์ฑ ์ input์ ์ํ ๋ฒกํฐ, output์ ๊ฐ ํ๋์ ํ ํ๋ฅ
- ํ๋ฅ ์ ์ผ๋ก ํ๋์ ์ ํ(stochastic policy)
- REINFORCE, Actor-Critic, A3C,...
BreakOut_v4 Cartpole_DQN2015
-
DQN2015 ํน์ง
- CNN
- Experience reply
- Sample๋ค์ ์๊ด๊ด๊ณ๋ฅผ ๊นฌ๋ค
- Online update with Stochastic gradient descent
- Target Q-network
-
DQN ํ์ต๊ณผ์
- ํํ
- ์ ์ฑ ์ ํํจ์์ ๋ํ epsilon-greedy policy
- ์ก์ค๋ก ์ time-step์ ๋ฐ๋ผ์ decayํจ
- ์ก์ค๋ก ์ 1๋ถํฐ ์์ํด์ 0.1๊น์ง decayํจ. ์ดํ 0.1์ ์ง์์ ์ผ๋ก ์ ์งํจ
- ์ํ์ ์ ์ฅ
- ์์ด์ ํธ๋ epsilon-greedy policy์ ๋ฐ๋ผ ์ํ s,a,r,s'๋ฅผ ์์ฑํจ
- ์ํ์ reply memory์ appendํจ
- ๋ฌด์์ ์ํ๋ง
- ์ผ์ ์ฃผ๊ธฐ๋ง๋ค Target network ์ ๋ฐ์ดํธ
- ํํ
-
DQN์๊ณ ๋ฆฌ์ฆ ์ธ๋ถ๋ด์ฉ
- Image preprocessing
- Gray-Scale(210,160,1) -> (210,160,1)
- Resize(210, 150,1) -> (84,84,1)
- 4 images 1 history
- ์ด๋ฏธ์งํ์ฅ์๋ ์๋ ์ ๋ณด ํฌํจX
- ์ฐ์๋ 4๊ฐ์ image๋ฅผ ํ๋์ history๋ก ๋คํธ์ํฌ์ input
- ํ์ต์ 4๋ฒ์ image์ค์ 1๊ฐ๋ง ์ฌ์ฉํจ(frame skip)
- Frame skipํ ์ํฉ์์ image๋ฅผ ํ๋์ history๋ก
- 30 no-op
- ํญ์ ๊ฐ์ ์ํ์์ ์์ํ๋ฏ๋ก ์ด๋ฐ์ local optimum์ผ๋ก ์๋ ดํ ํ๋ฅ ์ด ๋์
- 0์์ 30์ time-step ์ค์ ๋๋ค์ผ๋ก ํ๋๋ฅผ ์ ํํ ํ ์๋ฌด๊ฒ๋ ์ํจ
- Reward clip
- ๊ฒ์๋ง๋ค ๋ค๋ฅธ reward๋ฅผ ํต์ผ
- Huber loss
- -1๊ณผ 1์ฌ์ด๋ quadratic, ๋ค๋ฅธ ๊ณณ์ linear
- Image preprocessing
-
DQN
- ํ๊ฒฝ์ด๊ธฐํ, 30 no-op
- History์ ๋ฐ๋ผ ํ๋์ ์ ํ(์ก์ค๋ก ๊ทธ๋ฆฌ๋), ์ก์ค๋ก ์ ๊ฐ์ decay
- ์ ํํ ํ๋์ผ๋ก 1 time-stepํ๊ฒฝ์์ ์งํ, ๋ค์์ํ, ๋ณด์์ ๋ฐ์
- ์ํ์ ํ์ฑ(h,a,r,h'), reply memory์ append
- 50000์คํ ์ด์์ผ ๊ฒฝ์ฐ reply memory์์ mini-batch
- 10000์คํ ๋ง๋ค target network์ ๋ฐ์ดํธ
์ฐจํ์ ๋ด์ฉ ๋ณด๊ฐ
- Policy- based RLํ์ต๋ฐฉ๋ฒ
- ์ ์ฑ ์ ๋ฐ๋ผ ํ๋
- ํ๋ํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ ์ฑ ์ ํ๊ฐ
- ํ๊ฐํ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์ ์ฑ ์ ๋
- Policy-Grdient๊ณ์ฐ
- ์ด๋ค ์ํ์ ์์ด์ ํธ๊ฐ ์์๋์ง
- State distribution๊ฐ ์ธํ๊ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค
- ๊ฐ ์ํ์์ ์์ด์ ํธ๊ฐ ์ด๋ค ํ๋์ ์ ํํ๋๊ฐ
- ์ ์ฑ ์ ๋ฐ๋ผ ํ๋ฅ ์ ์ผ๋ก ํ๋์ ์ ํํจ -> ์ธํ๊ฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค
- ์ด๋ค ์ํ์ ์์ด์ ํธ๊ฐ ์์๋์ง
- Policy Gradient Theorem
- REINFORCE ์๊ณ ๋ฆฌ์ฆ ์์
- baseline๋ฅผ ์ฌ์ฉํ REINFORCE