( 참고 : Fastcampus 강의 )

[ 37.(paper 3) DDPG (Deep Deterministic Policy Gradient) ]


1. Introduction

DDPG = (1) + (2)

  • (1) DQN (Deep Q-Network)
  • (2) DPG (Deterministic Policy Gradient)


Key Idea

  • “연속적인 (continuous)” action space를 다룰 수 있다
  • Deterministic Policy 사용
    • 1) Off-policy 가능
    • 2) Efficient Sampling
  • Ornstein-Uhlenbeck 과정 : “시간적 연관성”을 가지는 exploration technique


figure2


2. Deterministic Policy Gradient

“연속적인 (continuous)” action space를 Q-learning에서 다룰 수 있는 방법?

  • 방법 1) continuous action space를 discretecize (이산화) 한다
  • 방법 2) action을 또 다른 input으로 간주


Q-learning

  • model free algorithm

  • \(Q(s, a) \leftarrow Q(s, a)+\eta\left(r+\gamma \max _{a^{\prime}} Q\left(s^{\prime}, a^{\prime}\right)-Q(s, a)\right)\).


방법 1) 행동 이산화

  • \([-1,1]\) 의 action space를…
  • \([-1,-1+\Delta \mathrm{a},-1+2 \Delta \mathrm{a}, \ldots, 1]\)로 이산화

  • 그런 뒤 일반적인 Q-Learning 적용하기

figure2


방법 2) Action을 또 다른 Input으로

  • Q-learning의 target에서 \(\max _{a^{\prime}} \boldsymbol{Q}_{\boldsymbol{\theta}}\left(s^{\prime}, a^{\prime}\right)\) 를 찾는건 매우 힘들다!

    ( \(\boldsymbol{Q}_{\boldsymbol{\theta}}\left(s^{\prime}, a^{\prime}\right)\)가 convex function이 아니므로! )

    ( \(A\)의 가지 수가 적었으면 그냥 해보면 됬지만….. continuous한 경우에는 사실상 hard )

figure2


1) 궁극적으로 구하고자 하는 것 : continuous policy \(\pi (a \mid s)\)

\(\rightarrow\) Actor-Critic을 사용해보자!

  • Actor : “Deterministic” policy function
  • Critic : Q-Network


Deterministic의 장점

figure2

\(\rightarrow\) 기댓값 계산에 환경만이 영향을 미치므로, Off-policy 학습이 가능해진다!

요약 : (1) “연속적’‘이면서 (2) “결정적”“인 정책을 학습하자!


2) Policy Gradient 복습

\(p\left(s \rightarrow s^{\prime}, t, \pi\right)\).

  • 현재 상태 \(s\)에서, 정책 \(\pi\) 하에서, \(t\) 시점 후에 \(s'\)에 도달할 확률


\(\rho^{\pi}\left(s^{\prime}\right) \stackrel{\text { def }}{=} \int_{s \in \mathcal{S}} \sum_{t=1}^{\infty} \gamma^{t-1} p_{1}(s) p\left(s \rightarrow s^{\prime}, t, \pi\right) d s\).

  • (감가된) 상태의 분포

  • \(s\)에서 \(s'\)에 도달할 확률 ( 시간 고려 )

    ( 즉, 너무 먼 미래라면, 가능성이 낮다는 사실을 반영 )


Loss Function

(1) Stochastic

\(\begin{aligned} J\left(\pi_{\theta}\right) &=\int_{s \in S} \rho^{\pi_{\theta}}(s) \int_{a \in \mathcal{A}} \pi_{\theta}(s, a) r(s, a) d a d s =\mathbb{E}_{s \sim \rho^{\pi} \theta, a \sim \pi_{\theta}}[r(s, a)] \end{aligned}\).

(2) Deterministic

\(\begin{aligned} J\left(\mu_{\theta}\right) &=\int_{s \in \mathcal{S}} \rho^{\mu_{\theta}}(s) r\left(s, \mu_{\theta}(s)\right) d s =\mathbb{E}_{s \sim \rho^{\pi} \theta}\left[r\left(s, \mu_{\theta}(s)\right)\right] \end{aligned}\).

\(\rightarrow\) \(J\left(\mu_{\theta}\right)\)에 대한 gradient는?


Gradient of Loss Function

\(\begin{aligned} \nabla_{\theta} J\left(\mu_{\theta}\right) &=\left.\int_{S \in \mathcal{S}} \rho^{\mu_{\theta}}(s) \nabla_{\theta} \mu_{\theta}(s) \nabla_{a} Q(s, a)\right|_{a=\mu_{\theta}(s)} d s \\ &=\mathbb{E}_{s \sim \rho} \pi_{\theta}\left[\left.\nabla_{\theta} \mu_{\theta}(s) \nabla_{a} Q(s, a)\right|_{a=\mu_{\theta}(s)}\right] \end{aligned}\).

위 식을 계산하기 위해서는..

  • \(\nabla_{\theta} \mu_{\theta}(s)\)…..\(\theta\)에 대해 편미분을 계산하기 쉬운 “deterministic” 정책 함수 \(\mu_{\theta}(s)\)
  • \(\nabla_{a} Q(s, a)\)……..\(a\)에 대해 편미분을 계산하기 쉬운 \(Q(s,a)\)

\(\rightarrow\) NN으로 모델링하자!


Summary

figure2


3. Ornstein-Uhlenbeck 과정을 통한 Exploration

(핵심) Determinstic policy를 통해 Off-policy 사용

Random Policy \(\rightarrow\) TOO LONG time

\(\therefore\) 시간적 연관성을 고려한 Ornstein-Uhlenbeck 과정을 사용한다!


직관적 이해 :

figure2


수식적 이해

  • 시간적으로 서로 연관된 확률 변수 생성
  • \(d x_{t}=-\theta x_{t} d t+\sigma d W_{t}\).
  • \(\frac{d x_{t}}{d t}=-\theta x_{t}+\sigma \eta(t)\).
    • \(\eta(t)\) : white noise


4. Summary

figure2