Search
moon
sun
๐Ÿ’ช๐Ÿป

Twin Delayed Deep Deterministic policy gradient (TD3)

์ƒ์„ฑ์ผ
2024/09/04 16:42
์ตœ์ข… ์ˆ˜์ •์ผ
2025/04/21 06:36
ํƒœ๊ทธ
๊ฐ•ํ™”ํ•™์Šต
์ž‘์„ฑ์ž

Introduction

โ€ข
Overestimation Bias
discrete action space์—์„œ value estimates ๊ฐ€ overestimation๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ Overestimation๋˜๋Š” ์˜ค๋ฅ˜๋Š” Q-learning ์—์„œ Value Function Approximation ํ•  ๋•Œ ๋ฐœ์ƒํ•˜์ง€๋งŒ, Continuous space์—์„œ์˜ Actor-Critic ๋ฐฉ๋ฒ•(DDPG) ์— ๋Œ€ํ•ด์„œ๋„ ์œ ์‚ฌํ•œ ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ํ•œ๋‹ค.
DDPG์—์„œ ๋ดค๋“ฏ์ด noise๊ฐ€ ์žˆ๋Š” value function approximation์€ (Crtic์—์„œ Q-learning ๊ณผ ๊ฐ™์ด update ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด) overestimation์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
๋˜ํ•œ, noise๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค๋Š” ๊ฒƒ์€ ์•„๋ฌดํŠผ error๊ฐ€ ๊ณ„์†ํ•ด์„œ accumulate ๋˜๋Š” ๊ฒƒ์ด๋‹ค ๋ณด๋‹ˆ agent๊ฐ€ optimalํ•˜์ง€ ์•Š์€ state๋‚˜ action์„ optimal ํ•˜๋‹ค๊ณ  ํ‰๊ฐ€ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋Ÿฐ overestimation ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ ์ž Clipping Double Q-learning + Actor-Critic ํ˜•ํƒœ๋กœ ๋ณ€ํ˜•ํ•˜์—ฌ ๋…๋ฆฝ์ ์œผ๋กœ training ๋œ Critic 2๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค๊ณ  ํ•œ๋‹ค. Overestimate๋œ value estimate ๋ฅผ upper-bound ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ, ์‹ค์ œ value estimates๋ณด๋‹ค ๋‚ฎ์€ estimates์„ ์„ ํ˜ธํ•˜๋„๋ก ๋งŒ๋“ค์–ด ์ค€๋‹ค.
โ€ข
Variance reduction
Overestimation Bias๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด Variance๋ฅผ ์ค„์ด๋Š” ๋ช‡๊ฐ€์ง€ ๋ฐฉ๋ฒ•๋“ค
1.
Target network์˜ ์‚ฌ์šฉ - Accumulate error๋ฅผ ์ค„์—ฌ Variance๋ฅผ ์ค„์ด๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋œ๋‹ค. ( =DQN)
2.
delaying policy update - value estimation๊ณผ policy๊ฐ€ coupling (๊ฒฐํ•ฉ?) ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด value estimation์ด ์ถฉ๋ถ„ํžˆ converge ๋  ๋•Œ๊นŒ์ง€ policy update๋ฅผ delay ์‹œํ‚ค๊ฒ ๋‹ค.
3.
Reularization strategy - SARSA์ฒ˜๋Ÿผ similar action์„ estimateํ•˜๋Š” bootstrapping ๋ฐฉ์‹์„ ์ ์šฉํ•˜์—ฌ ์ถ”๊ฐ€์ ์œผ๋กœ variance๋ฅผ ์ค„์˜€๋‹ค.

Background

โ€ข
Reinforcement Learning Objective
J(ฯ•)=Esiโˆผpฯ€,aiโˆผฯ€[R0]J(\phi) = \mathbb{E}_{s_i \sim p_{\pi}, a_i \sim \pi} [R_0]
๊ฐ•ํ™”ํ•™์Šต์˜ ๋ชฉํ‘œ๋Š” parameter ฯ•\phi ์ธ policy ฯ€ฯ•\pi_\phi ๋ฅผ maximizeํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰, optimal policy ฯ€ฯ•\pi_\phi ๋Š” expected return ์ธ J(ฯ•)J(\phi) ๋ฅผ maximize ํ•ด์•ผํ•œ๋‹ค.
โˆ‡ฯ•J(ฯ•)\nabla_{\phi} J(\phi)
update๋ฅผ ํ•  ๋•Œ๋Š” expected return ์˜ gradient๋ฅผ ๊ฐ€์ง€๊ณ  ํ•œ๋‹ค. ์ด gradient๋Š” policy์˜ parameter ฯ•\phi ์— ๋”ฐ๋ฅด๋Š” Return์˜ ๋ณ€ํ™”์œจ์„ ์˜๋ฏธํ•˜๋ฉฐ policy๊ฐ€ ๋” ๋‚˜์€ ๋ฐฉํ–ฅ์œผ๋กœ update๋œ๋‹ค.
โ€ข
Policy Gradient
โˆ‡ฯ•J(ฯ•)=Esโˆผpฯ€[โˆ‡aQฯ€(s,a)โˆฃa=ฯ€(s)โˆ‡ฯ•ฯ€ฯ•(s)]\nabla_{\phi} J(\phi) = \mathbb{E}_{s \sim p_{\pi}} \left[ \nabla_a Q^{\pi}(s, a) \big|_{a=\pi(s)} \nabla_{\phi} \pi_{\phi}(s) \right]
TD3 ๋Š” DDPG์—์„œ ํ™•์žฅ๋œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค๋ณด๋‹ˆ ๋Œ€๋ถ€๋ถ„ ์ „๊ฐœ๋Š” ๋น„์Šทํ•˜๋‹ค.
Q-function Qฯ€(s,a)Q^\pi(s,a) : state ss ์—์„œ action aa ๋ฅผ ์ทจํ–ˆ์„ ๋–„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” value Policy gradient โˆ‡ฯ•ฯ€ฯ•(s)\nabla_{\phi} \pi_\phi(s) : policy๊ฐ€ state ss ์—์„œ ์„ ํƒํ•˜๋Š” action ์˜ ๋ณ€ํ™”์œจ
โ€ข
Q-learning
Q-learning ์€ TD Method ๋ฐฉ์‹์œผ๋กœ bellman equation ์— ๋”ฐ๋ผ update๊ฐ€ ์ง„ํ–‰๋œ๋‹ค.
Qฯ€(s,a)=r+ฮณEsโ€ฒ,aโ€ฒ[Qฯ€(sโ€ฒ,aโ€ฒ)],aโ€ฒโˆผฯ€(sโ€ฒ)Q^{\pi}(s, a) = r + \gamma \mathbb{E}_{s', a'} [Q^{\pi}(s', a')], \quad a' \sim \pi(s')
large state space์—์„œ value๋Š” parameter ฮธ\theta ๋ฅผ ๊ฐ€์ง„ function approximation Qฮธ(s,a)Q_{\theta}(s,a) ๋กœ estimate ํ•ด ์ง„ํ–‰ํ•œ๋‹ค. ( =VFA)
y=r+ฮณQฮธโ€ฒ(sโ€ฒ,aโ€ฒ)y = r + \gamma Q_{\theta'}(s', a')
frozen target network Qฮธโ€ฒ(sโ€ฒ,aโ€ฒ)Q_{\theta'}(s', a') ์„ ์„ค์ •ํ•˜๊ณ  objective ์ธ yy ๋ฅผ update ํ•œ๋‹ค.
โ€ข
soft target update
ฮธโ€ฒโ†ฯ„ฮธ+(1โˆ’ฯ„)ฮธโ€ฒ\theta' \leftarrow \tau \theta + (1 - \tau) \theta'
TD3 ๋„ stability ๋•Œ๋ฌธ์— soft target update๋ฅผ ์“ฐ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๊ณ , DDPG์™€ ์‚ด์ง ๋‹ค๋ฅธ์ ์€ ๋’ค์—์„œ๋„ ๋‹ค์‹œ ์–ธ๊ธ‰ ํ•˜๊ฒ ์ง€๋งŒ Actor-Critic์—์„œ๋Š” ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ policy๋ฅผ target policy๋กœ ์‚ฌ์šฉํ•˜๋‹ค ๋ณด๋‹ˆ Q-learning ์ฒ˜๋Ÿผ updateํ•˜๋ ค๊ณ  ํ•˜๋ฉด target policy์™€ current policy ๊ฐ„์˜ ์ฐจ์ด๊ฐ€ ๊ฑฐ์˜ ์—†์–ด ์ผ์ • time steps ๊ฐ„๊ฒฉ์„ ๋‘๊ณ  (delay) update๋ฅผ ํ•œ๋‹ค.

Overestimation Bias

Overestimation Bias in Q-learning

y=r+ฮณmaxโกaโ€ฒQ(sโ€ฒ,aโ€ฒ)y = r + \gamma \max_{a'} Q(s', a')
์ผ๋ฐ˜์ ์ธ Q-learning ์—์„œ value estimates ๋Š” greedyํ•˜๊ฒŒ update๋œ๋‹ค. ์–ด๋–ค action์ด ์‚ฌ์‹ค์€ optimal ํ•˜์ง€ ์•Š๋”๋ผ๋„ max๋กœ updatef๋ฅผ ํ•˜๋‹ค๋ณด๋‹ˆ ์‹ค์ œ ๊ฐ’๊ณผ ์ฐจ์ด(error) ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.
Eฯต[maxโกaโ€ฒ(Q(sโ€ฒ,aโ€ฒ)+ฯต)]โ‰ฅmaxโกaโ€ฒQ(sโ€ฒ,aโ€ฒ)\mathbb{E}_{\epsilon} \left[ \max_{a'} ( Q(s', a') + \epsilon ) \right] \geq \max_{a'} Q(s', a')
๋”ฐ๋ผ์„œ ํ•™์Šต ์ดˆ๊ธฐ์— error ฯต\epsilon ๊ฐ€ N(0,ฯƒ)\mathcal{N}(0,\sigma) ์œผ๋กœ ์‹œ์ž‘ํ•˜๋”๋ผ๋„ ๊ณ„์† updateํ•  ๋•Œ error๊ฐ€ accumulate ๋˜๋‹ค๋ณด๋ฉด ๊ฒฐ๊ตญ์—” ์‹ค์ œ value estimates ๋ณด๋‹ค ๋” ์ปค์ง€๊ฒŒ ๋  ๊ฒƒ์€ ๋ถ„๋ช…ํ•˜๋‹ค.

Overestimation Bias in Actor-Critic

Actor-Critic ์—์„œ๋Š” policy๊ฐ€ Critic์˜ value estimate๋ฅผ ํ†ตํ•ด update๋œ๋‹ค. DDPG์˜ ์—ฐ์žฅ์„ ์ƒ์ด๋‹ˆ๊นŒ Deterministic Policy Gradient ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ base๋กœ ๋‘๊ณ , Critic์—์„œ updateํ•  ๋•Œ, value estimate์—์„œ ์™œ overestimation ์ด ๋ฐœ์ƒํ•˜๋Š”์ง€ ์ฆ๋ช…ํ•˜๊ฒ ๋‹ค.
ฯ•approx=ฯ•+ฮฑZ1Esโˆผpฯ€[โˆ‡ฯ•ฯ€ฯ•(s)โˆ‡aQฮธ(s,a)โˆฃa=ฯ€ฯ•(s)]\phi_{\text{approx}} = \phi + \frac{\alpha}{Z_1} \mathbb{E}_{s \sim p_\pi} \left[ \nabla_{\phi} \pi_\phi(s) \nabla_a Q_{\theta}(s, a) \bigg|_{a = \pi_\phi(s)} \right]
ฯ•true=ฯ•+ฮฑZ2Esโˆผpฯ€[โˆ‡ฯ•ฯ€ฯ•(s)โˆ‡aQฯ€(s,a)โˆฃa=ฯ€ฯ•(s)]\phi_{\text{true}} = \phi + \frac{\alpha}{Z_2} \mathbb{E}_{s \sim p_\pi} \left[ \nabla_{\phi} \pi_\phi(s) \nabla_a Q^\pi(s, a) \bigg|_{a = \pi_\phi(s)} \right]
๐Ÿ’ก
ฯ•approxฯ•_{approx} : ํ˜„์žฌ policy์˜ parameter๋กœ, actor-critic ๋ฐฉ๋ฒ•์—์„œ approximate critic Qฮธ(s,a)Q_\theta(s, a)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—…๋ฐ์ดํŠธ๋œ parameter (=์ผ๋ฐ˜์ ์œผ๋กœ ํ•™์Šต์ค‘์ธ policy)
ฯ•trueฯ•_{true} : true critic Qฯ€(s,a)Q^\pi(s, a) ์— ์˜ํ•ด update๋œ hypothetical parameter
์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด, ฯ•approx\phi_{approx} ๋Š” ์šฐ๋ฆฌ๊ฐ€ ๋ณดํ†ต ํ™˜๊ฒฝ์—์„œ ํ•™์Šตํ•˜๋Š” ๋™์•ˆ ์‚ฌ์šฉํ•˜๋Š” ๊ฑด approximate๋œ ๊ฐ’์ด๋‹ค. โ€œapproximate ํ–ˆ๋‹ค๋Š” ๊ฑด ๊ฒฐ๊ตญ ์™„๋ฒฝํ•˜์ง€ ์•Š๋‹คโ€ ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ณ , ์˜ค์ฐจ (error) ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
๋ฐ˜๋Œ€๋กœ ฯ•true\phi_{true} ๋Š” optimal policy๋กœ๋ถ€ํ„ฐ updateํ•œ parameter์ธ๋ฐ, ์‚ฌ์‹ค optimal policy๋ผ๋Š”๊ฑด ์‹ค์ œ ํ•™์Šต ์ค‘์—๋Š” ์•Œ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— optimal policy๊ฐ€ ์ด๋ก ์ ์œผ๋กœ ์กด์žฌํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด์•ผํ•˜๋Š” ๋ถ€๋ถ„์ด ์ข€ ์žˆ๋‹ค.
where we assume Z1Z_1 and Z2Z_2 are chosen to normalize the gradient, i.e., such that Zโˆ’1โˆฃโˆฃE[โ‹…]โˆฃโˆฃ=1Z^{-1}||E[ยท]||= 1
Z1Z_1๊ณผ Z2Z_2 ๋Š” gradient๋ฅผ normalizationํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์ฆ‰, ํ•ด๋‹น expectation์ด 1์ด ๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ scaling ์ƒ์ˆ˜์ด๋‹ค. gradient ๊ฐ€ ๋„ˆ๋ฌด ์ปค์ง€๊ฑฐ๋‚˜ ์ž‘์•„์ง€๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ ํ•˜๊ธฐ ์œ„ํ•ด ์“ด ๊ฒƒ.
์ž, ฯ•approx\phi_{approx} , ฯ•true\phi_{true} parameter๋ฅผ ์‚ฌ์šฉํ•˜๋Š” policy๋ฅผ ๊ฐ๊ฐ ฯ€approx\pi_{approx}, ฯ€true\pi_{true} ๋ผ๊ณ  ํ•ด๋ณด์ž. ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ 3๊ฐ€์ง€ ์กฐ๊ฑด์ด ๋ฐ˜๋“œ์‹œ ์„ฑ๋ฆฝํ•œ๋‹ค.
1.
์ถฉ๋ถ„ํžˆ ์ž‘์€ ฯต1\epsilon_1 ์ด ์žˆ์„ ๋•Œ, learning rate ฮฑ\alpha ๊ฐ€ ฯต1\epsilon_1 ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด ( ฯต1โ‰ฅฮฑ \epsilon_1 \geq \alpha) , ฯ€approx\pi_{approx} ์˜ approximate ๋œ ๊ฐ’์ด ฯ€true\pi_{true}์˜ approximate๋œ ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฌ๊ฑฐ๋‚˜ ๊ฐ™์•„์•ผํ•œ๋‹ค.
E[Qฮธ(s,ฯ€approx(s))]โ‰ฅE[Qฮธ(s,ฯ€true(s))]\mathbb{E} \left[ Q_{\theta}(s, \pi_{\text{approx}}(s)) \right] \geq \mathbb{E} \left[ Q_{\theta}(s, \pi_{\text{true}}(s)) \right]
โ†’ 1๋ฒˆ์˜ ์ด์œ  : ฯ€approx\pi_{approx} ๋Š” approximate๋œ Critic QฮธQ_\theta ์„ ์‚ฌ์šฉํ•˜์—ฌ update ๋˜๋Š” policy์ด๋‹ค ๋ณด๋‹ˆ, error (noise) ๊ฐ€ ํฌํ•จ๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Œ. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ฯ€approx\pi_{approx} ๋Š” ฯ€true\pi_{true} ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์„ ์ˆ˜๋ฐ–์— ์—†๋‹ค.
2.
์ถฉ๋ถ„ํžˆ ์ž‘์€ ฯต2\epsilon_2 ์ด ์žˆ์„ ๋•Œ, learning rate ฮฑ\alpha ๊ฐ€ ฯต2\epsilon_2 ๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋ฉด ( ฯต2โ‰ฅฮฑ\epsilon_2 \geq \alpha ), ฯ€true \pi_{true}์˜ ์‹ค์ œ ๊ฐ’์€ ฯ€approx\pi_{approx}์˜ ์‹ค์ œ ๊ฐ’๋ณด๋‹ค ํ•ญ์ƒ ํฌ๊ฑฐ๋‚˜ ๊ฐ™์•„์•ผํ•œ๋‹ค.
E[Qฯ€(s,ฯ€true(s))]โ‰ฅE[Qฯ€(s,ฯ€approx(s))]\mathbb{E} \left[ Q^\pi(s, \pi_{\text{true}}(s)) \right] \geq \mathbb{E} \left[ Q^\pi(s, \pi_{\text{approx}}(s)) \right]
โ†’ 2๋ฒˆ์˜ ์ด์œ  : ฯ€true\pi_{true} ๋Š” optimalํ•œ value function Qฯ€Q^\pi ๋ฅผ ๊ฐ€์ง€๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์— optimal policy ฯ€true\pi_{true} ๋Š” ฯ€approx\pi_{approx} ๋ณด๋‹ค ํ•ญ์ƒ ์ข‹์•„์•ผํ•œ๋‹ค.
3.
๊ทธ๋ฆฌ๊ณ , E[Qฮธ(s,ฯ€true(s))]โ‰ฅE[Qฯ€(s,ฯ€true(s))]\mathbb{E} \left[ Q_\theta(s, \pi_{\text{true}}(s)) \right] \geq \mathbb{E} \left[ Q^\pi(s, \pi_{\text{true}}(s)) \right] ์ด ์„ฑ๋ฆฝํ•˜๊ณ , ์œ„์˜ 2๊ฐœ์˜ ์ˆ˜์‹์— ๋Œ€ํ•ด ฮฑ<minโก(ฯต1,ฯต2)\alpha < \min(\epsilon_1, \epsilon_2) ์„ ๋งŒ์กฑํ•  ๋•Œ value estimation์€ overestimate ๋˜์—ˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.
E[Qฮธ(s,ฯ€approx(s))]โ‰ฅE[Qฯ€(s,ฯ€approx(s))]\mathbb{E} \left[ Q_\theta(s, \pi_{\text{approx}}(s)) \right] \geq \mathbb{E} \left[ Q^\pi(s, \pi_{\text{approx}}(s)) \right]
โ†’ 3๋ฒˆ์˜ ์ด์œ  : approximate ๋œ policy ฯ€approx\pi_{approx} ๋Š” ํ˜„์žฌ ํ•™์Šต ์ค‘์ธ approximate Q-funtion QฮธQ_\theta ๋ฅผ ๊ฐ€์ง€๊ณ  action์„ ์„ ํƒํ•˜๋ฏ€๋กœ ฯ€approx\pi_{approx} ๊ฐ€ ์„ ํƒํ•œ action ๋„ QฮธQ_\theta ์˜ overestimate๋œ ๊ฐ’์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๋ฝ‘๊ฒŒ ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ฯ€approx\pi_{approx}์—์„œ๋„ overestimation์ด ๋  ๊ฒƒ์ด๋‹ค.
์ด๋ ‡๊ฒŒ overestimation ๋˜๋Š” ์ด์œ ๋Š” DDPG์—์„œ๋Š” Q-learning์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ ํ˜„์žฌ Q-function์—์„œ ๊ฐ€์žฅ ๋†’์€ ๊ฐ’์„ ๋ฝ‘์•„๋ฒ„๋ฆฌ๊ธฐ ๋•Œ๋ฌธ. ๋งŒ์•ฝ์— Q-function์ด overestimation ๋˜์–ด์žˆ๋‹ค๋ฉด ์‹ค์ œ๋กœ๋Š” ์ข‹์ง€ ์•Š์€ action์—๋‹ค๊ฐ€ ๋†’์€ value๋ฅผ ์ฃผ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
overestimation์ด ๋ฐ˜๋ณต๋˜๋ฉด ์ง€์†์ ์ธ update์— ์˜ํ•ด accumulate ๋˜๋ฉด์„œ bias๊ฐ€ ์‹ฌ๊ฐํ•˜๊ฒŒ ์ปค์ ธ ๋ถ€์ •ํ™•ํ•œ value estimation์„ ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๊ณ , ์ด๋Š” poor policy update๋ฅผ ํ•˜๊ฒŒ ๋˜์–ด ์•ˆ์ข‹์€ policy๊ฐ€ ๋˜๊ฒŒ ๋œ๋‹ค.

Clipped Double Q-Learning for Actor-Critic

๊ธฐ์กด์— ์—ฌ๋Ÿฌ overestimation ๋ฌธ์ œ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•๋“ค์ด ์žˆ์—ˆ์ง€๋งŒ, actor-critic ๊ตฌ์กฐ์—์„œ๋Š” ํšจ๊ณผ์ ์ด์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ Double Q-learning์˜ ๋ณ€ํ˜•์ธ Clipping Double Q-learning์„ ์†Œ๊ฐœํ•œ๋‹ค.
โ€ข
Learning target
๊ฐ•ํ™” ํ•™์Šต์—์„œ "learning target"์ด๋ž€, ํ•™์Šต ๊ณผ์ •์—์„œ ํ˜„์žฌ policy๋ฅผ updateํ•  ๋•Œ ์‚ฌ์šฉํ•  target value์„ ์˜๋ฏธํ•œ๋‹ค.
์ผ๋ฐ˜์ ์ธ Q-learning์˜ target์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.
y=r+ฮณmaxโกaโ€ฒQ(sโ€ฒ,aโ€ฒ)y = r + \gamma \max_{a'} Q(s', a')
rr์€ ํ˜„์žฌ state์—์„œ ์–ป์€ reward์ด๊ณ , ฮณ\gamma๋Š” discount factor, maxโกaโ€ฒQ(sโ€ฒ,aโ€ฒ)\max_{a'} Q(s', a') ๋Š” next state์—์„œ ์ทจํ•  ์ˆ˜ ์žˆ๋Š” action ์ค‘์—์„œ ๊ฐ€์žฅ ๋†’์€ Q-value๋ฅผ ์„ ํƒํ•ด target์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.
โ€ข
in Double DQN
Double Q-learning์—์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธย 2๊ฐœ์˜ value estimator๋ฅผ ์ด์šฉํ•ด value function์ด ํŽธํ–ฅ๋˜์ง€ ์•Š๋„๋ก ๋งŒ๋“ค์–ด์ค€๋‹ค. ๋‘ ๊ฐœ์˜ Q-value๊ฐ€ ์„œ๋กœ ๋…๋ฆฝ์ ์ด๋ฉด, ํ•œ์ชฝ network๊ฐ€ overestimate ๋œ ๊ฒฝ์šฐ ๋‹ค๋ฅธ network๊ฐ€ ์ด๋ฅผ ๊ท ํ˜• ๋งž์ถ”์–ด ์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค..
โ€ข
in Actor-Critic
Actor-Critic ์—์„œ๋Š” Q-value๊ฐ€ ์•„๋‹Œ policy๋ฅผ ์ง์ ‘์ ์œผ๋กœ ํ•™์Šตํ•œ๋‹ค. Actor๋Š” policy๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๋Š” ์—ญํ• ์„ ํ•˜๊ณ , Critic์€ Q-value ๋˜๋Š” value function์„ ํ†ตํ•ด Actor๊ฐ€ ์ข‹์€ ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ learning target์€ Q-value ๋˜๋Š” value function์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค.
โ€œlearning target = Criticโ€
Actor-Critic์—์„œ๋Š” Q-learning๊ณผ ๋น„์Šทํ•œ ์ ‘๊ทผ์„ ํ•˜๋ ค ํ–ˆ์„ ๋•Œ, ย current policy๊ณผ target policy์ด ๋„ˆ๋ฌด ๋น„์Šทํ•ด์„œ ๋…๋ฆฝ์ ์ธ estimates๋ฅผ ๋งŒ๋“ค๊ธฐ ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ 2๊ฐœ์˜ Q-value๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ฐ Q-value๋Š” ๋‹ค๋ฅธ Actor ์— ๋งž์ถฐ์„œ ํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋œ๋‹ค.
y1=r+ฮณQฮธ2(sโ€ฒ,ฯ€ฯ•1(sโ€ฒ))y2=r+ฮณQฮธ1(sโ€ฒ,ฯ€ฯ•2(sโ€ฒ))y_1 = r + \gamma Q_{\theta_2}(s', \pi_{\phi_1}(s')) \\ y_2 = r + \gamma Q_{\theta_1}(s', \pi_{\phi_2}(s'))
์ฆ‰, Qฮธ2Q_{\theta_2}๋Š” ฯ€ฯ•1\pi_{\phi_1}๋กœ, Qฮธ1Q_{\theta_1} ๋Š” ฯ€ฯ•2\pi_{\phi_2}๋กœ ํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ๋‘ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ Q-value๋ฅผ ํ†ตํ•ด Actor๋ฅผ updateํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ Critic๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ actor๊ฐ€ ๊ต์ฐจ๋กœ ๋“ค์–ด๊ฐ€ optimize๋˜๋Š” ๊ตฌ์กฐ๋กœ, ์ด๋Š” unbiased value estimate๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.
๊ทธ๋Ÿฐ๋ฐ? ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
Actor-Critic ๊ตฌ์กฐ์—์„œ Double DQN ์„ ์ ์šฉํ•ด๋„ ์—ฌ์ „ํžˆ DDPG์™€ ์œ ์‚ฌํ•œ overestimation ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ์žˆ๋‹ค. ๋ฌผ๋ก  Double Q-learning์„ ์จ์„œ DDPG์— ๋น„ํ•ด overestimation์„ ์ค„์ด๊ธด ํ–ˆ์ง€๋งŒ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜์ง€ ๋ชปํ•˜์˜€๋‹ค.
ํ•ด๋‹น ์ด์œ ๋Š” ๋‘ Critic์€ ์™„์ „ํ•˜๊ฒŒ independent ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
2๊ฐœ์˜ Critic Qฮธ1,Qฮธ2Q_{\theta_1}, Q_{\theta_2}์ด learning target์„ ๋งŒ๋“ค ๋•Œ ๋ฐ˜๋Œ€ํŽธ์˜ critic์„ ์‚ฌ์šฉํ•˜๊ณ , ๊ฐ™์€ replay buffer๋กœ ๋ฝ‘ํžˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ด๋กœ ์ธํ•ด ์–ด๋–ค state s์—์„œ๋Š” Qฮธ2(s,ฯ€ฯ•1(s))>Qฮธ1(s,ฯ€ฯ•1(s))Q_{\theta_2}(s, \pi_{\phi_1}(s)) > Q_{\theta_1}(s, \pi_{\phi_1}(s)) ์ผ ์ˆ˜ ์žˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ Qฮธ1(s,ฯ€ฯ•1(s))Q_{\theta_1}(s, \pi_{\phi_1}(s)) ๋Š” ์‹ค์ œ value๋ณด๋‹ค overestimation ๋  ์ˆ˜๋„, ํŠน์ • ๋ถ€๋ถ„์—์„œ๋Š” ํ›จ์”ฌ ์‹ฌํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ฌ๋‹ค.
์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋œ biased ๋œย Qฮธ2Q_{ฮธ_2}๋ฅผ ๋” biased๋œย Qฮธ1Q_{ฮธ_1}๋กœ upper-bound์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ์ œํ•œ ํ•˜์˜€๋‹ค.
๋‹ค์‹œ ๋งํ•˜๋ฉด Qฮธ1Q_{ฮธ_1} ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋” ํŽธํ–ฅ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ณดํ†ต์€ Qฮธ2Q_{ฮธ_2}์ด ๋” true value (์‹ค์ œ ๊ฐ’)์— ๊ฐ€๊น๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งŒ์•ฝ์— Qฮธ2Q_{ฮธ_2} ์กฐ์ฐจ ํŽธํ–ฅ๋˜์–ด ์ž˜๋ชป๋œ ๊ฐ’์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์— ๋Œ€๋น„ํ•˜์—ฌ, ๋‘ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ๋” ์ž‘์€ ๊ฐ’์„ ์„ ํƒํ•˜๊ฒ ๋‹ค ๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค.
y=r+ฮณminโกi=1,2Qฮธiโ€ฒ(sโ€ฒ,ฯ€ฯ•1(sโ€ฒ))y = r + \gamma \min_{i=1,2} Q'_{\theta_i}(s', \pi_{\phi_1}(s'))
๊ฒฐ๊ตญ 2๊ฐœ์˜ Critic ์˜ estimates ์ค‘์—์„œ ๋” ์ž‘์€ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ (Clippingํ•˜์—ฌ) learning target์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.์œ„์™€ ๊ฐ™์ด Clipping์„ ํ•˜๋ฉด Overestimation์ด ์ถ”๊ฐ€๋กœ ์•…ํ™”๋˜์ง€๋Š” ์•Š๋Š”๋‹ค.
๋ฐ˜๋Œ€๋กœ ์ด๋ ‡๊ฒŒ ๊ณ„์†ํ•ด์„œ target์„ ๋งŒ๋“œ๋Š” ๋ฐ ์žˆ์–ด์„œ min์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด underestimation ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋„ ์ƒ๊ฐํ•ด๋ด์•ผํ•œ๋‹ค. (poicy์˜ value๋ฅผ ์‹ค์ œ๋ณด๋‹ค ๋‚ฎ๊ฒŒ ํ‰๊ฐ€ํ•˜๋Š” ๊ฒƒ) ์œ„ ๋…ผ๋ฌธ์—์„œ๋Š” underestimated action ์€ policy update๋ฅผ ํ†ตํ•ด ์ ๊ทน์ ์œผ๋กœ ๋ฐ˜์˜๋˜์–ด update ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ, ์ž˜๋ชป๋œ action ์ด ์ข‹๋‹ค๊ณ  ๊ณ„์† ์œ ์ง€๋˜๋Š” ๊ฑด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์žฅ๊ธฐ์ ์œผ๋กœ ๋” ์ข‹์€ ๊ฒฐ๊ณผ๋ฅผ ์ค„ ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋งํ•œ๋‹ค.

Reduced computation cost (using Single Actor)

์ด ๋ถ€๋ถ„์€ ์ฝ์–ด๋„ ์•ˆ์ฝ์–ด๋„ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ง„ํ–‰์— ์žˆ์–ด์„œ ๋”ฑํžˆ ํฌ๊ฒŒ ๋ฌธ์ œ ๋˜์ง€๋Š” ์•Š์ง€๋งŒ ์ถ”๊ฐ€์ ์œผ๋กœ ๊ณ„์‚ฐ ๋น„์šฉ์„ ์ค„์ธ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•œ๋‹ค.
์œ„์—์„œ Clipping Double Q-learning์„ ์“ฐ๋ฉด์„œ 2๊ฐœ์˜ Actor์™€ 2๊ฐœ์˜ Critic์„ ์‚ฌ์šฉํ•˜์˜€๋Š”๋ฐ, Actor๋ฅผ 1๊ฐœ๋กœ ์ค„์—ฌ๋ณด๊ฒ ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
๊ทธ ๋ง์ธ ์ฆ‰์Šจ, Critic Qฮธ1Q_{\theta_1}์™€ Qฮธ2Q_{\theta_2} ๋ชจ๋‘ ๋™์ผํ•œ target์„ ๊ธฐ๋ฐ˜์œผ๋กœ update ํ•˜๊ฒ ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
Actor๋ฅผ 1๊ฐœ๋กœ ์ค„์˜€์„ ๋•Œ, ๋‹ฌ๋ผ์ง€๋Š” ๋ถ€๋ถ„์„ ์„ค๋ช…ํ•˜์ž๋ฉด
Qฮธ2>Qฮธ1Q_{ฮธ_2} > Q_{ฮธ_1}์ผ ๊ฒฝ์šฐ, Qฮธ1Q_{\theta_1}์˜ ๊ฐ’์ด true vale์— ๋” ๊ฐ€๊น๊ฑฐ๋‚˜, ์ ์–ด๋„ overestimate ๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ๊ฒƒ ์„ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ๊ธฐ์กด Q-learning ์ฒ˜๋Ÿผ Qฮธ1Q_{\theta_1}์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•ด๋„ ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค. ์ด ๊ฒฝ์šฐ, ์ถ”๊ฐ€์ ์ธ bias๊ฐ€ ๋ฐœ์ƒํ•  ์ด์œ ๋„ ์ „ํ˜€ ์—†๋‹ค.
Qฮธ2<Qฮธ1Q_{ฮธ_2}<Q_{ฮธ_1}์ผ ๊ฒฝ์šฐ, Qฮธ1Q_{\theta_1}๊ฐ€ overestimated ๋˜์—ˆ์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋†’๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ, Double Q-learning ์ฒ˜๋Ÿผ, ๋” ์ž‘์€ Qฮธ2Q_{\theta_2} ๊ฐ’์„ ์„ ํƒํ•˜์—ฌ overestimate์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
๋˜ํ•œ, function approximation error๋ฅผ ํ™•๋ฅ  ๋ณ€์ˆ˜ (random variable)๋กœ ๋‘๊ณ , ์ด random variable ์ง‘ํ•ฉ์—์„œ minimum์„ ์„ ํƒํ•˜๋Š” ์—ฐ์‚ฐ์€ low-variance states ๋ฅผ ์„ ํ˜ธํ•˜๊ฒŒ ๋œ๋‹ค.
์ด๋Š” learning target์ด low-variance value๋ฅผ ์ œ๊ณตํ•˜๋Š” state๋ฅผ ์šฐ์„ ์ ์œผ๋กœ ์„ ํƒํ•˜๊ฒŒ ๋˜์–ด ๊ฒฐ๊ณผ์ ์œผ๋กœ ์•ˆ์ •์ ์ธ policy update๋ฅผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ค€๋‹ค.

Addressing Variance

์•ž์—์„œ ์ด์•ผ๊ธฐ ํ–ˆ๋˜ ๋‚ด์šฉ์ด ๊ฒฐ๊ตญ variance๊ฐ€ ํด ์ˆ˜๋ก overestimation์˜ ๊ฐ€๋Šฅ์„ฑ๋„ ์ปค์ง„๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.
variance๊ฐ€ ํฌ๋ฉด ํ•™์Šต ์†๋„๊ฐ€ ๋А๋ ค์ง€๊ณ  ์‹ค์ œ ์„ฑ๋Šฅ๋„ ์ข‹์ง€ ๋ชปํ•˜๋‹ˆ๊นŒ ํ•™์Šต๊ณผ์ •์—์„œ ์ง์ ‘์ ์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผํ•œ๋‹ค๊ณ  ์–ธ๊ธ‰์„ ํ•œ๋‹ค. ์ด์ œ๋Š” ๊ฐ update์—์„œ error๋ฅผ minimizeํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ํ•œ๋‹ค.
๋”ฐ๋ผ์„œ, target networks and estimation error์˜ ๊ด€๊ณ„๋ฅผ ์ง“๊ณ , actor-critic์˜ variance reduction๋ฅผ ์œ„ํ•œ ํ•™์Šต ์ ˆ์ฐจ๋ฅผ ์†Œ๊ฐœํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค.

Accumulating Error

์•ž์—์„œ ํ–ˆ๋˜ ๋‚ด์šฉ์„ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋ฉด, TD update ๋ฐฉ์‹์€ ๋ฏธ๋ž˜ state์— ๋Œ€ํ•œ estimates ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ˜„์žฌ state ์˜ value function๋ฅผ updateํ•œ๋‹ค. ์ฆ‰, ํ˜„์žฌ state์˜ estimates๊ฐ€ ๋‹ค์Œ state์˜ estimates๋กœ๋ถ€ํ„ฐ ๊ณ„์‚ฐ๋œ๋‹ค.
์ด ๊ณผ์ •์—์„œ ํ•œ, ๋‘๋ฒˆ์˜ update๋กœ๋Š” ์ž‘์€ error๋งŒ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ฒ ๋งŒ, ์ด๋Ÿฌํ•œ ์ž‘์€ error๋“ค์ด ๋ฐ˜๋ณต๋˜์–ด update๋˜๋ฉด accumulate ๋œ๋‹ค. ์ด๋Š” overestimation bias ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ๋„ ๊ฐ™์ด ์ฆ๊ฐ€ํ•œ๋‹ค.
function approximation ํ™˜๊ฒฝ์—์„œ๋Š” bellman equation์„ ์ •ํ™•ํžˆ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— error ๊ฐ€ ๋”์šฑ ์‹ฌ๊ฐํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
Qฮธ(s,a)=r+ฮณE[Qฮธ(sโ€ฒ,aโ€ฒ)]โˆ’ฮด(s,a).Q_{\theta}(s, a) = r + \gamma \mathbb{E}[Q_{\theta}(s', a')] - \delta(s, a).
๊ฐ update ํ›„์—๋„ ์ผ์ •ํ•œ ์–‘์˜ ์˜ค์ฐจ ฮด(s,a)\delta(s, a) ๊ฐ€ ๋‚จ๊ฒŒ ๋œ๋‹ค.
ฮด(s,a)\delta(s, a) ๋ฅผ residual TD-error๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
์œ„์˜ ์ˆ˜์‹์„ ์ „๊ฐœํ•ด๋ณด๋ฉด,
Qฮธ(st,at)=rt+ฮณE[Qฮธ(st+1,at+1)]โˆ’ฮดtQ_{\theta}(s_t, a_t) = r_t + \gamma \mathbb{E}[Q_{\theta}(s_{t+1}, a_{t+1})] - \delta_t
=rt+ฮณE[rt+1+ฮณE[Qฮธ(st+2,at+2)โˆ’ฮดt+1]]โˆ’ฮดt= r_t + \gamma \mathbb{E} \left[ r_{t+1} + \gamma \mathbb{E}[Q_{\theta}(s_{t+2}, a_{t+2}) - \delta_{t+1}] \right] - \delta_t
=Esiโˆผpฯ€,aiโˆผฯ€[โˆ‘i=tTฮณiโˆ’t(riโˆ’ฮดi)].\\= \mathbb{E}_{s_i \sim p_{\pi}, a_i \sim \pi} \left[ \sum_{i=t}^{T} \gamma^{i-t}(r_i - \delta_i) \right].
์ด ๊ณผ์ •์ด ๋ฐ˜๋ณต๋˜๋ฉด์„œ ์ตœ์ข…์ ์œผ๋กœ๋Š” ( expected return - ๋ฏธ๋ž˜์˜ TD-error์˜ expected discounted sum ) ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค.
๋‹ค์‹œ ๋งํ•˜๋ฉด, value estimate๋Š” ๋ฏธ๋ž˜์— ์–ป์„ reward์™€ error์— dependent ํ•˜๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. error๊ฐ€ accumulate ๋ ์ˆ˜๋ก ๊ทธ error์˜ variance๋„ ์ปค์งˆ ์ˆ˜ ์žˆ๋‹ค.
ํŠนํžˆ discount factor ฮณ\gamma ๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ๊ฐ update์—์„œ error๊ฐ€ ๋” ๋น ๋ฅด๊ฒŒ accumulate ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ error๊ฐ€ ์ปค์ง€๋ฉด value estimates ์˜ variance๋„ ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
์ถ”๊ฐ€๋กœ, minibatch ํ•™์Šต์˜ ํ•œ๊ณ„์ ๋„ ์–ธ๊ธ‰์„ ํ•˜๋Š”๋ฐ, ๊ฐ minibatch์—์„œ์˜ update๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋ฐ˜์˜ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ minibatch์—์„œ์˜ gradient update๋Š” error๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†๋‹ค

Target Networks and Delayed Policy Updates

โ€ข
Target Network์˜ ํ•„์š”์„ฑ
target network๊ฐ€ ์—†์œผ๋ฉด, ๋งค๋ฒˆ updateํ•  ๋•Œ๋งˆ๋‹ค ๋‚จ์•„์žˆ๋Š” residual error( ฮด(s,a)\delta(s, a) ) ๊ฐ€ ์ถ•์ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ฆ‰,ย target network๋Š” ํ•™์Šต์˜ ์•ˆ์ •์„ฑ์„ ๋†’์—ฌ, variance๋ฅผ ํ™•์‹คํžˆ ๋‚ฎ์ถ”๋Š” ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
target network๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ / ์—†๋Š” ๊ฒฝ์šฐ๋กœ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ (target์˜ ์ค‘์š”์„ฑ)
target network ๊ฐ€ ์žˆ๋Š” (a) ์˜ ๊ฒฝ์šฐ target network๋Š” ์ฒœ์ฒœํžˆ update๋œ๋‹ค. update ์†๋„๋Š” ฯ„\tau ๋กœ ์ œ์–ด๋˜๋ฉฐ, ฯ„\tau ๊ฐ€ ํด์ˆ˜๋ก update ์†๋„๋Š” ๋นจ๋ผ์ง„๋‹ค.
target network ๊ฐ€ ์žˆ๋Š” (b) ์˜ ๊ฒฝ์šฐ value estimates๋ฅผ updateํ•  ๋•Œ ๋ณ€๋™์„ฑ์ด ๋งค์šฐ ์ปค์ง„๋‹ค. ์ฆ‰, ํ•™์Šต ๊ณผ์ •์ด ๋ถˆ์•ˆ์ •ํ•˜๊ฒŒ ๋ณ€ํ•œ๋‹ค.
fix๋œ policy์—์„œ๋Š” update ์†๋„์™€๋Š” ์ƒ๊ด€์—†์ด ๊ฒฐ๊ตญ์—๋Š” ์ˆ˜๋ ดํ•˜๊ฒŒ ๋˜์ง€๋งŒ, learnable policy๋ฅผ ์“ฐ๋ฉด ํ•™์Šต์ด ๊ทน๋‹จ์ ์œผ๋กœ ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.
โ€ข
Actor-Critic ๋ฐฉ๋ฒ•์ด ํ•™์Šต์ด ์‹คํŒจํ•˜๋Š” ์ด์œ 
์ผ๋ฐ˜์ ์œผ๋กœ actor-critc์€ target network๊ฐ€ ์—†๋Š” on-policy์ด๋‹ค. target network ์—†์ด ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๋ฉด policy update๊ฐ€ high variance ์ƒํƒœ์—์„œ ์ด๋ฃจ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
high variance ์ผ๋–„ update๋ฅผ ํ•˜๊ฒŒ๋˜๋ฉด ๋ฐœ์‚ฐํ•˜๋Š” action์„ ๋ณด์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— policy network ๋Š” value network๋ณด๋‹ค ๋‚ฎ์€ ๋นˆ๋„๋กœ update๋ฅผ ํ•ด์•ผํ•œ๋‹ค. policy update๋ฅผ value network์˜ error๊ฐ€ ์ž‘์•„์งˆ ๋•Œ๊นŒ์ง€ delay ์‹œํ‚ค๋Š” ๊ฒƒ์ด๋‹ค.
์ •ํ™•ํ•˜๊ฒŒ๋Š” Critic์€ ๋งค๋ฒˆ update๋ฅผ ํ•˜์ง€๋งŒ policy network ์™€ target network๋Š” ์ผ์ • time step dd ์ดํ›„์— updateํ•˜๋„๋ก delayํ•œ๋‹ค.
์ด๋ ‡๊ฒŒ ํ–ˆ์„ ๋•Œ ์žฅ์ ์€ actor-critic์—์„œ ๋น„์Šทํ•œ critic์— ๋Œ€ํ•ด ๋ฐ˜๋ณต์ ์œผ๋กœ updateํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ low variance value estimates ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๊ณ , ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋” ์ข‹์€ policy update๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Target Policy Smoothing Regularization

deterministic policy๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ, value estimate๊ฐ€ narrow peaks์—์„œ overestimate ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.
๐Ÿ’ก
peak : value estimates๊ฐ€ ํŠน์ • state๋‚˜ action ์— ๋†’์€ value์„ ์ฃผ๋Š” ๊ฒƒ
ํŠนํžˆ Critic์„ update ํ•  ๋•Œ, deterministic policy๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด function approximation error์— ๋ฏผ๊ฐํ•˜๊ฒŒ ๋ฐ˜์‘ํ•œ๋‹ค. ์ด๋กœ ์ธํ•ด value estimates์˜ variance๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ , ํ•™์Šต์ด ๋ถˆ์•ˆ์ •ํ•ด์งˆ ์ˆ˜ ์žˆ๋‹ค.
์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Regularization ์„ ์ ์šฉํ•œ๋‹ค.
์ด ๊ธฐ๋ฒ•์€ SARSA ์—์„œ ๋น„์Šทํ•œ action ์€ ๋น„์Šทํ•œ value๋ฅผ ๊ฐ€์ ธ์•ผํ•œ๋‹ค๋Š” ๊ฐœ๋…์„ ์‚ฌ์šฉํ•œ๋‹ค.
y=r+Eฯต[Qฮธ(sโ€ฒ,ฯ€ฯ•โ€ฒ(sโ€ฒ)+ฯต)]y = r + \mathbb{E}_{\epsilon} \left[ Q_{\theta}(s', \pi_{\phi'}(s') + \epsilon) \right]
target action์˜ ์ฃผ๋ณ€์— ๋น„์Šทํ•œ value estimate๋ฅผ ํ˜•์„ฑํ•˜๋„๋ก model์„ fitting์‹œ์ผœ์ฃผ๋ฉด variance๋ฅผ ์ œ๊ฑฐํ•ด์ค„ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.
๋‹ค์‹œ ๋งํ•˜๋ฉด, target action์— ์ž‘์€ random noise๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์œ ์‚ฌํ•œ action ๋“ค์ด ์œ ์‚ฌํ•œ value๋ฅผ ๊ฐ–๋„๋ก ๋งŒ๋“ค์–ด์ค€๋‹ค.
y=r+ฮณQฮธ(sโ€ฒ,ฯ€ฯ•โ€ฒ(sโ€ฒ)+ฯต)ฯตโˆผclip(N(0,ฯƒ),โˆ’c,c)y = r + \gamma Q_{\theta}(s', \pi_{\phi'}(s') + \epsilon) \\ \epsilon \sim \text{clip}(\mathcal{N}(0, \sigma), -c, c)
์‹ค์ œ๋กœ๋Š” expectation ๊ทธ๋Œ€๋กœ ์“ฐ์ง€ ์•Š๊ณ , target policy์— random noise๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  mini-batch์—์„œ ํ‰๊ท ์„ ๋‚ด๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค.
random noise ฯต\epsilon ๋Š” N\mathcal{N}(0,ฯƒ)(0,ฯƒ) ์—์„œ sampling๋˜์–ด clipping๋˜์–ด target action์ด ์›๋ž˜ action์—์„œ ํฌ๊ฒŒ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก ๋งŒ๋“ค์–ด ์ค€๋‹ค.

TD3 Pseudo code