DQN
1. DQN ๊ฐ์
โข
๊ณ ์ฐจ์์ ์ด๋ฏธ์ง ์
๋ ฅ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด CNN ๊ตฌ์กฐ ๋์
โฆ
๊ณ ์ฐจ์/์ฐ์์ State Space ์ฒ๋ฆฌ ๊ฐ๋ฅ
โข
Q-Network๋ฅผ ํตํด Q-Value๋ฅผ ํํ
โฆ
๋ชจ๋ action์ ๋ํ Q-Value๋ฅผ ์ถ๋ ฅํด์ผ ํ๋ฏ๋ก action space๋ ์ด์ฐ์ ์ด๊ณ ์ ํํ๋ฉฐ state space์ ๋นํด ์์ ์ฐจ์๋ง ๊ฐ๋ฅ
2. DQN ๊ตฌ์กฐ
โข
Input
โฆ
Markov Property๋ฅผ ๋ง์กฑํ๋๋ก, 4๊ฐ์ frame์ ๋ฌถ์ด์ input์ผ๋ก ์
๋ ฅ
โฆ
ํ๋์ Frame์ ์๋, ๋ฐฉํฅ ๋ฑ์ ์ธก๋ฉด์์ ๋ฏธ๋๋ฅผ ์์ธกํ๋๋ฐ ์ถฉ๋ถํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์์ง ์์.
โฆ
ํน์ State์ ๋ํ ์
๋ ฅ์ ๋ฐ์ Q-Value๋ฅผ ๊ณ์ฐํ๊ธฐ ๋๋ฌธ์, State Space์ ์ฐจ์์ ์ ์ฝ์ด ์ ๋ค.
โข
Convolution layer
โฆ
์
๋ ฅ๋ ์ด๋ฏธ์ง์ ํฉ์ฑ ๊ณฑ ์ฐ์ฐ์ ์ ์ฉํ์ฌ Feature Vector๋ก ๋ณํํ์ฌ ์ฐจ์์ ์ค์
โฆ
FC๋ก ๊ฐ ๋ฒกํฐ๋ฅผ ์ฒ๋ฆฌํ๋๋ก, Flatten ์งํ
โฆ
๊ฒ์์์๋ ์์น ์ ๋ณด๊ฐ ์ค์ํ๊ธฐ ๋๋ฌธ์, ์์น ์ ๋ณด๋ฅผ ๋ญ๊ฐ๋ Max Pooling ์ฐ์ฐ์ ์ํํ์ง ์์
โข
Output
โฆ
๊ฐ action์ ๋ํ Q-Value
โฆ
Q-Value๊ฐ Optimal Q-Value์ ๊ทผ์ฌํ๋๋ก ํ๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ํ์ฌ Network์ Parameter๋ฅผ Updateํ๋ค.
3. Naive DQN
โข
Q-learning
โฆ
Target policy: Q์ ๋ํ policy๋ก action ์ ํ
โฆ
Behavior policy: Q์ ๋ํ policy๋ก action์ ์ ํ
โฆ
ํด๋น state์์์ Q-value์ target๊ณผ์ ์ฐจ์ด๊ฐ ์์์ง๋ ๋ฐฉํฅ์ผ๋ก ํ์ต
โข
Naive DQN
โฆ
MSE๋ก ์์คํจ์ ์ ์ ํ ์ต์ํํ๋ ๋ฐฉํฅ์ผ๋ก update
โข
๋ฌธ์ ์
โฆ
Temporal correlations
โช
Online RL์์๋ ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ์ป์ transition์ ๋ฐํ์ผ๋ก parameter update ์งํ
โช
transition ์ฌ์ด์ ์๊ด์ฑ ์กด์ฌ โ ํน์ ์ํฉ์ ๊ณผ๋ํ๊ฒ ์ ์ํ ์ ์๋ค (๊ณผ์ ํฉ)
โช
๋๋ฌผ๊ฒ ๋ฑ์ฅํ๋ ์ค์ํ experience์ ๋ํด ์ถฉ๋ถํ ํ์ต X
โฆ
Non-stationary target
โช
Target์ ๊ณ์ฐํ ๋ ์ฌ์ฉํ๋ Q-Network์ Update์ ๋์์ด ๋๋ Q-Value๋ฅผ ๊ณ์ฐํ๋ Network๊ฐ ๋์ผํ๊ธฐ ๋๋ฌธ์, Target function์ด ์์ฃผ ๋ณํํ๊ฒ ๋์ด ์๋ ด์ด ์ด๋ ต๋ค.
4. Replay buffer
โข
Temporal correlation ๋ฌธ์ ํด๊ฒฐ
โข
์ผ๋ก ์ด๋ฃจ์ด์ง Transition์ replay buffer์ ์ ์ฅ ํ minibatch์ ํฌ๊ธฐ๋งํผ random sampling ํ์ฌ ํ์ต์ ์ฌ์ฉ
โข
Transition ์ฌ์ด์ temporal correlation ๊ฐ์ (์๋ก ๋ค๋ฅธ experience์์์ transition์ผ๋ก Batch ๊ตฌ์ฑ ๊ฐ๋ฅ)
โข
Minibatch๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ํ์ต ์๋๊ฐ ํฅ์
โข
๊ณผ๊ฑฐ์ ๊ฒฝํ์ ์ฌ์ฌ์ฉํ ์ ์๋ค (Buffer ๋ด๋ถ์ transition์ด ๋ฐ๋ก ํ๊ธฐ๋์ง ์์)
5. Target Network
โข
Target Q-network์ parameter ๊ณผ behavior Q-network parameter ๋ฅผ ๋์ผํ๊ฒ ์ค์ ํ์ฌ ํ์ต ์์
โข
ํ์ต ๊ณผ์ ์์๋ ๋ ๊ณ ์ ํ๊ณ ๋ ์ง์์ ์ผ๋ก update
โข
์ผ์ step์ด ์ง๋ ์ดํ์ ๋ฅผ ๋ก update
โข
์ด์ ๊ฐ์ ๋ฐฉ์์ ์ ์ฉํ์ฌ Target function์ด ์ง์์ ์ผ๋ก ๋ณํํ๋ ๋ฌธ์ ํด๊ฒฐ
6. DQN
1.
ํ์ฌ state ์์ Behavior network์ parameter๋ฅผ ์ฌ์ฉํ์ฌ, Policy์ ์ํด action ์ ํ
2.
1์ ๊ฒฐ๊ณผ ์ป๊ฒ ๋ transition ์ Replay buffer์ ์ ์ฅ
3.
Replay Buffer์๋ ์ต๊ทผ N๊ฐ์ transition ์ ๋ณด๊ฐ ์ ์ฅ๋์ด ์์ผ๋ฉฐ, 2์ ๊ฒฐ๊ณผ ์ป์ด์ง ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ฉด์, ๊ฐ์ฅ ์ค๋๋ transition ์ญ์
4.
Replay Buffer์์ minibatch์ ํฌ๊ธฐ๋งํผ random์ผ๋ก transition sampling
5.
์ฃผ์ด์ง N๊ฐ์ data์ ๋ํด Target network์ parameter๋ฅผ ์ฌ์ฉํ์ฌ target value ๊ณ์ฐ
6.
Loss function ๊ณ์ฐ
7.
Behavior network parameter update
8.
์ผ์ step ์ดํ์ Target network parameter update
** ๋ชฉ์ ํจ์ ์ค์ ๋ฐ ๋ฏธ๋ถ
8. Multi-step Learning
Multi-step learning์ ํ์ต์ ์์ด Target์ ๊ณ์ฐํ ๋, n-step return์ ์ฌ์ฉํ์ฌ ํ์ตํ๋ ๊ฒ์ด๋ค. ์ด๋ ์ ๋นํ step์ ์ฌ์ฉํ๋ฉด ํ์ต ์๋์ ๊ฐ์ ์ ์ด๋ฃฐ ์ ์๋ค. Multi-step learning์์ ์ฌ์ฉํ๋ loss function์ ์๋์ ๊ฐ๋ค.