美文网首页
深度强化学习(5) Policy Gradients (1)

深度强化学习(5) Policy Gradients (1)

作者: 数科每日 | 来源:发表于2022-02-08 23:52 被阅读0次

本文主要内容来源于 Berkeley CS285 Deep Reinforcement Learning


本节开始,我们开始讨论强化深度学习的算法, 第一个介绍的算法是Policy Gradients。 PG 算法直接利用梯度,对收益函数最大值求解。 是一种最直接的RL 算法。

既然Policy 决定了Reward期望, 我们要得到Reward的最大期望, 最直接的就是利用Policy 函数梯度求解。

优化算法设计 中, 我们推出了收益函数的微分形式:

微分形式

例子:高斯Policy

这里用一个例子, 看看推导的结果是什么。 这里假设 Policy 是一个高斯函数:

image.png

其中, f_{neural network}(s_{t}) 表示一个用神经网络拟合的函数, 对于输入 s_{t} 会给出 a_{t} 的概率,这个概率,就是高斯分布的均值, \Sigma 代表协方差矩阵。

log\pi_{\theta}(a_{t}|s_{t}) = log[det(2\pi\Sigma)^{-\frac{1}{2}}e^{-\frac{1}{2}(a_{t}-f)^{T}\Sigma^{-1}(a_{t}-f)}]\ = Const+ (-\frac{1}{2}) (a_{t}-f)^{T}\Sigma^{-1}(a_{t}-f)

其中 Const 代表常数项 det(2\pi\Sigma)^{-\frac{1}{2}}

log\pi_{\theta}(a_{t}|s_{t}) 求微分可以得到:

image.png

例子解释

对于

image.png

这个形式和收益函数的最大似然函数是一样的, 除了多了一个Reward 项。 所以说 Policy Gradient 是 Reward Weighted Maximum Likelihood 。

image.png

带入到RL算法框架中:

image.png

上面的算法的效果,就是让好的事情更多的发生, 不好的事情更少的发生。

Observation vs States

我们前面说过 States 在代表了系统的全部状态, 但是在实际使用中, 我们往往无法获知系统的全部状态, 我们获得的, 只是自己的观测值: Observation 。 如果是这样,Policy Gradients 还能用么?

答案是: 可以, 原因是:

  1. State 是在 Markov 过程中的前提, 但是在这里, 我们并没有用到 Markov 性质。

可以直接用 Observation 替代 State, 获得性的梯度函数:

image.png

Policy Gradients 的一个问题

Policy Gradients

从这个公式我们可以得知, 梯度 \bigtriangledown _{\theta} J(\theta) 取决于2个因素

  • 对数概率 log\pi_{\theta}(\tau) : 这部分取决于 Policy \pi
  • Rewards: r(\tau)

因此,如果有一个样本 \tau_{i} 对应的 r(\tau_{i}) > 0, 那么这个方法就会让 Policy \pi_{\theta} 更多的产生类似的结果。 这样就会造成一个问题, 如果平均Reward 就是10, 而 r(\tau_{k}) = 5, 因为它大于0 ,算法依然会让Policy 偏向于这个不太好的结果。 实际上, 我们只关系那些 Reward > 10 的结果。

image.png

上图是一个例子:

训练数据 \tau_{1} 因为对应 r(\tau_{1}) > 0, 依然对分布产生了牵引作用, 导致最后训练结果是蓝色虚线。 从图中可以看书, 其实r(\tau_{1}) 是小于平均 Reward 的。

  • 蓝色实线: 未训练 Policy 产生的 \tau 概率分布
  • 蓝色虚线: 训练后Policy 产生的 \tau 概率分布
  • 绿色手绘实线:我们希望产生的概率分布
  • 黄色bar : 不同的样本 \tau
  • y 轴: 对于分布来说,是 \tau 出现的概率。 对黄色 bar 来说, 是 Reward

相关文章

网友评论

      本文标题:深度强化学习(5) Policy Gradients (1)

      本文链接:https://www.haomeiwen.com/subject/malmkrtx.html