DQN
1. DQN ๊ฐ์
DQN์ ๋์ ์ฐจ์์ ์ด๋ฏธ์ง input์ CNN์ ๊ธฐ๋ฐ์ผ๋ก Q-learning ๋ชจ๋ธ์ ์ ์ฉํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๊ธฐ์กด Q-learning์์ Q-table์ ํตํด update ํ์ผ๋, DQN์ Q-network๋ฅผ ์ฌ์ฉํ์ฌ Policy evaluation์ ์งํํ๋ค. DQN์์๋ input์ผ๋ก large state space ๋๋ continuous state space๋ฅผ ์ฒ๋ฆฌํ ์ ์๋๋ฐ, ์ด๋ CNN์ convolution layer๊ฐ ๋์ ์ฐจ์์ input์ ๋ฎ์ ์ฐจ์์ feature vector๋ก ๋ณํํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋ฌ๋ output์ผ๋ก๋ ๊ฐ action์ ๋ํ Q-value๊ฐ ์ถ๋ ฅ๋์ด์ผ ํ๋ฏ๋ก action space๋ ์ด์ฐ์ ์ด๊ณ ์ ํํ๋ฉฐ state space์ ๋นํด ์์ ์ฐจ์๋ง ๊ฐ๋ฅํ๋ค.
2. DQN ๊ตฌ์กฐ
Playing Atari with Deep Reinforcement Learning์์ ์๊ฐ๋ DQN์ ๊ตฌ์กฐ์ด๋ค.
โข
Input
Input์ผ๋ก ํน์ ์๊ฐ์ ํ๋ฉด์ด ๋ค์ด๊ฐ๊ฒ ๋๋ฉด, Markov property๋ฅผ ๋ง์กฑํ ์ ์๊ธฐ ๋๋ฌธ์, 4๊ฐ์ frame์ ๋ฌถ์ด์ input์ผ๋ก ์
๋ ฅํ๋ค. ์ด๋ tabular method์ ๋ค๋ฅด๊ฒ ์ ์ฒด state์ ๋ํ ์
๋ ฅ์ด ์๋, ํน์ state์ ๋ํ ์
๋ ฅ์ ๋ฐ์ ์ฒ๋ฆฌํ๋ฏ๋ก state space์ ์ฐจ์์ ์ ์ฝ์ ๋ฐ์ง ์๋๋ค.
โข
Convolution layer
์
๋ ฅ๋ ์ด๋ฏธ์ง๋ฅผ ํฉ์ฑ๊ณฑ ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ feature vector๋ก ๋ณํํ๊ณ ์ด ๊ณผ์ ์์ ์ฐจ์์ด ์ค์ด๋ค๊ฒ ๋๋ฏ๋ก ๋์ ์ฐจ์์ ์ด๋ฏธ์ง ์
๋ ฅ๋ ์ฒ๋ฆฌํ ์ ์๊ฒ ๋๋ค.
โข
Output
๊ฒฐ๊ณผ์ ์ผ๋ก ๊ฐ action์ ๋ํ Q-value๋ฅผ ์ถ๋ ฅํ๊ฒ ๋๋ค. ์ ์ฒด ๊ณผ์ ์ ๋ชฉ์ ์ ์ถ๋ ฅ๋๋ Q-value๊ฐ optimal Q-value์ ๊ทผ์ฌํ๋๋กํ๋ ๊ฒ์ด๋ฉฐ, ์ด๋ฅผ ์ํด์ Q-network์ parameter์ธ ๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ด ๋ชฉ์ ์ด ๋๋ค. Target์์๋ output ์ค์ ๊ฐ์ฅ ๋์ Q-value๋ฅผ ๊ฐ๋ action์ ์ ํํ๊ฒ ๋๋ค.
3. Naive DQN
โข
Q-learning
โ target์์๋ Q์ ๋ํ policy๋ก action์ ์ ํํ๊ณ ํ์ฌ state์์๋ behavior policy์ธ Q์ ๋ํ policy๋ก action์ ์ ํํ์ฌ ํด๋น state์์์ Q-value์ target๊ณผ์ ์ฐจ์ด๊ฐ ์์์ง๋ ๋ฐฉํฅ์ผ๋ก ํ์ตํ๊ฒ ๋๋ค
โข
Naive DQN
โ MSE๋ก ์์คํจ์๋ฅผ ์ ์ํ์ฌ ์ด๋ฅผ ์ต์ํ ํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ ์งํํ๋ค.
โข
๋ฌธ์ ์
1.
Temporal correlations
: Online-RL์์๋ ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ์ป์ด์ง data๋ฅผ ๋ฐํ์ผ๋ก parameter update๋ฅผ ์งํํ๊ฒ ๋๋ฏ๋ก data ์ฌ์ด์ ์๊ด์ฑ์ด ์กด์ฌํ๋ค. ์ด๋ parameter update๋ฅผ ํตํด ๊ทผ์ฌํ ํจ์๊ฐ overfitting ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์๋ค๋ ์ ์์ ๋ฌธ์ ๊ฐ ์๋ค. ๋ํ ํ๋ฒ ์ฌ์ฉํ data๋ฅผ ๋ค์ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ฌผ๊ฒ ๋์ค๋ experience์ ๋ํด์๋ ๊ทธ๊ฒ์ด ์ค์ํ ์ง๋ผ๋, ๋น ๋ฅด๊ฒ ํ๊ธฐ๋์ด๋ฒ๋ฆฐ๋ค๋ ๋ฌธ์ ์ ์ ๊ฐ์ง๋ค
2.
Non-stationary target
: Target์ ๊ณ์ฐ ํ ๋ ์ฌ์ฉํ๋ Q-network๊ฐ update ๋์ ( )๋ฅผ ๊ณ์ฐํ ๋ ์ฌ์ฉํ๋ network์ ๋์ผํ๊ธฐ ๋๋ฌธ์ update์ ๋ฐ๋ผ target function์ด ์์ฃผ ๋ณํํ๊ฒ ๋์ด, ์๋ ด์ด ์ด๋ ค์์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
4. Replay buffer
Temporal correlation ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ DQN์์๋ replay buffer๋ฅผ ๋์
ํ๋ค. ๋ฐ๋ผ์ ์ผ๋ก ์ด๋ฃจ์ด์ง data๋ฅผ replay buffer์ ์ ์ฅํด๋๊ณ minibatch์ ํฌ๊ธฐ๋งํผ random sampling ํ์ฌ ํ์ต์ ์ฌ์ฉํ๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก data ์ฌ์ด์ temporal correlation์ด ์ค์ด๋ค๊ฒ ๋๊ณ minibatch๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ํ์ต ์๋๊ฐ ํฅ์๋๋ฉฐ, ๊ณผ๊ฑฐ์ ๊ฒฝํ์ ์ฌ์ฌ์ฉํ ์ ์๋ค๋ ์ ์์ ์ ์ฉํ๋ค.
5. Target Network
Target function์ด ์์ฃผ ๋ณํ๋ ๋ฌธ์ ๋ ์๋ ด์ ์ด๋ ต๊ฒ ๋ง๋ ๋ค๋ ๋ฌธ์ ์ ์ด ์๊ธฐ ๋๋ฌธ์, DQN์์๋ 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
**๊ณผ์ 6, ๊ณผ์ 7์์ ์ฌ์ฉ๋๋ ์์
7. DQN pesudo code
โข
CNN in DQN
DQN์์๋ ๋ชจ๋ action์ ๋ํ Q-value๋ฅผ ์ถ์ ํ๊ธฐ ์ํด์ 1๊ฐ์ frame์ด ์๋๋ผ, 4๊ฐ์ frame์ ์ฎ์ด์ ๋ฃ์ด์ฃผ๋๋ฐ ์ด๋ markov property๋ฅผ ๋ง์กฑํ ์ ์๋๋ก ํ๋ ์กฐ์น์ด๋ค. ๋ฐ๋ผ์ ์ฐจ์์ด ๋งค์ฐ ์ปค์ง๊ฒ ๋๋๋ฐ CNN์ ์ฌ์ฉํ๋ฏ๋ก convolution layer๋ฅผ ํตํด ์ฐจ์ ์ถ์๋ฅผ ํ๋ค. ์ด๋ CNN์ max pooling์ ์ฌ์ฉํ์ง ์๋๋ค. ๊ธฐ์กด์ CNN์์ max pooling์ ์ฌ์ฉํ๋ ์ด์ ๋ translation invariance๋ฅผ ์ํด์์ด๋ค. ๊ทธ๋ฌ๋ ๊ฒ์์์๋ ์์น ๋ณํ์ ๋ฐ๋ผ output์ด ๋ฌ๋ผ์ง๋ ๊ฒ์ด ํ๋นํ๊ธฐ ๋๋ฌธ์ max pooling์ ์ ์ฉํ์ง ์๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด๋ค.
8. Multi-step Learning
Multi-step learning์ ํ์ต์ ์์ด Target์ ๊ณ์ฐํ ๋, n-step return์ ์ฌ์ฉํ์ฌ ํ์ตํ๋ ๊ฒ์ด๋ค. ์ด๋ ์ ๋นํ step์ ์ฌ์ฉํ๋ฉด ํ์ต ์๋์ ๊ฐ์ ์ ์ด๋ฃฐ ์ ์๋ค. Multi-step learning์์ ์ฌ์ฉํ๋ loss function์ ์๋์ ๊ฐ๋ค.