๐ฌ ML & Data/๐ฎ Reinforcement Learning
[๊ฐํํ์ต] TRPO(Trust Region Policy Optimization) ๋ ผ๋ฌธ ์ ๋ฆฌ
PPO๋ฅผ ๊ณต๋ถํ๋ ค๊ณ ํ๋๋ฐ ์ด ๋ ผ๋ฌธ์ด ์ ํ๋์ด์ผํ๋ค๋ ์ด์ผ๊ธฐ๋ฅผ ๋ค์ด์ ๊ฐ๋ณ๊ฒ ๋ ผ๋ฌธ์ ์ฝ์ด๋ดค๋ค. ์์ง ๊ฐํํ์ต ๋ ผ๋ฌธ ์ฝ๋ ๊ฑด ์ต์ํ์ง ์์์ ์๊ฐ์ด ๊ฝค ๊ฑธ๋ ธ๋ค. ์ํ์ ๊ฐ๋ ์ด ์ ์ด์ ์ต๋ํ ๊ผผ๊ผผํ ์ดํดํ ์ ์๊ฒ ์ ๋ฆฌํด๋ดค๋๋ฐ, ๋ค๋ฅธ ์ฌ๋๋ค์๊ฒ๋ ๋์์ด ๋์์ผ๋ฉด ํด์ ํฌ์คํ ํ๋ค.[https://arxiv.org/abs/1502.05477]TRPO(Trust Region Policy Optimization)url: https://arxiv.org/abs/1502.05477title: "Trust Region Policy Optimization"description: "We describe an iterative procedure for optimizing policies, with guaranteed mono..
[MPC] 4. Optimal Control(2) - Taylor Series ์ ์ฉ, Algebraic Riccati Equation(ARE) ๊ตฌํ๊ธฐ
LQR์ ์ ์ฉ $$V^{*}(x(t), t) = \underset{u[t, t+\Delta t]}{min} \{ \Delta t \cdot l[x(t + \alpha \Delta t), u(t + \alpha \Delta t), t + \alpha \Delta t] + V^{*}(x(t + \Delta t), t+\Delta t) \}$$ ์ด ์์์ $V^{*}(x(t + \Delta t), t+\Delta t)$ ๋ถ๋ถ์ ์ Taylor Series๋ก x์ t์ ๋ํด์ ์ ๋ฆฌํด๋ณด์. $x = (x(t), t), v = \Delta t$ ๋ผ๊ณ ์๊ฐํ์. ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ๋ค. $$V^{*}(x + v) = V^{*}(x) + f'(x)v + f(x)v' + \frac 12 f''(x)v^{2}+ \frac1..
[MPC] 4. Optimal Control(1) - LQR๊ณผ Taylor Series(ํ ์ผ๋ฌ ๊ธ์)
optimal control ๊ธฐ์ด - LQR(Linear Quadratic Regulator) LQR์ด ๊ธฐ์ด๋ผ์ ์๊ฑธ๋ก system : $\dot x = f(x, u, t), x(t_{0}) = x_{0}$ cost function : $$V(x(t_{0}), u, t_{0}) = \int_{t_{0}}^{T} l[x(\tau), u(\tau), \tau]d\tau + m(x(T))$$ ์ cost function์ ์ต์ํํ๋ ์ ๋ ฅ $u^{*}(t), t_{0}\le t \le T$ ์ฐพ๊ธฐ -> optimal control์ ๋ชฉ์ principle of optimality ์ ๋ฐ๋ผ ํ ํด๊ฐ ์ต์ ์ด๋ฉด sub problem์ ํด๋ ์ต์ ์ด ๋๋ค. $t_{0} < t < t_{1} < T$ ๋ก $t_{1}$ ์ถ๊ฐ..
[MPC] 3. ์ํ(state)์ ์ถ๋ ฅ(output) ์์ธกํด๋ณด๊ธฐ
Input / Output ์ ๋ฆฌ $N_p$ : ์์ธกํ๋ ค๋ ๋ฏธ๋ ์ถ๋ ฅ ์ $N_c$ : ์์ธกํ๋ ค๋ ๋ฏธ๋ ์ ์ด์ ๋ ฅ ์ ๊ฒฝ๋ก ์ถ์ ์ ๊ฒฝ์ฐ, $N_p$๊ฐ ์ ์ tracking ํ๊ธฐ ์ํ $N_c$๊ฐ ์ ์ด ๋ช ๋ น... Control Input $\Delta u(k), \Delta u(k+1), \Delta u(k+2), \cdots, \Delta u(k + N_{c} - 1)$ Output $y(k), y(k+1), \cdots, y(k+N_{p})$ $y(k) = Cx(k)$ ์ด๋ฏ๋ก $y(k+1) = Cx(k+1), y(k+2) = Cx(k+2), \cdots$ ๋ก ํํ ๊ฐ๋ฅ ๋ฐ๋ผ์ ์์ธก state $x(k+1), x(k+2), \cdots, x(k+N_{p})$๋ฅผ ๊ตฌํ๋ฉด ๋จ State variable ๊ตฌํ๊ธฐ $..
[MPC] 2. ์ํ ๊ณต๊ฐ ๋ฐฉ์ ์ ์ ๋
MPC ์ํ ๊ณต๊ฐ ๋ฐฉ์ ์ ์ ๋ ์ํ๊ณต๊ฐ ๋ฐฉ์ ์ + LTI(Linear TimeINvariant, ์ ํ ์๊ฐ ๋ถ๋ณ ์์คํ )์ ๊ฒฝ์ฐ => Continuous-time state-space model ์ํ ๋ฐฉ์ ์ : $$\bar{x} = Ax + Bu$$ ์ถ๋ ฅ ๋ฐฉ์ ์ : $$y = Cx$$ MPC๋ discrete ํ ํ๊ฒฝ => Discrete-time state-space model ์ํ ๋ฐฉ์ ์ : $$x(k+1) = A_{d}x(k) + B_{d}u(k)$$ ์ถ๋ ฅ ๋ฐฉ์ ์ : $$y(k) = C_{d}x(k)$$ MPC ๊ธฐ๋ณธ ๋ชจ๋ธ์ Discrete-time aumented state-space model ์ํ ๋ณ์ ๋์ ์ํ ๋ณ์์ ๋ณํ๋ $\Delta x$ ์ฌ์ฉ ์ํ ๋ฐฉ์ ์ $${x(k+1) - x(k) ..
[MPC] 1. Model Predictive Control Intro
์ ํ๋ธ https://www.youtube.com/watch?v=zU9DxmNZ1ng&list=PLSAJDR2d_AUtkWiO_U-p-4VpnXGIorrO-&index=1 ๋ธ๋ก๊ทธ https://sunggoo.tistory.com/65 ์ ์๋ฃ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณต๋ถํ ๋ด์ฉ์ ๊ฐ๋ณ๊ฒ ์ ๋ฆฌํ๋ ค๊ณ ํฉ๋๋ค. ์์ ์ฆ๋ช ์ด ๋ง๊ฒ ๊ณ , ๊ทธ ๋ค๋ก๋ ๋ชฉ์ ์ ๋ฐ๋ผ ๋ ผ๋ฌธ์ด๋ ์ฝ๋ ๊ตฌํ์ ๋ณด๋ฉด์ ์ถ๊ฐํด๋ณด๊ฒ ์ต๋๋ค. MPC(Model Predictive Control)์ ์ปจ์ ๊ธฐ๊ธฐ ์ํ ๋ณํ(dynamics) + ์ฃผ๋ณ ํ๊ฒฝ ์์ => cost function ์ ์ด๊ณตํ ๋น์ ํ / ๋น๋ณผ๋ก(Non-linear, Non-convex) ๋์ ๊ณต๋ถํ๋ฉด์ ๋๋ผ๊ธฐ์๋ ๊ฐํํ์ต์ ํฅ๊ธฐ๊ฐ ์ข ์์ Flow k-1 ์ผ ๋์ ์ํ ๋ณ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก k+1 ~ ..
[๊ฐํํ์ต] Dealing with Sparse Reward Environments - ํฌ๋ฐํ ๋ณด์ ํ๊ฒฝ์์ ํ์ตํ๊ธฐ
โป ์๋ ๋งํฌ์ ๋ด์ฉ์ ๊ณต๋ถํ๋ฉฐ ํ๊ตญ์ด๋ก ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. Reinforcement Learning: Dealing with Sparse Reward Environments Reinforcement Learning (RL) is a method of machine learning in which an agent learns a strategy through interactions with its environment… medium.com 1. Sparse Reward Sparse Reward(ํฌ๋ฐํ ๋ณด์) : Agent๊ฐ ๋ชฉํ ์ํฉ์ ๊ฐ๊น์์ก์ ๋๋ง ๊ธ์ ๋ณด์์ ๋ฐ๋ ๊ฒฝ์ฐ ํ์ฌ ์คํ ํ๊ฒฝ ์ธํ ๊ณผ ๊ฐ์ Curiosity-Driven method agent๊ฐ ๊ด์ฌ์ฌ ๋ฐ์ ํ๊ฒฝ์๋ ๋๊ธฐ๋ฅผ ๋ฐ๋๋ก Curric..
[๊ฐํํ์ต] DDPG(Deep Deterministic Policy Gradient)
DQN์ ์ฐจ์์ ์ ์ฃผ ๋ฌธ์ (๊ณ ์ฐจ์ action์ ๋ค๋ฃจ๋ ๊ฒฝ์ฐ ์ฐ์ฐ ์๋๊ฐ ๋๋ ค์ง๊ณ memory space๋ฅผ ๋ง์ด ์ํจ)๋ฅผ off-policy actor critic ๋ฐฉ์์ผ๋ก ํ์ด๋ธ๋ค. ๊ธฐ์กด DQN ๋ฐฉ์์ insight๋ค์ batch normalization replay buffer target Q network Actor-critic ํ๋ผ๋ฏธํฐํ ๋ actor function์ ๊ฐ์ง actor function : state์์ ํน์ action์ผ๋ก mappingํ์ฌ ํ์ฌ policy๋ฅผ ์ง์ policy gradient ๋ฐฉ์์ผ๋ก ํ์ต ์ฌ๊ธฐ์์ J๊ฐ Objective Function(๋ชฉํํจ์) actor function์ด ๋ชฉํ ํจ์๋ฅผ gradient asent๋ก ์ต๋ํ→ ์ด ๋์ policy parameter..
[๊ฐํํ์ต] Dueling Double Deep Q Learning(DDDQN / Dueling DQN / D3QN)
Dueling Double DQN https://arxiv.org/pdf/1509.06461.pdf https://arxiv.org/pdf/1511.06581.pdf Double DQN DQN์์ reward๋ฅผ ๊ณผ๋ ํ๊ฐํ๋ ๋ฌธ์ ๊ฐ ์์. Q Value๊ฐ agent๊ฐ ์ค์ ๋ณด๋ค ๋์ ๋ฆฌํด์ ๋ฐ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ ๊ฒฝํฅ ⇒ Q learning update ๋ฐฉ์ ์์ ๋ค์ ์ํ(state)์ ๋ํ Q value ์ต๋๊ฐ์ด ์กด์ฌํ๊ธฐ ๋๋ฌธ Q ๊ฐ์ ๋ํ max ์ฐ์ฐ์ ํธํฅ์ ์ต๋ํํ๋ค. ํ๊ฒฝ์ ์ต๋ true value๊ฐ 0์ธ๋ฐ agent๊ฐ ์ถ์ ํ๋ ์ต๋ true value๊ฐ ์์์ธ ๊ฒฝ์ฐ์ ์ฑ๋ฅ ์ ํ ํด๊ฒฐ์ ์ํด ๋ ๊ฐ์ network ์ฌ์ฉ. Q Next : action selection → ๋ค์ ์ก์ ์ผ๋ก ๊ฐ์ฅ ์ข์ ..
[๊ฐํํ์ต] gym์ผ๋ก ๊ฐํํ์ต custom ํ๊ฒฝ ์์ฑ๋ถํฐ Dueling DDQN ํ์ต๊น์ง
์ธํฐ๋ท์ ๋ค ๋ค์ ธ๋ดค๋๋ฐ ๊ฐํํ์ต์ gym์์ ์ ๊ณตํ๋ ๊ฒ์ agent ์ฌ์ฉํด์ ํ๋ ์์ ๋ ์ก์ฒ๋ง ๊ฐ๊ณ ์ปค์คํ ํด์ ํ์ต์ ํ๋ ์์ ๋ ๋จ ํ ๊ฐ ์์๋ค. ์ด์ ๋ง ๊ณต๋ถ๋ฅผ ์์ํ๋ ์ฌ๋๋ค์๊ฒ ๋์์ด ๋์์ผ๋ฉด ํ๋ ๋ง์์ผ๋ก ๊ฐ๋จํ๊ฒ ์จ๋ณด๊ณ ์ ํ๋ค. 1. Gym์ Env ๊ตฌ์กฐ ์ดํด๋ณด๊ธฐ ๊ผญ ๊ทธ๋์ผํ๋ ๊ฒ์ ์๋์ง๋ง(๋ฐ๋ฐ๋ฅ๋ถํฐ ๊ตฌํํ๋ ๋ฐฉ๋ฒ๋ ์๊ธด ํ๋ค) ์ด์จ๋ gym ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ environment ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด์ ๊ตฌํํด๋ณผ ๊ฒ์ด๋ค. !pip install gym gym ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ env ๊ตฌ์กฐ๋ ๋์ถฉ ์๋์ ๊ฐ๋ค. site-packages/gym/core.py ์์ ์ง์ ๋ณผ ์ ์๋ค. class Env(Generic[ObsType, ActType]):m.Generator] = None """ The ma..