Q学习延伸至DDPG算法公式

Q learning原始损失函数定义:

\mathbf L(\theta^Q)=\mathbb E_{s_t\sim \rho^\beta, a_t \sim \beta, r_t} \sim E \bigl[ \bigl( Q(s_t, a_t \vert \theta^Q) - y_t \bigr)^2 \bigr]

Q的贝尔曼方程:

Q^\pi(s_t, a_t) = \mathbb E_{r_t, s_{t+1}} \sim E \Bigl[r(s_t,a_t) + \gamma\mathbb E_{a_{t+1}} \sim \pi \bigl[ Q^\pi (s_{t+1, a_{t+1}}) \bigr] \Bigr]

确定性策略的Q定义:

Q^\mu(s_t, a_t)=\mathbb E_{r_t,s_{t+1}} \sim E \bigl[ r(s_t, a_t) + \gamma Q^\mu(s_{t+1}, \mu(s_{t+1})) \bigr]

  • 其中的action a就是由\mu(s_{t+1})确定的。而\mu(s)=argmax_aQ(s,a)

DPG的轨迹分布函数定义:

\bigtriangledown_{\theta^\mu}J \approx \mathbb E_{s_t \sim \rho^\beta} \bigl[ \bigtriangledown_{\theta^\mu}Q(s,a \vert \theta^Q)\vert s=s_T, a=s_t \vert \theta^\mu \mu (s_t \vert \theta^\mu) \bigr]
\qquad\quad = \mathbb E_{s_t \sim \rho^\beta} \bigl[ \bigtriangledown_{a}Q(s,a \vert \theta^Q)\vert s=s_T, a = \mu (s_t) \triangledown_{\theta} \mu(s_t \vert \theta^\mu)) \vert s=s_t \bigr]

DDPG改进:

  • 利用分布式独立探索,在策略中加入一个来自轨迹N的噪音
    \mu^{'}(s_t) = \mu(s_t \vert \theta_t^\mu) + N
  • Loss function:
    L = {1 \over N}\sum_i (y_i - Q(s_i, a_i \vert \theta^Q))^2
    定义:\qquad y_i = r_i + \gamma Q^{'}(s_{i+1}, \mu^{'}(s_i+1 \vert \theta^{\mu^{'}}) \vert \theta^{Q^{'}})
  • 参数更新方式,2个部分:
    \theta ^ {Q^{'}} \leftarrow \tau \theta ^ Q + (1-\tau) \theta ^ {Q^{'}}
    \theta ^ {\mu ^ {'}} \leftarrow \tau \theta ^\mu +(1 - \tau)\theta^{\mu^{'}}

策略梯度的只管解释
随机策略梯度的计算公式为:
\triangledown_{\theta}J(\pi_{theta}) = E_{s \ \rho^\pi, a\ \pi_\theta} \bigl[\triangledown_\theta \ log \pi_\theta(a|s)Q^\pi(s,a)\bigr]

经验平均估计策略的梯度:
\triangledown_\theta U(\theta) \approx {1 \over m } \sum_{i=1}^{m} \triangledown_\theta log P(\tau; \theta) R(\tau)

\triangledown_\theta log P(\tau; \theta)是方向向量,而且其方向是\triangledown_\theta log P(\tau; \theta)对于参数 \theta变化最快的方向,参数在这个方向上更新可以增大或者降低log P(\tau; \theta) ,也就是能增大或者降低轨迹\tau的概率P(\tau; \theta)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容