Double DQN
1. Double DQN ๊ฐ์
์ผ๋ฐ์ ์ธ Q-learning์์ target์ ๊ณ์ฐํ ๋ max ์ฐ์ฐ์๋ฅผ ํตํด ๊ณ์ฐํ๊ธฐ ๋๋ฌธ์, Q-value๊ฐ overestimate ๋๋ ๋ฌธ์ ๊ฐ ์๊ธด๋ค. ๋ง์ฝ Q-value์ ๋ํ ์ถ์ ์ ๋ชจ๋ ๊ฐ์ด overestimate ๋๋ค๋ฉด, ์ด์ฐจํผ Q-value๋ฅผ ์ต๋๋ก ํ๋ action์ ์ ํํ๋๋ก ๋ง๋๋ policy๋ฅผ ์ฐพ๋ ๊ฒ์ด ์ฃผ์ํ ๋ชฉ์ ์ด๋ฏ๋ก ๋ณ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ RL์์๋ ๋ชจ๋ ์ ๋ํด์ ๊ณ ๋ คํ์ง ์๊ณ sample์ ๋ํด์๋ง Q-value๋ฅผ ์ถ์ ํ๋ฏ๋ก ๋ฌธ์ ๊ฐ ๋๋ค. ๋ฐ๋ผ์ Double Q-learning์ ์ด๋ฌํ overestimation bias๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด target ๋ด์์ action์ ์ ํํ๋ ๋ถ๋ถ๊ณผ action์ ๋ํด Q-value๋ฅผ ๊ตฌํ๋ ๊ณผ์ ์ ๋๋์ด ์ ์ฉํ๋ค. Double Q-learning์์๋ Q-table์ 2๊ฐ๋ก ๋๋์ด ์ด ๊ณผ์ ์ ์ํํ์์ผ๋, DQN์์๋ target network์ ์ฌ์ฉ์ผ๋ก ์ธํ์ฌ ์ด๋ฏธ ์๋ก ๋ค๋ฅธ ๋ ๊ฐ์ parameter๊ฐ ์กด์ฌํ๋ฏ๋ก ์ด๋ฅผ ํ์ฉํ๋ค.
โข
Double DQN์ loss function
โ Target์์ action์ ์ ํํ ๋ ๋ฅผ ์ฌ์ฉํ network์์ ์ ํํ๋๋ก ๋ง๋ ๋ค. ๋ฐ๋ผ์ ์ด ๊ฒฝ์ฐ ์ ํ๋ action์ด ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ํํ action์ ๋ํด์๋ ํญ์ max๋ผ๋ ๋ณด์ฅ์ ์๊ธฐ ๋๋ฌธ์ overestimate๊ฐ ์ค์ด๋ค๊ฒ ๋๋ค.
2. Prioritized Replay ๊ฐ์
Online RL agent๋ parameter update ์ ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ผ ์ป์ด์ง data๋ฅผ ์ฌ์ฉํ๋ค. ์ด๋ ์ฐ์๋ sample๋ค์ด ๊ฐํ ์๊ด๊ด๊ณ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ temporal correlation ๋ฌธ์ ๋ฅผ ์ ๋ฐํ๋ฉฐ, ๋๋ฌผ๊ฒ ์ป์ด์ง๋ ๊ฒฝํ์ ๋ํด์ ๋น ๋ฅธ ํ๊ธฐ๋ฅผ ํ๋ค๋ ๊ฒ์์ ๋จ์ ์ ๊ฐ์ง๋ค. ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด DQN์์๋ Replay buffer๋ฅผ ๋์
ํ์ฌ transition์ ์ ์ฅํ์ฌ replay buffer๋ก๋ถํฐ minibatch์ ํฌ๊ธฐ๋งํผ samplingํ์ฌ ์ฌ์ฉํ๋ค. ์ด ๊ฒฝ์ฐ ์ค์ํ sample๊ณผ ๊ทธ๋ ์ง ์์ sample์ด ์ถ์ถ๋ ํ๋ฅ ์ด ๋์ผํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ค์ํ sample์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ฌ ๋ ์์ฃผ sampling ๋๋๋ก ๋ง๋ค ํ์๊ฐ ์๋ค. ์ด๋ ์ค์ํ sample์ ํ๋จ์ TD error์ ํฌ๊ธฐ๋ก ํ๊ฐํ๋๋ฐ, TD error๊ฐ ํฌ๋ค๋ ๊ฒ์ ํด๋น state์์ ์์ธกํ Q-value์ ๋ํ ๊ฐ์ ์ด ๋ง์ด ํ์ํ๋ค๋ ๊ฒ์ด๊ณ , ๊ฐ์ ์ ๋ํ ๋ง์ ์ ๋ณด๋ฅผ ๋ด์ transition์ด๋ฏ๋ก ์ค์ํ๋ค๊ณ ํ๋จํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ ์ฌ๊ธฐ์๋ sample์ ๋ค์์ฑ ๊ฐ์์ bias์ ๋ํ ๋ฌธ์ ๊ฐ ์๋ค. ๋ฐ๋ผ์ stochastic sampling prioritization๊ณผ importance sampling weights๋ฅผ ๋์
ํ์ฌ ๋ฌธ์ ๋ฅผ ์ํํ๋ค.
3. Prioritizing with TD error
โข
Model-based
์๋ฅผ ๋ค์ด value-iteration์ ๊ฒฝ์ฐ prioritizing update๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ํจ์จ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ฐ, ์ด๋ ๋ชจ๋ state์ ๋ํด์ ๋๋ฑํ๊ฒ updateํ๋ ๊ฒ์ด ์๋๋ผ state value์ ๋ณํ๋์ด ๊ฐ์ฅ ํฐ state์ ๋ํด์ ์ฐ์ ์ ์ผ๋ก updateํ๋ค. ์ด๋ ๊ฒ ๋๋ฉด ํ์ฌ policy์ ๋ํด์ Q-value๋ฅผ ์ฐพ์ ๋ ์ํฅ๋ ฅ์ด ํฐ state๋ถํฐ update๋ฅผ ๋ฐ์ํ๊ฒ ๋๋ฏ๋ก ์ฑ๋ฅ์ด ํฅ์๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ์ค์ํ update์ ๊ฒฐ๊ณผ๊ฐ ์ฆ์ ๋ฐ์๋๋ ๋น๋๊ธฐ์ ๋ฐฉ์์์ ๋ ๋์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.
โข
Model-free
๋๋ถ๋ถ์ RL ํ๊ฒฝ์์ ์ฑ๊ณต์ ๋ํ transition๋ณด๋ค ์คํจ์ ๋ํ transition์ด ๋ ๋ง์ด ๋ํ๋๋ ๊ฒฝํฅ์ด ์๋ค. ๋ฐ๋ผ์ ํน์ ์๋์ ๋ํด ์ฑ๊ณต์ ์ธ ๊ฒฐ๊ณผ๋ก ์ด์ด์ก์ ๋, value ์ฐจ์ด๊ฐ ๋งค์ฐ ์ปค์ง๊ฒ ๋๋ค. ์๋ํ๋ฉด ํน์ state์์ ์ฑ๊ณต์ ์ธ action์ ์ทจํ๋ค๋ ๊ฒ์ ๊ทธ action์ ์ํด ๋ฐ๊ฒ ๋๋ reward๊ฐ ์ปค์ง๋ค๋ ๊ฒ๊ณผ action์ ๊ฒฐ๊ณผ ์ด๋ํ๊ฒ ๋๋ state๊ฐ ๋ ๋์ ๊ฐ์น๋ฅผ ๊ฐ์ง state๋ผ๋ ์๋ฏธ๊ฐ ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ผ์ ๋ง์ฝ ๋จ์ํ Replay buffer์์ ๋๋ฑํ๊ฒ sampling ํ ๊ฒฝ์ฐ ์์ ๊ฐ์ ์ ์๋ฏธํ sample์ด ๋ฝํ๋ ๊ฒฝ์ฐ๊ฐ ์ ์ ๊ฒ์ด๋ฏ๋ก Prioritizing์ ์ฌ์ฉํ๋ค.
โ ๊ฒฐ๊ณผ์ ์ผ๋ก Prioritizing๋ ํ์ฌ state์์ ํน์ transition์ ์ทจํ์ ๋ ํ์ตํ ์ ๋ณด๊ฐ ๋ง์ ๊ฒ์ ๋ ์ฐ์ ์ ์ผ๋ก ๊ณ ๋ คํ๋๋ก ๋ง๋ค์ด์ฃผ์ด์ผ ํ๋ฉฐ ๋ฐ๋ผ์ TD-error๋ฅผ ๊ฐ์ง๊ณ ๊ทธ๊ฒ์ ํ๋จํ๊ฒ ๋๋ค. ์ด๋ TD-error๋ ์ด๋ฏธ DQN-learning ๊ณผ์ ์ค์์ ์ฐพ์์ง๋ ๊ฐ์ด๋ฏ๋ก ์ค์ฉ์ ์ด๋ค.
โข
์
TD-error๋ฅผ ๋ฐ์ํ์ฌ samplingํ๊ธฐ ์ํ ๊ฐ์ค์น๋ ์๋ ์๊ณผ ๊ฐ๋ค.
โข
๋ฌธ์ ์
Replay buffer์ ์ ์ฒด transition์ updateํ๋ ๊ฒ์ ์ฐ์ฐ๋์ด ๋ง์ด ํ์ํ๋ฏ๋ก mini batch๋ก sampling ๋ transition์ ๋ํด์๋ง update๋๋ค. ๋ฐ๋ผ์ TD-error์ ์ด๊ธฐ๊ฐ ํฐ transition์ ๋ํด์๋ ์์ฃผ ์ ํ๋์ด update๊ฐ ์ ํํ๊ฒ ๋๊ณ ๋๋จธ์ง๋ ๊ทธ๋ ์ง ์๋ค. ๊ทธ๋ฌ๋ฏ๋ก sample์ ๋ค์์ฑ์ด ์ค์ด overfitting์ ๊ฐ๋ฅ์ฑ์ด ์๊ธด๋ค. ์ฌ์ง์ด, sampling์ ์งํํ ์๋ก priority๊ฐ ๊ณ์ ๋ณํํ๊ธฐ ๋๋ฌธ์ data sampling์ ์งํํ๋ ๊ธฐ๋ฐ์ด ๋๋ ๋ถํฌ๊ฐ ๊ณ์ ๋ณํํ๋ ๋ฌธ์ ๊ฐ ์๋ค.
โข
Sample ๋ค์์ฑ์ ๊ดํ ๋ฌธ์ ํด๊ฒฐ
Stochastic sampling prioritization์ ์ฌ์ฉํ๋ค. Sample์ ๋ํ prioritization์ ํ๋ ํ๋ฅ ์ด ๋ก ์ฃผ์ด์ง๋๋ฐ, ์ด๋ ์ ๊ฐ์ด 1์ ๊ฐ๊น์ธ์๋ก TD-error๋ฅผ ๋ฐํ์ผ๋ก ์ ํ๋ ๋น์จ์ ๋์ด๊ฒ ๋๊ณ ๋ง์ฝ 0์ด ๋๋ค๋ฉด prioritization์ ์ ํ ๊ณ ๋ คํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋๋ค. ์ ๋ฆฌํ์๋ฉด ๊ฐ ์ผ๋ง๋ prioritization์ ์ฌ์ฉํ ๊ฒ์ธ์ง์ ๋ํ hyperparameter๊ฐ ๋๋ค.
โข
Sampling ๋ถํฌ ๋ณํ์ ๋ฐ๋ฅธ bias ๋ฌธ์ ํด๊ฒฐ
Importance sampling weights๋ฅผ ์ฌ์ฉํ์ฌ samling ๋ถํฌ๋ฅผ ๋ณด์ ํ๋ค. ์ด๋ importancee sampling weights์ ๊ฐ์ ๋ก ์ฃผ์ด์ง๊ฒ ๋๋ค. ๋ง์ฝ ๊ฐ 1์ด ๋๋ค๋ฉด ์๋ฒฝํ ๋ณด์ ์ด ์ด๋ค์ง๊ฒ ๋๋ค. ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ๋ค.
unbiased update๋ฅผ ์ํด์๋ training์ ๋ง์ง๋ง์ ๊ฐ 1์ ์๋ ดํ๋๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฒ์ด ์ข๋ค. ๋ฐ๋ผ์ ์ด๊ธฐ๊ฐ ๋ฅผ 1๋ก ์๋ ดํ๋๋ก ํ๋ linearly anneal์ ์ ์ฉํ๋ค.
4. Double DQN with prioritized replay pseudo code
*** ์ parameter update๋ฅผ ์ํ ์ ์ฅ ๊ณต๊ฐ