提交 9571a7f0 编写于 作者: W wizardforcel

2020-12-25 17:29:27

上级 7df14bff
......@@ -237,7 +237,7 @@ class PolicyGradient:
我们使用策略梯度更新演员网络权重,并使用根据 TD 误差计算得出的梯度更新评论家网络权重。
首先,我们通过将探索噪声`N`添加到演员网络产生的动作(例如![](img/00320.jpeg))来选择动作。 我们在`s`状态下执行此操作,获得`r`奖励,然后移至新状态`s'`。 我们将此转移信息存储在经验回放缓冲区中。
首先,我们通过将探索噪声`N`添加到演员网络产生的动作(例如`μ(s; θ^μ) + N`)来选择动作。 我们在`s`状态下执行此操作,获得`r`奖励,然后移至新状态`s'`。 我们将此转移信息存储在经验回放缓冲区中。
经过一些迭代后,我们从回放缓冲区采样转移并训练网络,然后计算目标`Q`值:
......@@ -537,7 +537,7 @@ for i in range(no_of_episodes):
在 TRPO 中,我们迭代地改进了该策略,并施加了一个约束,以使旧策略和新策略之间的 **Kullback-Leibler****KL**)差异要小于某个常数。 ![](img/00326.jpeg)。 该约束称为信任区域约束。
那么什么是 KL 散度? KL 散度告诉我们两个概率分布如何彼此不同。 由于我们的策略是针对行动的概率分布,因此 KL 差异告诉我们新策略与旧策略有多远。 为什么我们必须使旧策略和新策略之间的距离保持小于恒定值`δ`? 因为我们不希望我们的新策略与旧策略脱节。 因此,我们施加了约束以使新策略接近旧策略。 同样,为什么我们必须保持旧策略呢? 当新策略与旧策略相距甚远时,它将影响代理的学习绩效,并导致完全不同的学习行为。 简而言之,在 TRPO 中,我们朝着改善策略的方向迈出了一步,即使报酬最大化,但我们还应确保满足信任区域约束。 [它使用共轭梯度下降](http://www.idi.ntnu.no/~elster/tdt24/tdt24-f09/cg.pdf)优化网络参数![](img/00328.jpeg),同时满足约束条件。 该算法保证了单调策略的改进,并且在各种连续环境中也取得了出色的效果。
那么什么是 KL 散度? KL 散度告诉我们两个概率分布如何彼此不同。 由于我们的策略是针对行动的概率分布,因此 KL 差异告诉我们新策略与旧策略有多远。 为什么我们必须使旧策略和新策略之间的距离保持小于恒定值`δ`? 因为我们不希望我们的新策略与旧策略脱节。 因此,我们施加了约束以使新策略接近旧策略。 同样,为什么我们必须保持旧策略呢? 当新策略与旧策略相距甚远时,它将影响代理的学习绩效,并导致完全不同的学习行为。 简而言之,在 TRPO 中,我们朝着改善策略的方向迈出了一步,即使报酬最大化,但我们还应确保满足信任区域约束。 [它使用共轭梯度下降](http://www.idi.ntnu.no/~elster/tdt24/tdt24-f09/cg.pdf)优化网络参数`θ`,同时满足约束条件。 该算法保证了单调策略的改进,并且在各种连续环境中也取得了出色的效果。
现在,我们将了解 TRPO 的数学原理。 如果您对数学不感兴趣,可以跳过本节。
......@@ -547,11 +547,11 @@ for i in range(no_of_episodes):
![](img/00330.jpeg)
现在让我们将新策略视为![](img/00331.jpeg); 就相对于旧策略![](img/00333.jpeg)的优势而言,可以将其定义为策略![](img/00332.jpeg)的预期回报,如下所示:
现在让我们将新策略视为`π'`; 就相对于旧策略`π`的优势而言,可以将其定义为策略`π'`的预期回报,如下所示:
![](img/00334.jpeg)
好吧,为什么我们要利用旧策略的优势? 因为我们正在衡量新策略![](img/00335.jpeg)相对于旧策略![](img/00336.jpeg)的平均效果有多好。 我们可以用状态之和而不是时间步来重写前面的方程,如下所示:
好吧,为什么我们要利用旧策略的优势? 因为我们正在衡量新策略`π'`相对于旧策略`π`的平均效果有多好。 我们可以用状态之和而不是时间步来重写前面的方程,如下所示:
![](img/00337.jpeg)
......@@ -559,26 +559,26 @@ for i in range(no_of_episodes):
![](img/00339.jpeg)
如果您看到前面的方程![](img/00340.jpeg),则![](img/00341.jpeg)与![](img/00342.jpeg)
之间存在复杂的依存关系,因此很难对方程进行优化。 因此,我们将局部近似![](img/00343.jpeg)引入![](img/00344.jpeg),如下所示:
如果您看到前面的方程`η(π')`,则`ρ[π'](s)``π'`
之间存在复杂的依存关系,因此很难对方程进行优化。 因此,我们将局部近似`L[π](π')`引入`η(π')`,如下所示:
![](img/00345.jpeg)
![](img/00346.jpeg)使用访问频率![](img/00347.jpeg)而不是![](img/00348.jpeg),也就是说,由于策略的变化,我们忽略了状态访问频率的变化。 简而言之,我们假设新旧策略的州访问频率均相同。 当我们计算![](img/00349.jpeg)的梯度时,相对于某些参数![](img/00351.jpeg)而言,这也会提高![](img/00350.jpeg),我们不确定要采取多少步骤。
![](img/00346.jpeg)使用访问频率`ρ[π]`而不是`ρ[π']`,也就是说,由于策略的变化,我们忽略了状态访问频率的变化。 简而言之,我们假设新旧策略的州访问频率均相同。 当我们计算`L[π]`的梯度时,相对于某些参数`θ`而言,这也会提高`η`,我们不确定要采取多少步骤。
Kakade 和 Langford 提出了一种新的策略更新方法,称为保守策略迭代,如下所示:
![](img/00352.jpeg) ----(1)
![](img/00353.jpeg)是新策略。 ![](img/00354.jpeg)是旧策略。
![](img/00353.jpeg)是新策略。 `π_old`是旧策略。
![](img/00355.jpeg),即![](img/00356.jpeg),是最大化![](img/00357.jpeg)的策略。
![](img/00355.jpeg),即`π'`,是最大化`L[π_old]`的策略。
Kakade 和 Langford 从`(1)`得出以下方程式:
![](img/00358.jpeg) ----(2)
`C`是惩罚系数,等于![](img/00359.jpeg),![](img/00360.jpeg)表示旧策略与新策略之间的 KL 散度。
`C`是惩罚系数,等于`4εγ / (1 - α)^2``D_max[KL]`表示旧策略与新策略之间的 KL 散度。
如果我们仔细观察前面的方程式`(2)`,我们会注意到,只要右侧最大化,我们的预期长期回报`η`就会单调增加。
......@@ -598,7 +598,7 @@ Kakade 和 Langford 从`(1)`得出以下方程式:
![](img/00366.jpeg)
在前面的等式中,我们可以理解,最大化`M[i]`可以保证我们期望收益的最大化。 因此,现在我们的目标是最大化`M[i]`,从而最大化我们的预期回报。 由于我们使用参数化策略,因此在上一个公式中将![](img/00367.jpeg)替换为![](img/00368.jpeg),然后使用![](img/00369.jpeg)表示我们要改进的策略,如下所示:
在前面的等式中,我们可以理解,最大化`M[i]`可以保证我们期望收益的最大化。 因此,现在我们的目标是最大化`M[i]`,从而最大化我们的预期回报。 由于我们使用参数化策略,因此在上一个公式中将`π`替换为`θ`,然后使用`θ_old`表示我们要改进的策略,如下所示:
![](img/00370.jpeg)
......@@ -618,17 +618,17 @@ Kakade 和 Langford 从`(1)`得出以下方程式:
![](img/00374.jpeg)
在前面的公式中,我们将状态总和![](img/00375.jpeg)替换为期望![](img/00376.jpeg),并且将重要性总和估计值替换为行动总和,如下所示:
在前面的公式中,我们将状态总和`Σ[s] ρ θ_old`替换为期望`E[s ~ ρ θ_old]`,并且将重要性总和估计值替换为行动总和,如下所示:
![](img/00377.jpeg)
然后,我们将优势目标值![](img/00378.jpeg)替换为 Q 值![](img/00379.jpeg)
然后,我们将优势目标值`A[θ_old]`替换为 Q 值`Q[θ_old]`
因此,我们最终的目标函数将变为:
![](img/00380.jpeg)
优化前面提到的具有约束的目标函数称为约束优化。 我们的约束是使旧策略和新策略之间的平均 KL 差异小于![](img/00381.jpeg)。我们使用共轭梯度下降来优化先前的功能。
优化前面提到的具有约束的目标函数称为约束优化。 我们的约束是使旧策略和新策略之间的平均 KL 差异小于`δ`。我们使用共轭梯度下降来优化先前的功能。
# 近端策略优化
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册