TL;DR
- I read this because.. : ๋จ์ข ๋ ๊ฐ์ํ๊ธฐ ์์ ์์ ์ฝ์ผ๋ผ๊ณ ์ถ์ฒ๋ฐ์
- task : Deep Reinforcement Learning
- problem : online RL์ด unstableํจ. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด replay buffer(์ด์ ์ trasition์์ s, a, s’๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ) ๋ฑ์ด ๊ณ ์๋์์ผ๋ ์ด๋ off-line RL algorithm์๋ง ๊ตญํ๋จ
- idea : multiple agent๋ฅผ parallelํ๊ฒ ์คํํด์ ๋ฐฐ์น๋ก ๋ฌถ์ด์ ์ ๋ฐ์ดํธ ํ์!
- input/output : trajectory / policy
- architecture : one-step Q-learning, one-step Sarsa, multi-step Q-learning, proposed A3C(actor-critic). Value ๋๋ policy network๋ FFN or LSTM๋ก ๊ตฌ์ฑ
- objective : policy $\phi$๋ฅผ ๋ฐ๋์ ๋ advantage(value based), policy๋ฅผ ๋ฐ๋์ ๋ reward์ expectation(policy based) + policy์ entropy๋ฅผ loss term์ ์ถ๊ฐํ๋๊น ๋ ์์ ์
- baseline : one-step Q-learning, one-step Sarsa, multi-step Q-learning, advantage actor-critic
- data : Atari 2600, TORCS, Mujoco, Labyrinth
- evaluation : score, data efficiency, stability
- result : ๋์ score. ๋น ๋ฅธ ์๋ ด. ๋ ์ ์ training step์ผ๋ก ๋ ๋์ ์ฑ๋ฅ(data efficiency). ๋ค๋ฅธ์ ๋ค์ GPU๋ง ์ฐ๋๋ฐ ์๋ CPU multi core๋ง ์
- contribution : ์ง๊ธ ์ด ์์ ์์ ๋ณด๊ธฐ์ ๊ฐ๋จํ ์์ด๋์ด๋ก ์ข์ ์ฑ๋ฅ
- etc. : ๊ทธ ์ ๋ช ํ A3C๊ฐ ์ด๊ฑฐ๊ตฐ… RL์ ๋ชจ๋ธ ์ด๋ฆ์ด ๋ค ๊ฐ์ฑ์ด ๋์น๋น.. gorilla, REINFORCE, A3C, …
Details
introduction
- online RL agent๊ฐ ๋ง๋๋ ๋ฐ์ดํฐ๋ค์ ๋ฌธ์ ์
- non-stationary: ์๊ณ์ด์์ ๋งํ๋ ์ ์์ฑ? time step์ ๋ฐ๋ผ ๋ถํฌ๊ฐ ๋ฌ๋ผ์ง๋ค?
- strongly correlated: ์ด๊ฒ๋ ์๊ณ์ด์์ ๋งํ๋ ๊ฒ? ์ด์ time step (t-1)์ ์ํด t๊ฐ ๋ฌด์จ ์ฐ๊ด์ฑ์ ๊ฐ๋๋ด ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๊ณ ์๋๊ฒ ๋ค๋ฅธ time step์ ๋ํด์ replay buffer, data batched, randomly sample ํ๋๊ฒ ์์๋ค ๊ทผ๋ฐ ์ด๋ ๊ฒ ํ๋ฉด ์์ฐ์ค๋ฝ๊ฒ off-policy ๋ฐฉ๋ฒ์ผ๋ก ๊ตญํ๋๋น. ์ด์ ์ transition์ ์ด์ ์ policy๋ฅผ ๋ฐ๋ฅด๊ณ ์๋ ๊ฒฐ๊ณผ์ด๊ธฐ ๋๋ฌธ์ด๋ค
Reinforcement Learning Background
์ฐ๋ฆฌ๊ฐ RL์์ ํ๋ ค๋ ๊ฑด environment $\epsilon$๊ณผ ์ํธ์์ฉํ๋ agent๊ฐ ์์ ๋, time step t์ $s_t$์ด ์ฃผ์ด์ก์ ๋ action $a_t$๋ฅผ ๋์ถํ๋ policy $\pi$๊ฐ ์์ ๋ discount factor $\gamma$๋ก ํ ์ธ๋ $R_t=\sum_{k=0}^{\infty} \gamma^k r_{t+k}$์ ์ต๋ํํ๋ ๊ฒ!
์ด๋ action value Q๋ ์๋์ ๊ฐ์ด ํํ๋๊ณ $Q^\pi (s) = \mathbb{E}[R_t|s_t =s, a]$ ์ด๋ policy $\pi$๋ฅผ ๋ฐ๋์ ๋ state s์์ action a๋ฅผ ์ทจํ ๋ sum of reward์ ๊ธฐ๋๊ฐ์ด๋ค. value of state s๋ ์ ์ฌํ๊ฒ ์๋์ ๊ฐ์ด ํํ๋๋ค. $V^\pi (s) = \mathbb{E}[R_t|s_t =s ] $์ด๋ policy $\pi$๋ฅผ ๋ฐ๋์ ๋ state s์ sum of reward์ ๊ธฐ๋๊ฐ์ด๋ค.
์ฌ๊ธฐ๊น์ง๊ฐ RL์ ๊ธฐ๋ณธ ์
ํ
!
์ฌ๊ธฐ์ value-based model-free method๋ฅผ ์ฐ๋ฉด $Q(s,a;\theta)$๋ฅผ ๋ฐ๋ก NN๋ก ๊ทผ์ฌํ๋ค. ์ด๊ฒ Q-learning.
๊ทธ๋ผ ์ฐ๋ฆฌ๋ optimal $Q^*(s,a)$๋ฅผ NN์ ํ๋ผ๋ฏธํฐ $\theta$๋ก ๋ฐ๋ก ๊ทผ์ฌํ๋ฉด ๋๋ค. ์ด๋ ์ฐ๋ฆฌ์ loss๋
์ ์ข ํท๊ฐ๋ฆฌ๋๋
.. state s, a์์ ์ ์ด๋๋ s’๋ฅผ maximizeํ๋ a’๋ฅผ ์ต๋ํํ๋ $\theta$๋ฅผ ๊ตฌํ๋๊น policy๋ ๊ตฌํ ์ ์๋๊ฑด๊ฐ Q๋ง ๊ตฌํด์ ๋ญ์ ์ฐ๋๊ฑฐ์ง? Q๋ฅผ ๊ตฌํ๋ฉด policy๋ ์๋์ผ๋ก ๊ตฌํด์ง๋๊ฑด๊ฐ (Q๋ฅผ ์ต๋ํํ๋ a๋ฅผ ๊ตฌํ๋ฉด ๋๋๊น?)
RL์ ์ธ์ ๋ policy network๊ฐ ์์! Q๋ (t+1) ์์ ์ดํ๋ก์ reward๋ฅผ ๊ทผ์ฌํ๋ ๊ฐ!
q-learning์์๋ network๋ ์์์ ์ผ๋ก ์ค์ ๋๋๋ฏ. ๋ณ๋์ policy network๊ฐ ์๋ ๊ฒ์ด ์๋. ์๋์ ์ดํด๊ฐ ๋ง์(24.08.21)
์ด๋ Q-learning์ ๋จ์ ์ reward๋ฅผ ์ป๋ (s, a) pair๋ง ์ง์ ์ํฅ์ ๋ฐ๊ณ ๋ค๋ฅธ (s, a) pair๋ค์ ๋น๊ฐ์ ์ ์ผ๋ก ์ํฅ์ ๋ฐ์์ ํ์ต์ด ๋๋ฆฌ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋์จ ๊ฒ์ด n-step Q-learning. ์ด๊ฑด ํ ์ธ ratio $\gamma$๋ฅผ ์ ์ฉํด์ ๋ค๋ฅธ time step๊น์ง ํ์ฌ reward์ ์ํฅ์ ์ฃผ๊ฒ ํ๋ ๊ฒ์ธ๋ฏ?
์ด๋ ๊ฒ ํ๋ฉด single reward $r$์ด ์ด์ ์ state action pair์๋ ์ง์ ์ ์ผ๋ก ์ํฅ์ ์ค ์ ์๊ฒ ๋๋ค.
๋ฐ๋๋ก policy-based model๋ค์ policy $\pi(a|s, \theta)$๋ฅผ ๋ฐ๋ก parametrizeํ๋ค. ์ด๋์ loss๋ $\mathbb{E}[R_t]$์ด๋ค(gradient ascent)
REINFOCE ๋ฅ๋ค์ด ์ด๋ ๊ฒ ํ๋๋ฐ $\theta$๋ฅผ ์๋์ ๊ฐ์ด ๊ตฌํ๊ณ
์ด๊ฒ variance๊ฐ ๋์์ ์ด๋ฅผ ๋ฎ์ถ๋ ค๊ณ bias term์ ๋นผ๊ฒ ๋๋ค.
์ด๋ ์ด bias term์ V๋ก ๊ทผ์ฌํด์ ๊ตฌํ๋ฉด ๋ variance๊ฐ ๋ฎ์์ง๋๋ฐ ์ด๊ฒ ๋ฐ๋ก actor-critic architecture๋ค
Asynchronous RL Framework
multi-thread๋ฅผ ์จ์ asynchronousํ๊ฒ ํ๋ฉด ๋๋ค.
- one-step Q-learning์ pseudo-code๋ ์๋์ ๊ฐ๋ค.
๋ณ๊ฑฐ ์๊ณ ๊ทธ๋ฅ thread T๊ฐ ์ผ ๋๊น์ง grad accum ํ๋ค๊ฐ ํ๋ฒ์ ์ ๋ฐ์ดํธํ๋๊ฑฐ~
- n-step Q-Learning
์์ ๋ง ๋ฌด์จ ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ์ ์๋๋ ๊ณผ๊ฑฐ๋ก ๊ฐ์ผ๋๋๋ฐ ๋ฏธ๋๋ก ๊ฐ๋ค..? $t_max$์ผ ๋ ๊น์ง exploration ํ ๋ค์์ ํ๋ฒ์ ์ ๋ฐ์ดํธํ๋ ๋ฏ ํ๋ค.
- Asynchronous advantage actor-critic
advantage actor-critic์ multi-thread ์ถ๊ฐ + policy์ entropy๋ฅผ Loss์ ์ถ๊ฐ
ํ์ต์ RMSProp ์ฌ์ฉ
Result
- Data Efficiency
์ด๋ก ์ ์ผ๋ก๋ ๊ฐ์ sample ๊ฐ์๋ฅผ ๋ดค์ ๋ ๋์ผ์ฑ๋ฅ์ด ๋์ค๋ฉด ์ข์. ๊ทผ๋ฐ ์ฐ๋ฆฐ multi-thread ์ฐ๋๊น 4๊ฐ thread์ฐ๋ฉด wall-clock time์ด 4๋ฐฐ ๋จ์ถ๋๋ ํจ๊ณผ! ๊ทธ๋ฐ๋ฐ ์ถ๊ฐ๋ก ๋๋๊ฒ๋ Q-learning๊ณผ sarsa ์๊ณ ๋ฆฌ์ฆ์ ๊ฒฝ์ฐ ๋์ผ ์ํ ๊ฐ์ ๋๋น ์ฑ๋ฅ์ด ๋ ์ข์๋ค๊ณ . one-step method๋ณด๋ค bias๋ฅผ ์ค์ฌ์?