2024. 7. 5. 02:11ใ๐งช Data Science/ML, DL
์ฌ์ธต ๊ฐํํ์ต์ ์ฃผ์ ํฌ์ธํธ๋ฅผ ํ์คํ๊ฒ ํ์ ํ๊ณ ๋์ด๊ฐ๋ค.
๊ทธ ํ, SARSA์ DQN์ ๊ฐ๋ ์ ์ ๋ฆฌํ๊ณ ๋์ ์ฐจ์ด์ ์ ๋น๊ตํ๋ค.
* ๋ณธ ํฌ์คํ ์ ์ฑ 'Foundations of Deep Reinforcement Learning: Theory and Practice in Python'์ ์ฐธ๊ณ ํ๊ณ ์ ๋ฆฌํ ๊ฒ์์ ๋ฐํ๋๋ค. ํฌ์คํ ๋ด์ ์ฐ์ธ ์์๊ณผ ์๊ณ ๋ฆฌ์ฆ ๊ทธ๋ฆผ์ ์ฑ ์์ ๊ฐ์ ธ์จ ๊ฒ์ ๋๋ค.
1. Value-based Algorithm
$V^{\pi}(s)$ or $Q^{\pi}(s, a)$
์ด์ ํฌ์คํ ์์ ๋ค๋ฃฌ Model-based ๊ธฐ๋ฐ REINFORCE ์๊ณ ๋ฆฌ์ฆ์ agent๊ฐ ์ง์ policy๋ฅผ ํ์ตํด ๊ฐ๋ ๋ฐฉ์์ด์๋ค. ํ์ง๋ง ์ด๋ฒ Value-based ์๊ณ ๋ฆฌ์ฆ์ state-action ์์ ์ง์ ํ๊ฐํ๋ฉด์ actions์ ๊ฒฐ์ ํ๋ค.
Q(s, a)๋ state์ action์ ๋ชจ๋ ๊ณ ๋ คํ๊ณ , V(s)๋ state๋ง์ ๊ณ ๋ คํ๋ค. V๋ ์ฌ์ค์ Q๋ก ๋์ถํ ์ ์๋๋ฐ, ์ด๋ state์์ ์ทจํ ์ ์๋ ๋ชจ๋ action์ ๊ธฐ๋๊ฐ์ด ๊ณง V(s)์ด๊ธฐ ๋๋ฌธ์ด๋ค.
$V^{\pi}(s)$๋ State์์ ํน์ action์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ง ์๊ธฐ์, ์ด๋ค state์์๋ restart์ ๋น์ฉ์ด ์ปค์ง ์๋ฐ์ ์๋ค. state์์ ๊ฐ๋ฅํ ๋ชจ๋ action๋ค์ ํด๋ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฐ๋ฉด์ $Q^{\pi}(s, a)$๋ ์ด ๋ฌธ์ ๋ฅผ ํผํ ์ ์์ด, $Q^{\pi}(s, a)$๋ฅผ ํ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ ๋ง๋ค.
2. Temporal Difference Learning (TD)
: model-free ๊ฐํํ์ต ๋ฐฉ์์ ํ ์ข ๋ฅ. value function์ current estimate๋ก๋ถํฐ bootstrapping ํ๋ ๋ฐฉ์์ผ๋ก ํ์ตํ๋ค.
SARSA ๋ฌธ์ ์์ trajectories๋ฅผ ์์ฑํ๊ณ , Q-value for each (s, a) pair๋ฅผ ์์ธกํ๋ค. trajectories๋ $Q_{tar}$๋ฅผ ์์ฑํ ๋ ํ์ฉํ๋ค. ๊ฒฐ๊ตญ Q-value์ $Q_{tar}$ ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ค์ฌ๊ฐ๋ ๋ฌธ์ ๋ค. TD learning์ $Q_{tar}$๋ฅผ ์ผ๋ง๋ ์ ์์ฑํ ๊ฒ์ธ๊ฐ์ ๋ํ ์ด์ผ๊ธฐ๋ค.
์ TD๋ฅผ ํ์ฉํ๋ ๊ฒ์ผ๊น?
2-1. $Q_{tar:MC}^{\pi}$๋ ๋ชฌํ ์นด๋ฅผ๋ก(MC)๋ฅผ ํตํด ์ถ์ธกํ๋ value function์ ๊ฐ๋ฆฌํค๋๋ฐ, ์์์ ๋ณด๋ฉด ์ ์ ์๋ฏ์ด ๋ชจ๋ trajectories์ returns๋ฅผ ํ๊ท ๋ธ ๊ฒ์ด๋ค.
MC ๋ฐฉ์์ ํตํ ๊ฒฝ์ฐ, agent๋ Q๋ฅผ ์์ธกํ๊ธฐ ์ํด episode๋ค์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ ค์ผ ํ๋ค. ์์ ์์์ ๋ณด์๋, Q๋ trajectories๋ค์ returns ํฉ์ด ๋์ฌ ๋ ๊ตฌํ ์ ์๋ค. ๋ฐ๋ฉด์, TD๋ time-step ๋ณ๋ก ์ด์ ์ value function ๊ฐ๋ค์ ํ ๋๋ก ํ์ฌ value function์ ์ถ์ ํ ์ ์๋ค. ์ด์ ๋ฐ๋ผ, trajectories๊ฐ ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆด ํ์๊ฐ ์๊ฒ ๋๋ค.
2-2. DP(dynamic Programming)๋ time-step ๋ฐฉ์์ผ๋ก, ๋งค step๋ง๋ค ์ ๋ฐ์ดํธํ๊ฑฐ๋, ๊ทธ ์ ์ ๊ฒฐ๊ณผ๋ค์ ํ ๋๋ก ํ์ฌ ๊ฐ์ ์ถ์ธกํ ์ ์๋ค. ๋ค๋ง, DP๋ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ค ์ฐพ๋๋ค๋ ์ ์์ ๊ฐํํ์ต ๋ฌธ์ ๋ฅผ ํ๊ธฐ์ ์ ํฉํ์ง ์๋ค. ์ต์ ์ ๊ฒฝ๋ก๋ก ๊ฐ์ฅ ๋น ๋ฅด๊ฒ ๊ฐ์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ฆ, TD๋ MC์ random sample ๋ฐฉ์๊ณผ DP์ time-step ๋ฐฉ์์ ๊ฐ๊ฐ ๊ฐ์ ธ์จ ๊ฒ์ด๋ผ ๋ณผ ์ ์๋ค.
Model-free | Bootstrapping | Update | |
DP | X (full-width) | O | Time-step |
MC | O (Sample) | X | End of episode |
TD | O (Sample) | O | Time-step |
(์ ๋ฆฌํ)
3. SARSA ๊ฐ๋ ๊ณผ Training process
: Value-based algorithm์ ๊ฐํํ์ต ๋ฐฉ๋ฒ ์ค ํ๋
์ฃผ์ ํน์ง
1) TD learning(Q-function) ๋ฐฉ์์ ํ์ฉ
2) ε-greedy policy (a method for generating actions): ๋ค์ action์ ๊ฒฐ์ ์ง๋ ๋ฐฉ๋ฒ ์ค ํ๋๋ก, random ํ๊ฒ ์ก์
์ ์ ํํ ์ ์๋ ์ฌ์ง๋ฅผ ๋จ๊ฒจ๋ ์ผ๋ก์จ bias ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ์ ํ๋ค.
3) on-policy: policy๋ฅผ ์ง์ ํ์ต์ํค๋ ๊ฒ(REINFORCE) ์ธ์๋, Target value๊ฐ action ์์ฑํ๋ policy์ ์์กดํ ๊ฒฝ์ฐ๋ on-policy๋ก ๋ณธ๋ค. line 8์ ๋ณด๋ฉด, Target value์ธ $y_{i}$๊ฐ a'์ ์์กดํ๋ ๊ฒ์ ๋ณผ ์ ์๋ค. a'๋ experience-generating policy(ε-greedy)์ ์์กดํ๊ณ ์์ผ๋ฏ๋ก SARSA๋ฅผ on-policy๋ผ๊ณ ๋ณผ ์ ์๋ค.
SARSA algorithm์ ๊ฐ๋ตํ๊ฒ ์ดํด๋ณด์. (1) ์ฒ์์ ์ ์ค๋ก ๊ณผ ์ธํ๋ฅผ ์ด๊ธฐํํ๊ณ , Max step์ ์ง์ ํ๊ณ (2) for๋ฌธ์ ๋๋ฆฐ๋ค. (3) ε-greedy๋ฅผ ํตํด trajectories๋ฅผ ์์ฑ, (4) ๊ทธ ์์์ ๋ค์ Q ๊ฐ์ ๊ตฌํ๋ฉฐ target value๋ฅผ ์ ๋ฐ์ดํธํ๋ค. (5) target value์ $Q^{\pi}$์ ์ฐจ์ด๋ฅผ ๊ตฌํ๊ณ , (6) ์ธํ๋ฅผ ์ ๋ฐ์ดํธํ๋ค.
SARSA์ ๋น์ทํ๊ฒ ์ธ๊ธ๋๋ ์๊ณ ๋ฆฌ์ฆ์ด Q-learning(์ฌ์ธต ์ ๊ฒฝ๋ง์ ํ์ฉํ ๋ฒ์ ์ด DQN)์ด๋ค. ๋ฐฉ์์ ๋๊ฐ์๋ฐ, $Q^{\pi}$๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋ฐฉ์์ด ์กฐ๊ธ ๋ค๋ฅด๋ค. SARSA๋ ์ค์ action๊ณผ state ๊ทธ ์์ฒด๋ฅผ ์ ํํ๋ ๋ฐ๋ฉด, Q-learning์ ๊ทธ์ค์์ ์ ์ผ ํฐ $Q^{\pi}(s, a)$๋ฅผ ์ ํํ์ฌ ์ ๋ฐ์ดํธํ๋ค.
3. DQN ๊ฐ๋ ๊ณผ Training process
: ๋ฅ๋ฌ๋๊ณผ ๊ฐํํ์ต์ ๊ฒฐํฉํ์ฌ ์ธ๊ฐ ์์ค์ ๋์ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ฒซ ๋ฒ์งธ ์๊ณ ๋ฆฌ์ฆ(from DeepMind)
๋จผ์ Q-learning์ด๋?
SARSA์ ๊ฑฐ์ ๋น์ทํ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ํ์ฌ ํ๋์ ์์ฑํ ๋๋ ε-greedy๋ฅผ ํ์ฉํ์ง๋ง, ํ์ ๋ค์ ํ๋์ ์์ธกํ๊ฑฐ๋ ์์ฑํ ๋๋ ε-greedy๊ฐ ์๋๋ผ ์ต๊ณ ์ return์ ์ฃผ๋ action์ ์ ํํ๋ ๋ฐฉ์์ด ํ์ฉ๋์๋ค. ํ๋ํ๋ ์ ์ฑ ๊ณผ ํ์ตํ ๋ ์ฌ์ฉํ๋ ์ ์ฑ ์ด ๋ค๋ฅด๊ธฐ์, Q-learning์ off-policy ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
Q-learning์ ๋จ์ : state-action(s, a)์ ํด๋นํ๋ Q-value๋ฅผ ํ ์ด๋ธ ํ์์ผ๋ก ์ ์ฅํ๊ณ ํ์ตํ๋ค. ์ด ๊ฒฝ์ฐ, state/action space๊ฐ ์ปค์ง๋ฉด memory/exploration time ๋ฌธ์ ๊ฐ ๋ฐ์
ํด๊ฒฐ์ : ๋ฅ๋ฌ๋์ ํ์ฉํ์ฌ Q-table์ ํด๋นํ๋ Q-function์ ๋น์ ํ ํจ์๋ก ๊ทผ์ฌ ์ํจ๋ค๋ฉด ์ด๋จ๊น? ๊ตณ์ด ์ ์ฅํ ํ์๊ฐ ์์ด์ง๋ค.
DQN์ 3๋ ์์
3-1) CNN Architecture
: Q-function ๊ทผ์ฌ๋ฅผ linear function์ด ์๋๋ผ CNN Architecture๋ฅผ ํตํด ์งํ
3-2) Experience Replay
: ๋งค ์คํ
๋ง๋ค ์ถ์ถ๋ ์ํ $e_{t} = (s_{t}, a_{t}, r_{t}, s_{t+1})$์ replay memory D์ ์ ์ฅ. Replay memory D์ ์ ์ฅ๋ ์ํ๋ค์ uniform ํ๊ฒ ๋๋ค ์ถ์ถํ์ฌ Q-update ํ์ต์ ์ด์ฉ
์ฅ์ 1: ๋ณธ๋ ๋ค์ ์ํ์ ํ์ตํ์ง๋ง, ์ด๋ด ๊ฒฝ์ฐ Correlation์ด ๊ฐํ ์ฐ์๋ ์ํ๋ค๋ก ๋ชจ๋ธ์ ํ์ตํ๊ฒ ๋๋ค. ์ ๋๋ก ๋ ํ์ต์ ํ ์ ์๊ธฐ์, random ์ถ์ถํ์ฌ ์ํ ์ฌ์ด์ dependency๋ฅผ ์ต๋ํ ๋ฌด์ํ ์ ์๋๋ก ํ๋ค.
์ฅ์ 2: Q-update๋ก ์ธํด behavior policy ๋ณ๊ฒฝ ๋ฐ์ ์, policy๋ก ์์ฑ๋๋ training data์ ๋ถํฌ๋ ๊ฐ์์ค๋ฝ๊ฒ ๋ณํํ ์ ์๋ค. ํ์ต ๋ฐ์ดํฐ์ distribution ๊ฐ์์ค๋ฌ์ด ๋ณํ๋ ํ์ต ์์ ์ฑ์ ํด์น๋ค. ํ์ง๋ง ๋๋ค ์ถ์ถ์ ํตํด ๊ฐ๊ฐ ๋ค๋ฅธ ์๊ฐ์์ ์ํ๋ ์ํ๋ค๋ก update๋ฅผ ํ๊ธฐ์ data๊ฐ ํธํฅ ๋ถํฌํ์ง ์๋๋ค.
3-3) Target Network
: main Q-network์ target network์ ์ด์คํ๋ ๊ตฌ์กฐ. ํ๋ก์ธ์ค๋ ๋ค์๊ณผ ๊ฐ๋ค. (1) Target network๋ฅผ ํ์ฉํ์ฌ y๋ฅผ ๊ณ์ฐ. (2) Main Q-network๋ฅผ ์ด์ฉํ์ฌ Q(s, a) ๊ณ์ฐ. (3) Loss function์ ์ด์ฉํ์ฌ Main Q-network ์ ๋ฐ์ดํธ. (4) ๋งค C ์คํ ๋ง๋ค Target network๋ฅผ Main Q-network๋ก ์ ๋ฐ์ดํธ.
Main Q-network: State, Action์ ์ด์ฉํด ๊ฒฐ๊ด๊ฐ์ด ๋๋ Q(s, a)๋ฅผ ์ป๋๋ฐ ์ด์ฉ. ๋งค ์คํ
๋ง๋ค ํ๋ผ๋ฏธํฐ๊ฐ ์
๋ฐ์ดํธ
Target network: ๊ธฐ์กด Q-network๋ฅผ ๋์ผํ๊ฒ ๋ณต์ ํ ์ํ์์, y(target value)๋ฅผ ์
๋ฐ์ดํธํ๊ธฐ ์ํ maxQ(s, a) ๊ณผ์ ์ ํ์ฉ. ๋งค C ์คํญ๋ง๋ค Main Q-network๋ก ์
๋ฐ์ดํธ.
์ฅ์ 1: ๊ธฐ์กด Q-network๋ $\theta$๊ฐ ์ ๋ฐ์ดํธ๋๋ฉด, ๊ฒฐ๊ด๊ฐ์ธ action-value์ target value(y)๊ฐ ๋์์ ์์ง์ด๊ฒ ๋๋ค. ํ์ง๋ง C ์คํ ๋์ Target value๋ฅผ ๊ณ ์ ํด ๋๋ฉด, ์ํ๋ ๋ฐฉํฅ์ผ๋ก ์ ๋ฐ์ดํธ์ํฌ ์ ์๋ค.
(1) line 9์์ Boltzmann policy๋ฅผ ํ์ฉํ์ฌ generating.
(2) line 10-11์์ ์์ฑ๋ ๋ฐ์ดํฐ๋ค์ batch๋ก sampling.
(3) line 12์์ U๋ฒ์ epoch.
(4) line 13์ ๊ฐ action๋ค์ ๋งํ๊ณ , ์ด ์์์ y ์
๋ฐ์ดํธ๊ฐ ์ด๋ค์ง๋ค.
(5) line 18-20์์ $\theta$ ์
๋ฐ์ดํธ.
Boltzmann policy๋?
: ε-greedy์ alternative method๊ฐ ๋ ์ ์๋ค. ์์ ํ ๋๋ค ํ๊ฒ ๋งก๊ธฐ๋ ๊ฒ์์ ์ฑ๋ฅ ํฅ์์ ํ ๋ฒ์ . ํน์ ํ๋์ด ๋์ Q-values์ ์ฐ๊ด๋์ด ์๋ค๋ฉด can be selected often.
ํ๋ผ๋ฏธํฐ(temperature)๊ฐ ํฌ๋ฉด, distribution์ด uniform ํด์ง๋ค. ๋ฐ๋๋ก ์์ผ๋ฉด, concentrated ๋ ์ ์๋ค. ๋ ๋์ ํ์ต์ ์ํด ์ธ๊ฐ์ด ์ง์ ํ๋ผ๋ฏธํฐ๋ฅผ ์กฐ์ ํ๋ ๊ฒ์ด๊ธฐ์, epilon-greedy์ ๋นํด local minima์ ๋น ์ง๊ธฐ ์ฝ๋ค.
'๐งช Data Science > ML, DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DL] Constrained Decoding (1) | 2024.12.03 |
---|---|
[๊ฐํํ์ต] REINFORCE ์๊ณ ๋ฆฌ์ฆ : ์ฝ๋ ๊ตฌํ (1) | 2024.06.02 |
[๊ฐํํ์ต] REINFORCE ์๊ณ ๋ฆฌ์ฆ : ๊ฐ๋ ๋ฐ ์์ (0) | 2024.05.27 |
[ML] ์ฐจ์ ์ถ์ (1) - ์ ์, PCA, ์์ ์ฝ๋ (1) | 2024.02.26 |
[์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ] ALS ๊ฐ๋ , Basic ํ๊ฒ feat. ์ฝ๋ X (0) | 2022.05.23 |