当前位置: 首页 > news >正文

网站通栏广告代码河南郑州最新新闻

网站通栏广告代码,河南郑州最新新闻,网泰网站建设,做邀请函好的网站文章目录 1 DPG方法2 DDPG算法3 DDPG算法的优缺点4 TD3算法4.1 双Q网络4.2 延迟更新4.3 噪声正则 5 附15.1 Ornstein-Uhlenbeck (OU) 噪声5.1.1 定义5.1.2 特性5.1.3 直观理解5.1.4 数学性质5.1.5 代码示例5.1.6 总结 6 重要性采样7 PPO算法8 附28.1 重要性采样方差计算8.1.1 公… 文章目录 1 DPG方法2 DDPG算法3 DDPG算法的优缺点4 TD3算法4.1 双Q网络4.2 延迟更新4.3 噪声正则 5 附15.1 Ornstein-Uhlenbeck (OU) 噪声5.1.1 定义5.1.2 特性5.1.3 直观理解5.1.4 数学性质5.1.5 代码示例5.1.6 总结 6 重要性采样7 PPO算法8 附28.1 重要性采样方差计算8.1.1 公式解释8.1.2 方差定义8.1.3 公式验证8.1.4 结论 8.2 目标函数 式12.5 解释8.2.1 公式解释8.2.1.1 目标函数 J TRPO ( θ ) J^{\text{TRPO}}(\theta) JTRPO(θ)8.2.1.2 比率函数 r ( θ ) r(\theta) r(θ) 8.2.2 直观解释8.2.3 总结 9 最大熵强化学习10 Soft Q-Learning11 SAC12 自动调节温度因子 1 DPG方法 想适配连续动作空间我们干脆就将选择动作的过程变成一个直接从状态映射到具体动作的函数 μ θ ( s ) \mu_\theta (s) μθ​(s)其中 θ \theta θ 表示模型的参数这样一来就把求解 Q Q Q 函数、贪心选择动作这两个过程合并成了一个函数也就是我们常说的 Actor \text{Actor} Actor 。注意这里的 μ θ ( s ) \mu_\theta (s) μθ​(s) 输出的是一个动作值而不是像 Actor-Critic \text{Actor-Critic} Actor-Critic 章节中提到的概率分布 π θ ( a ∣ s ) \pi_{\theta}(a|s) πθ​(a∣s)。 DQN \text{DQN} DQN DPG \text{DPG} DPG适用范围不能用于连续动作空间连续动作空间算法特点 DQN \text{DQN} DQN 算法中动作是通过贪心策略或者说 argmax \text{argmax} argmax 的方式来从 Q Q Q 函数间接得到把求解 Q Q Q 函数、贪心选择动作这两个过程合并成了一个函数 ε − greedy \varepsilon-\text{greedy} ε−greedy Actor \text{Actor} Actor 2 DDPG算法 技巧目的目标网络经验回放引入噪声增加策略的探索性 强化学习算法的基础核心问题 主题目的方法如何提高对值函数的估计保证其准确性即尽量无偏且低方差1. 用深度神经网络替代简单的 Q Q Q 表2. 结合蒙特卡洛和时序差分的 TD ( λ ) \text{TD}(\lambda) TD(λ) 3. 引入目标网络以及广义优势估计如何提高探索以及平衡探索-利用的问题例如 DQN \text{DQN} DQN 和 DDPG \text{DDPG} DDPG 算法都会利用各种技巧来提高探索1. 经验回放2. ε − greedy \varepsilon-\text{greedy} ε−greedy 策略3. 噪声网络 引入噪声最简单的方式就是在输出的值上加上一个随机数这个随机数可以是正态分布的即高斯噪声也可以是均匀分布的只要能够保证这个随机数的值不要过大就行。 OU \text{OU} OU 噪声高斯噪声具有回归特性的随机过程。独立探索性持续的、自相关的特性。更加平滑、更加稳定。有助于探索更广泛的动作空间并且更容易找到更好的策略。控制幅度可以通过调整其参数来控制噪声的幅度。可以通过调整 OU \text{OU} OU 噪声的方差来控制噪声的大小从而平衡探索性和利用性。较大的方差会增加探索性而较小的方差会增加利用性。稳定性回归特性使得噪声在训练过程中具有一定的稳定性。相比于纯粹的随机噪声 OU \text{OU} OU 噪声可以更好地保持动作的连续性避免剧烈的抖动从而使得训练过程更加平滑和稳定。可控性具有回归特性它在训练过程中逐渐回归到均值因此可以控制策略的探索性逐渐减小。这种可控性使得在训练的早期增加探索性然后逐渐减小探索性有助于更有效地进行训练。 3 DDPG算法的优缺点 优点原因适用于连续动作空间采用了确定性策略来选择动作。不需要进行动作采样更容易优化和学习。缓解了在连续动作空间中的高方差问题。高效的梯度优化使用策略梯度方法进行优化。同时通过 Actor-Critic 结构算法可以利用值函数来辅助策略的优化提高算法的收敛速度和稳定性。经验回放和目标网络经验回放机制可以减少样本之间的相关性提高样本的有效利用率并且增加训练的稳定性。目标网络可以稳定训练过程避免值函数估计和目标值之间的相关性问题从而提高算法的稳定性和收敛性。 缺点原因只适用于连续动作空间高度依赖超参数1. DQN的算法参数例如学习率、批量大小、目标网络的更新频率等 2. OU 噪声的参数高度敏感的初始条件初始策略和值函数的参数设置可能会影响算法的收敛性和性能需要仔细选择和调整。容易陷入局部最优由于采用了确定性策略可能会导致算法陷入局部最优。需要采取一些措施如加入噪声策略或使用其他的探索方法。 4 TD3算法 英文全称为 twin delayed DDPG \text{twin delayed DDPG} twin delayed DDPG中文全称为双延迟确定性策略梯度算法。相对于 DDPG \text{DDPG} DDPG 算法 TD3 \text{TD3} TD3 算法的改进主要做了三点重要的改进一是双 Q Q Q 网络体现在名字中的 twin \text{twin} twin二是 延迟更新体现在名字中的 delayed \text{delayed} delayed三是 躁声正则 noise regularisation \text{noise regularisation} noise regularisation 。 4.1 双Q网络 跟 Double DQN \text{Double DQN} Double DQN 的原理本质上是一样的这样做的好处是可以减少 Q Q Q 值的过估计从而提高算法的稳定性和收敛性。 4.2 延迟更新 可以在训练中让 Actor \text{Actor} Actor 的更新频率低于 Critic \text{Critic} Critic 的更新频率这样一来 Actor \text{Actor} Actor 的更新就会比较稳定不会受到 Critic \text{Critic} Critic 的影响从而提高算法的稳定性和收敛性。 4.3 噪声正则 给 Critic \text{Critic} Critic 引入一个噪声提高其抗干扰性这样一来就可以在一定程度上提高 Critic \text{Critic} Critic 的稳定性从而进一步提高算法的稳定性和收敛性。注意这里的噪声是在 Critic \text{Critic} Critic 网络上引入的而不是在输出动作上引入的因此它跟 DDPG \text{DDPG} DDPG 算法中的噪声是不一样的。具体来说我们可以在计算 TD \text{TD} TD 误差的时候给目标值 y y y 加上一个噪声并且为了让噪声不至于过大还增加了一个裁剪 clip \text{clip} clip 如式 (11.5) \text{(11.5)} (11.5) 所示。 y r γ Q θ ′ ( s ′ , π ϕ ′ ( s ′ ) ϵ ) ϵ ∼ clip ⁡ ( N ( 0 , σ ) , − c , c ) (11.5) \tag{11.5} yr\gamma Q_{\theta^{\prime}}\left(s^{\prime}, \pi_{\phi^{\prime}}\left(s^{\prime}\right)\epsilon\right) \epsilon \sim \operatorname{clip}(N(0, \sigma),-c, c) yrγQθ′​(s′,πϕ′​(s′)ϵ)ϵ∼clip(N(0,σ),−c,c)(11.5) \qquad 其中 N ( 0 , σ ) N(0, \sigma) N(0,σ) 表示均值为 0 \text{0} 0方差为 σ \sigma σ 的高斯噪声 ϵ \epsilon ϵ 表示噪声 clip ⁡ \operatorname{clip} clip 表示裁剪函数即将噪声裁剪到 [ − c , c ] [-c, c] [−c,c] 的范围内 c c c 是一个超参数用于控制噪声的大小。可以看到这里噪声更像是一种正则化的方式使得值函数更新更加平滑。 5 附1 5.1 Ornstein-Uhlenbeck (OU) 噪声 Ornstein-Uhlenbeck (OU) 噪声是一种具有回归特性的随机过程常用于模拟具有均值回归特性的噪声过程。在强化学习和金融数学中OU 噪声常用于描述具有回归特性的动态变化。以下是对 OU 噪声的详细解释和理解。 5.1.1 定义 Ornstein-Uhlenbeck 噪声是一个连续时间的马尔科夫过程其微分方程形式为 d X t θ ( μ − X t ) d t σ d W t dX_t \theta (\mu - X_t) dt \sigma dW_t dXt​θ(μ−Xt​)dtσdWt​ 其中 X t X_t Xt​ 是在时间 t t t 的 OU 过程的值。即当前的噪声值这个 t t t 也是强化学习中的时步 time step \text{time step} time step 。 θ \theta θ 是均值回归速度决定了该过程回归到均值 μ \mu μ 的速度。 μ \mu μ 是长期均值。表示噪声在长时间尺度上的平均值。 σ \sigma σ 是噪声的强度表示随机高斯噪声的标准差决定了随机扰动的大小。 W t W_t Wt​ 是标准布朗运动或维纳过程。是一个随机项表示随机高斯噪声的微小变化。 5.1.2 特性 均值回归 OU 过程具有均值回归特性这意味着它会倾向于回归到其长期均值 μ \mu μ。当 X t X_t Xt​ 偏离均值时回归项 θ ( μ − X t ) \theta (\mu - X_t) θ(μ−Xt​) 会推动它回到均值。如果 X t μ X_t \mu Xt​μ回归项为负将 X t X_t Xt​ 拉回均值。如果 X t μ X_t \mu Xt​μ回归项为正将 X t X_t Xt​ 推回均值。 随机扰动 OU 过程包括一个随机扰动项 σ d W t \sigma dW_t σdWt​这个项引入了噪声使得过程具有随机性。 σ \sigma σ 越大随机扰动越显著。 5.1.3 直观理解 可以将 OU 噪声过程想象成一个受阻尼的随机过程。以下是一些直观的类比 弹簧模型想象一个弹簧的质量块质量块的位置 X t X_t Xt​ 在长期均值 μ \mu μ 附近振荡。弹簧力类似于回归项 θ ( μ − X t ) \theta (\mu - X_t) θ(μ−Xt​)将质量块拉回均值位置同时随机的震动类似于 σ d W t \sigma dW_t σdWt​不断扰动质量块的位置。金融资产价格OU 过程可以用来模拟资产价格的变化假设价格有一个长期均值价格会围绕这个均值波动并具有回归特性。 5.1.4 数学性质 平稳分布 OU 过程在长期情况下具有平稳分布其均值为 μ \mu μ方差为 σ 2 2 θ \frac{\sigma^2}{2\theta} 2θσ2​。 自相关函数 OU 过程的自相关函数为 ρ ( τ ) e − θ τ \rho(\tau) e^{-\theta \tau} ρ(τ)e−θτ自相关函数随着时间差 τ \tau τ 指数衰减衰减速度由 θ \theta θ 决定。 5.1.5 代码示例 以下是如何在 Python 中生成 OU 噪声过程的示例代码 import numpy as np import matplotlib.pyplot as pltdef generate_ou_process(T, dt, mu0.0, theta0.15, sigma0.2, x0None):Generate an Ornstein-Uhlenbeck process.Parameters:T (float): Total time.dt (float): Time step.mu (float): Long-term mean.theta (float): Speed of mean reversion.sigma (float): Volatility parameter.x0 (float): Initial value of the process (optional).Returns:np.ndarray: Generated OU process.n_steps int(T / dt)x np.zeros(n_steps)if x0 is not None:x[0] x0else:x[0] mufor t in range(1, n_steps):dx theta * (mu - x[t-1]) * dt sigma * np.sqrt(dt) * np.random.normal()x[t] x[t-1] dxreturn x#Parameters T 10.0 # Total time dt 0.01 # Time step mu 0.0 # Long-term mean theta 0.15 # Speed of mean reversion sigma 0.2 # Volatility parameter x0 1.0 # Initial value#Generate OU process ou_process generate_ou_process(T, dt, mu, theta, sigma, x0)#Plot the result time np.arange(0, T, dt) plt.plot(time, ou_process) plt.xlabel(Time) plt.ylabel(X(t)) plt.title(Ornstein-Uhlenbeck Process) plt.show()5.1.6 总结 Ornstein-Uhlenbeck 噪声是一种具有均值回归特性的随机过程其主要特性包括回归到长期均值和随机扰动。通过调节其参数可以模拟不同类型的具有均值回归特性的动态变化。在强化学习中OU 噪声常用于添加到动作选择中以平衡探索和利用。 \qquad PPO \text{PPO} PPO 算法是一类典型的 Actor-Critic \text{Actor-Critic} Actor-Critic 算法既适用于连续动作空间也适用于离散动作空间。 \qquad PPO \text{PPO} PPO 算法的主要思想是通过在策略梯度的优化过程中引入一个重要性权重来限制策略更新的幅度从而提高算法的稳定性和收敛性。 PPO \text{PPO} PPO 算法的优点在于简单、易于实现、易于调参应用十分广泛正可谓 “遇事不决 PPO \text{PPO} PPO ”。 6 重要性采样 p ( x ) p(x) p(x)难采样 q ( x ) q(x) q(x)容易采样通过q采样来替代p采样。 \qquad 重要性采样 importance sampling \text{importance sampling} importance sampling 。重要性采样是一种估计随机变量的期望或者概率分布的统计方法。它的原理也很简单假设有一个函数 f ( x ) f(x) f(x) 需要从分布 p ( x ) p(x) p(x) 中采样来计算其期望值但是在某些情况下我们可能很难从 p ( x ) p(x) p(x) 中采样这个时候我们可以从另一个比较容易采样的分布 q ( x ) q(x) q(x) 中采样来间接地达到从 p ( x ) p(x) p(x) 中采样的效果。这个过程的数学表达式如式 (12.1) \text{(12.1)} (12.1) 所示。 E p ( x ) [ f ( x ) ] ∫ a b f ( x ) p ( x ) q ( x ) q ( x ) d x E q ( x ) [ f ( x ) p ( x ) q ( x ) ] (12.1) \tag{12.1} E_{p(x)}[f(x)]\int_{a}^{b} f(x) \frac{p(x)}{q(x)} q(x) d xE_{q(x)}\left[f(x) \frac{p(x)}{q(x)}\right] Ep(x)​[f(x)]∫ab​f(x)q(x)p(x)​q(x)dxEq(x)​[f(x)q(x)p(x)​](12.1) \qquad 对于离散分布的情况可以表达为式 (12.2) \text{(12.2)} (12.2) 。 E p ( x ) [ f ( x ) ] 1 N ∑ f ( x i ) p ( x i ) q ( x i ) (12.2) \tag{12.2} \begin{aligned} E_{p(x)}[f(x)]\frac{1}{N} \sum f\left(x_{i}\right) \frac{p\left(x_{i}\right)}{q\left(x_{i}\right)} \end{aligned} Ep(x)​[f(x)]N1​∑f(xi​)q(xi​)p(xi​)​​(12.2) \qquad 这样一来原问题就变成了只需要从 q ( x ) q(x) q(x) 中采样然后计算两个分布之间的比例 p ( x ) q ( x ) \frac{p(x)}{q(x)} q(x)p(x)​ 即可这个比例称之为重要性权重。换句话说每次从 q ( x ) q(x) q(x) 中采样的时候都需要乘上对应的重要性权重来修正采样的偏差即两个分布之间的差异。当然这里可能会有一个问题就是当 p ( x ) p(x) p(x) 不为 0 \text{0} 0 的时候 q ( x ) q(x) q(x) 也不能为 0 \text{0} 0但是他们可以同时为 0 \text{0} 0 这样 p ( x ) q ( x ) \frac{p(x)}{q(x)} q(x)p(x)​ 依然有定义具体的原理由于并不是很重要因此就不展开讲解了。 \qquad 通常来讲我们把这个 p ( x ) p(x) p(x) 叫做目标分布 q ( x ) q(x) q(x) 叫做提议分布 Proposal Distribution \text{Proposal Distribution} Proposal Distribution , 那么重要性采样对于提议分布有什么要求呢? 其实理论上 q ( x ) q(x) q(x) 可以是任何比较好采样的分布比如高斯分布等等但在实际训练的过程中聪明的读者也不难想到我们还是希望 q ( x ) q(x) q(x) 尽可能 p ( x ) p(x) p(x)即重要性权重尽可能接近于 1 \text{1} 1 。我们可以从方差的角度来具体展开讲讲为什么需要重要性权重尽可能等于 1 1 1 回忆一下方差公式如式 (12.3) \text{(12.3)} (12.3) 所示。 V a r x ∼ p [ f ( x ) ] E x ∼ p [ f ( x ) 2 ] − ( E x ∼ p [ f ( x ) ] ) 2 (12.3) \tag{12.3} Var_{x \sim p}[f(x)]E_{x \sim p}\left[f(x)^{2}\right]-\left(E_{x \sim p}[f(x)]\right)^{2} Varx∼p​[f(x)]Ex∼p​[f(x)2]−(Ex∼p​[f(x)])2(12.3) \qquad 结合重要性采样公式我们可以得到式 (12.4) \text{(12.4)} (12.4) 。 V a r x ∼ q [ f ( x ) p ( x ) q ( x ) ] E x ∼ q [ ( f ( x ) p ( x ) q ( x ) ) 2 ] − ( E x ∼ q [ f ( x ) p ( x ) q ( x ) ] ) 2 E x ∼ p [ f ( x ) 2 p ( x ) q ( x ) ] − ( E x ∼ p [ f ( x ) ] ) 2 (12.4) \tag{12.4} \begin{aligned} Var_{x \sim q}\left[f(x) \frac{p(x)}{q(x)}\right]E_{x \sim q}\left[\left(f(x) \frac{p(x)}{q(x)}\right)^{2}\right]-\left(E_{x \sim q}\left[f(x) \frac{p(x)}{q(x)}\right]\right)^{2} \\ E_{x \sim p}\left[f(x)^{2} \frac{p(x)}{q(x)}\right]-\left(E_{x \sim p}[f(x)]\right)^{2} \end{aligned} Varx∼q​[f(x)q(x)p(x)​]Ex∼q​[(f(x)q(x)p(x)​)2]−(Ex∼q​[f(x)q(x)p(x)​])2Ex∼p​[f(x)2q(x)p(x)​]−(Ex∼p​[f(x)])2​(12.4) \qquad 不难看出当 q ( x ) q(x) q(x) 越接近 p ( x ) p(x) p(x) 的时候方差就越小也就是说重要性权重越接近于 1 1 1 的时候反之越大。 \qquad 其实重要性采样也是蒙特卡洛估计的一部分只不过它是一种比较特殊的蒙特卡洛估计允许我们在复杂问题中利用已知的简单分布进行采样从而避免了直接采样困难分布的问题同时通过适当的权重调整可以使得蒙特卡洛估计更接近真实结果。 7 PPO算法 \qquad 重要性采样本质上是一种在某些情况下更优的蒙特卡洛估计再结合前面 Actor-Critic \text{Actor-Critic} Actor-Critic 章节中我们讲到策略梯度算法的高方差主要来源于 Actor \text{Actor} Actor 的策略梯度采样估计。 PPO \text{PPO} PPO 算法的核心思想就是通过重要性采样来优化原来的策略梯度估计其目标函数表示如式 (12.5) \text{(12.5)} (12.5) 所示。 J T R P O ( θ ) E [ r ( θ ) A ^ θ old  ( s , a ) ] r ( θ ) π θ ( a ∣ s ) π θ old  ( a ∣ s ) (12.5) \tag{12.5} \begin{gathered} J^{\mathrm{TRPO}}(\theta)\mathbb{E}\left[r(\theta) \hat{A}_{\theta_{\text {old }}}(s, a)\right] \\ r(\theta)\frac{\pi_\theta(a \mid s)}{\pi_{\theta_{\text {old }}}(a \mid s)} \end{gathered} JTRPO(θ)E[r(θ)A^θold ​​(s,a)]r(θ)πθold ​​(a∣s)πθ​(a∣s)​​(12.5) \qquad 这个损失就是置信区间的部分一般称作 TRPO \text{TRPO} TRPO 损失。这里旧策略分布 π θ old  ( a ∣ s ) \pi_{\theta_{\text {old }}}(a \mid s) πθold ​​(a∣s) 就是重要性权重部分的目标分布 p ( x ) p(x) p(x) 目标分布是很难采样的所以在计算重要性权重的时候这部分通常用上一次与环境交互采样中的概率分布来近似。相应地 π θ ( a ∣ s ) \pi_\theta(a \mid s) πθ​(a∣s) 则是提议分布即通过当前网络输出的 probs 形成的类别分布 Catagorical \text{Catagorical} Catagorical 分布离散动作或者 Gaussian \text{Gaussian} Gaussian 分布连续动作。 \qquad 读者们可能对这个写法感到陌生似乎少了 Actor-Critic \text{Actor-Critic} Actor-Critic 算法中的 logit_p但其实这个公式等价于式 (12.6) \text{(12.6)} (12.6) 。 J T R P O ( θ ) E ( s t , a t ) ∼ π θ ′ [ p θ ( a t ∣ s t ) p θ ′ ( a t ∣ s t ) A θ ′ ( s t , a t ) ∇ log ⁡ p θ ( a t n ∣ s t n ) ] (12.6) \tag{12.6} J^{\mathrm{TRPO}}(\theta)E_{\left(s_t, a_t\right) \sim \pi_{\theta^{\prime}}}\left[\frac{p_\theta\left(a_t \mid s_t\right)}{p_{\theta^{\prime}}\left(a_t \mid s_t\right)} A^{\theta^{\prime}}\left(s_t, a_t\right) \nabla \log p_\theta\left(a_t^n \mid s_t^n\right)\right] JTRPO(θ)E(st​,at​)∼πθ′​​[pθ′​(at​∣st​)pθ​(at​∣st​)​Aθ′(st​,at​)∇logpθ​(atn​∣stn​)](12.6) \qquad 换句话说本质上 PPO \text{PPO} PPO 算法就是在 Actor-Critic \text{Actor-Critic} Actor-Critic 算法的基础上增加了重要性采样的约束而已从而确保每次的策略梯度估计都不会过分偏离当前的策略也就是减少了策略梯度估计的方差从而提高算法的稳定性和收敛性。 \qquad 前面我们提到过重要性权重最好尽可能地等于 1 \text{1} 1 而在训练过程中这个权重它是不会自动地约束到 1 1 1 附近的因此我们需要在损失函数中加入一个约束项或者说正则项保证重要性权重不会偏离 1 \text{1} 1 太远。具体的约束方法有很多种比如 KL \text{KL} KL 散度、 JS \text{JS} JS 散度等等但通常我们会使用两种约束方法一种是 clip \text{clip} clip 约束 另一种是 KL \text{KL} KL 散度。 clip \text{clip} clip 约束定义如式 (12.7) \text{(12.7)} (12.7) 所示。 J clip  ( θ ) E ^ t [ min ⁡ ( r t ( θ ) A ^ t , clip ⁡ ( r t ( θ ) , 1 − ϵ , 1 ϵ ) A ^ t ) ] (12.7) \tag{12.7} J_{\text {clip }}(\theta)\hat{\mathbb{E}}_{t}\left[\min \left(r_{t}(\theta) \hat{A}_{t}, \operatorname{clip}\left(r_{t}(\theta), 1-\epsilon, 1\epsilon\right) \hat{A}_{t}\right)\right] Jclip ​(θ)E^t​[min(rt​(θ)A^t​,clip(rt​(θ),1−ϵ,1ϵ)A^t​)](12.7) \qquad 其中 ϵ \epsilon ϵ 是一个较小的超参一般取 0.1 \text{0.1} 0.1 左右。这个 clip \text{clip} clip 约束的意思就是始终将重要性权重 r ( θ ) r(\theta) r(θ) 裁剪在 1 1 1 的邻域范围内实现起来非常简单。 \qquad 另一种 KL \text{KL} KL 约束定义如式 (12.8) \text{(12.8)} (12.8) 所示。 J K L ( θ ) E ^ t [ π θ ( a t ∣ s t ) π θ old  ( a t ∣ s t ) A ^ t − β K L [ π θ old  ( ⋅ ∣ s t ) , π θ ( ⋅ ∣ s t ) ] ] (12.8) \tag{12.8} J^{KL}(\theta)\hat{\mathbb{E}}_t\left[\frac{\pi_\theta\left(a_t \mid s_t\right)}{\pi_{\theta_{\text {old }}}\left(a_t \mid s_t\right)} \hat{A}_t-\beta \mathrm{KL}\left[\pi_{\theta_{\text {old }}}\left(\cdot \mid s_t\right), \pi_\theta\left(\cdot \mid s_t\right)\right]\right] JKL(θ)E^t​[πθold ​​(at​∣st​)πθ​(at​∣st​)​A^t​−βKL[πθold ​​(⋅∣st​),πθ​(⋅∣st​)]](12.8) \qquad KL \text{KL} KL 约束一般也叫 KL-penalty \text{KL-penalty} KL-penalty它的意思是在 TRPO \text{TRPO} TRPO 损失的基础上加上一个 KL \text{KL} KL 散度的惩罚项这个惩罚项的系数 β \beta β 一般取 0.01 0.01 0.01 左右。这个惩罚项的作用也是保证每次更新的策略分布都不会偏离上一次的策略分布太远从而保证重要性权重不会偏离 1 1 1 太远。在实践中我们一般用 clip \text{clip} clip 约束因为它更简单计算成本较低而且效果也更好。 \qquad 到这里我们就基本讲完了 PPO \text{PPO} PPO 算法的核心内容其实在熟练掌握 Actor-Critic \text{Actor-Critic} Actor-Critic 算法的基础上去学习这一类的其他算法是不难的读者只需要注意每个算法在 Actor-Critic \text{Actor-Critic} Actor-Critic 框架上做了哪些改进取得了什么效果即可。 8 附2 8.1 重要性采样方差计算 这个公式描述了在重要性采样Importance Sampling中的方差计算过程。首先让我们逐步分解这个公式以确保每一步都正确。 8.1.1 公式解释 这个公式描述了权重调整后采样的方差计算方法。公式如下 Var x ∼ q [ f ( x ) p ( x ) q ( x ) ] E x ∼ q [ ( f ( x ) p ( x ) q ( x ) ) 2 ] − ( E x ∼ q [ f ( x ) p ( x ) q ( x ) ] ) 2 \text{Var}_{x \sim q} \left[ f(x) \frac{p(x)}{q(x)} \right] \mathbb{E}_{x \sim q} \left[ \left( f(x) \frac{p(x)}{q(x)} \right)^2 \right] - \left( \mathbb{E}_{x \sim q} \left[ f(x) \frac{p(x)}{q(x)} \right] \right)^2 Varx∼q​[f(x)q(x)p(x)​]Ex∼q​[(f(x)q(x)p(x)​)2]−(Ex∼q​[f(x)q(x)p(x)​])2 8.1.2 方差定义 方差的定义是期望的平方与平方的期望之差即 Var [ X ] E [ X 2 ] − ( E [ X ] ) 2 \text{Var}[X] \mathbb{E}[X^2] - (\mathbb{E}[X])^2 Var[X]E[X2]−(E[X])2 在这里随机变量 X X X是 f ( x ) p ( x ) q ( x ) f(x) \frac{p(x)}{q(x)} f(x)q(x)p(x)​且其分布是由 q ( x ) q(x) q(x) 定义的。因此我们有 Var x ∼ q [ f ( x ) p ( x ) q ( x ) ] E x ∼ q [ ( f ( x ) p ( x ) q ( x ) ) 2 ] − ( E x ∼ q [ f ( x ) p ( x ) q ( x ) ] ) 2 \text{Var}_{x \sim q} \left[ f(x) \frac{p(x)}{q(x)} \right] \mathbb{E}_{x \sim q} \left[ \left( f(x) \frac{p(x)}{q(x)} \right)^2 \right] - \left( \mathbb{E}_{x \sim q} \left[ f(x) \frac{p(x)}{q(x)} \right] \right)^2 Varx∼q​[f(x)q(x)p(x)​]Ex∼q​[(f(x)q(x)p(x)​)2]−(Ex∼q​[f(x)q(x)p(x)​])2 8.1.3 公式验证 计算期望的平方 ( E x ∼ q [ f ( x ) p ( x ) q ( x ) ] ) 2 \left( \mathbb{E}_{x \sim q} \left[ f(x) \frac{p(x)}{q(x)} \right] \right)^2 (Ex∼q​[f(x)q(x)p(x)​])2 计算平方的期望 E x ∼ q [ ( f ( x ) p ( x ) q ( x ) ) 2 ] \mathbb{E}_{x \sim q} \left[ \left( f(x) \frac{p(x)}{q(x)} \right)^2 \right] Ex∼q​[(f(x)q(x)p(x)​)2] 这一步中首先需要计算 ( f ( x ) p ( x ) q ( x ) ) 2 f ( x ) 2 ( p ( x ) q ( x ) ) 2 \left( f(x) \frac{p(x)}{q(x)} \right)^2 f(x)^2 \left( \frac{p(x)}{q(x)} \right)^2 (f(x)q(x)p(x)​)2f(x)2(q(x)p(x)​)2 然后取其在 q ( x ) q(x) q(x) 分布下的期望 E x ∼ q [ f ( x ) 2 ( p ( x ) q ( x ) ) 2 ] \mathbb{E}_{x \sim q} \left[ f(x)^2 \left( \frac{p(x)}{q(x)} \right)^2 \right] Ex∼q​[f(x)2(q(x)p(x)​)2] 方差公式 将上述两步结合我们得到方差的计算公式 Var x ∼ q [ f ( x ) p ( x ) q ( x ) ] E x ∼ q [ f ( x ) 2 ( p ( x ) q ( x ) ) 2 ] − ( E x ∼ q [ f ( x ) p ( x ) q ( x ) ] ) 2 \text{Var}_{x \sim q} \left[ f(x) \frac{p(x)}{q(x)} \right] \mathbb{E}_{x \sim q} \left[ f(x)^2 \left( \frac{p(x)}{q(x)} \right)^2 \right] - \left( \mathbb{E}_{x \sim q} \left[ f(x) \frac{p(x)}{q(x)} \right] \right)^2 Varx∼q​[f(x)q(x)p(x)​]Ex∼q​[f(x)2(q(x)p(x)​)2]−(Ex∼q​[f(x)q(x)p(x)​])2 8.1.4 结论 这个公式是正确的没有错误。它精确地描述了在重要性采样中加权采样值的方差计算方法。这个过程对于理解和应用重要性采样技术非常重要尤其是在涉及到蒙特卡洛方法和其他采样技术时。 8.2 目标函数 式12.5 解释 这个公式与强化学习中的策略优化方法——信赖域策略优化Trust Region Policy Optimization, TRPO相关。TRPO是一种用于保证策略更新稳定性和提高收敛速度的优化算法。公式中的每一部分都有特定的含义下面我们逐一解释。 8.2.1 公式解释 8.2.1.1 目标函数 J TRPO ( θ ) J^{\text{TRPO}}(\theta) JTRPO(θ) J TRPO ( θ ) E [ r ( θ ) A ^ θ old ( s , a ) ] J^{\text{TRPO}}(\theta) \mathbb{E} \left[ r(\theta) \hat{A}_{\theta_{\text{old}}}(s, a) \right] JTRPO(θ)E[r(θ)A^θold​​(s,a)] 目标函数 J TRPO ( θ ) J^{\text{TRPO}}(\theta) JTRPO(θ): TRPO 的目标是通过优化策略参数 θ \theta θ 来最大化这个期望值。这个期望值是对策略在给定状态 s s s 下采取动作 a a a 所获得的优势函数的加权平均。 期望值 E [ ⋅ ] \mathbb{E}[\cdot] E[⋅]: 表示在所有状态 s s s 和动作 a a a 上进行期望。期望是根据当前策略 π θ \pi_{\theta} πθ​ 进行采样的。 优势函数 A ^ θ old ( s , a ) \hat{A}_{\theta_{\text{old}}}(s, a) A^θold​​(s,a): 这是旧策略 θ old \theta_{\text{old}} θold​ 下的优势函数。优势函数表示在特定状态 s s s 下选择动作 a a a 相对于平均水平基于旧策略所带来的额外奖励。 8.2.1.2 比率函数 r ( θ ) r(\theta) r(θ) r ( θ ) π θ ( a ∣ s ) π θ old ( a ∣ s ) r(\theta) \frac{\pi_{\theta}(a \mid s)}{\pi_{\theta_{\text{old}}}(a \mid s)} r(θ)πθold​​(a∣s)πθ​(a∣s)​ 比率函数 r ( θ ) r(\theta) r(θ): 这个比率函数表示新策略 π θ \pi_{\theta} πθ​与旧策略 π θ old \pi_{\theta_{\text{old}}} πθold​​在相同状态 s s s和动作 a a a下的概率比值。 - π θ ( a ∣ s ) \pi_{\theta}(a \mid s) πθ​(a∣s) : 新策略在状态 : 新策略在状态 :新策略在状态s 下选择动作 下选择动作 下选择动作a 的概率。 − 的概率。 - 的概率。−\pi_{\theta_{\text{old}}}(a \mid s)$ : 旧策略在状态 : 旧策略在状态 :旧策略在状态s 下选择动作 下选择动作 下选择动作a$的概率。 这个比率用来调整优势函数使得策略更新时考虑到新旧策略的变化。 8.2.2 直观解释 策略更新的目标: TRPO的目标是找到一个新的策略 π θ \pi_{\theta} πθ​使得在策略更新过程中保持策略的稳定性和收敛性。通过最大化目标函数 J TRPO ( θ ) J^{\text{TRPO}}(\theta) JTRPO(θ)TRPO确保策略更新是在一个受信赖的范围内进行的。 优势函数: 优势函数 A ^ θ old ( s , a ) \hat{A}_{\theta_{\text{old}}}(s, a) A^θold​​(s,a)表示在给定状态 s s s下选择动作 a a a比起选择其他动作的好坏程度。TRPO使用这个函数来衡量当前策略相对于旧策略的性能提升。 概率比率: 比率函数 r ( θ ) r(\theta) r(θ)调整优势函数的影响使得新的策略不会偏离旧的策略太远从而保证策略更新的稳定性。这个调整有助于避免策略在更新过程中出现剧烈变化确保每次更新都在信赖域内。 8.2.3 总结 TRPO 的核心思想是通过最大化目标函数 J TRPO ( θ ) J^{\text{TRPO}}(\theta) JTRPO(θ)在策略更新时考虑新旧策略的变化确保更新的稳定性。比率函数 r ( θ ) r(\theta) r(θ)和优势函数 A ^ θ old ( s , a ) \hat{A}_{\theta_{\text{old}}}(s, a) A^θold​​(s,a)的结合使得新的策略在获得更高奖励的同时保持与旧策略的相似性从而实现稳定和高效的策略优化。 Soft Actor-Critic \text{Soft Actor-Critic} Soft Actor-Critic 算法简写为 SAC \text{SAC} SAC 。 SAC \text{SAC} SAC 算法是一种基于最大熵强化学习的策略梯度算法它的目标是最大化策略的熵从而使得策略更加鲁棒。 SAC \text{SAC} SAC 算法的核心思想是通过最大化策略的熵使得策略更加鲁棒经过超参改良后的 SAC \text{SAC} SAC 算法在稳定性方面是可以与 PPO \text{PPO} PPO 算法华山论剑的。 9 最大熵强化学习 确定性策略和随机性策略确定性策略是指在给定相同状态下总是选择相同的动作。 随机性策略则是在给定状态下可以选择多种可能的动作。 优势劣势代表算法确定性策略稳定性且可重复性。可控性好容易达到最优解。缺乏探索性。容易陷入局部最优解。DQN、DDPG随机性策略更加灵活。能够在一定程度探索未知状态和动作。有助于避免陷入局部最优解。不稳定。可重复性差。可能策略收敛慢影响效率和性能。A2C、PPO 10 Soft Q-Learning 11 SAC 12 自动调节温度因子
http://www.w-s-a.com/news/728074/

相关文章:

  • 可以做效果图的网站东莞网站优化什么方法
  • 网站和软件的区别怎么做招生网站
  • 雄安免费网站建设电话如何做网站推广 求指点
  • 十大免费cad网站入口软件北京做网站建设价格
  • 建设一个公司网站要具备什么网页制作的专业
  • 东莞seo建站排名全包网站
  • 网站建设的基本步骤有哪些软件商店下载官方
  • 网站建设开发报告论文hao123上网从这里开始官方
  • 阿里云建网站费用徐州房产网
  • 网站统计分析平台做企业礼品的网站
  • 做可视化图表的网站wordpress批量导入tag
  • txt怎么做网站网站的链接结构包括
  • 适合平面设计师的网站网络营销专员的就业前景
  • 好订单网服装加工接单谷歌seo网站推广怎么做
  • seo泛站群外贸网站建设团队
  • 网站免费维护建立网站国家城乡建设部投诉网站
  • 企业网站必须备案吗wordpress导入数据库依然无法链接
  • 浅谈高校网站群的建设网站不支持m.域名
  • 和平网站建设公司做实验教学视频的网站
  • 音乐网站源码带手机版WordPress菜单调用不出
  • 昆明网站设计都需要设计什么网络推广岗位职责和任职要求
  • 国外公司网站模板网站建设公司选择意见书
  • 如何创建一个网站卖东西郑州 网站建设公司
  • 石景山郑州阳网站建设南京网站搜索引擎优化
  • 一个网站需要哪些备案书店网站建设策划书总结
  • 网站建设的重点是什么注册网站空间
  • 网站公司企业宗旨我的网站 dedecms
  • 沧州网站优化做详情图的网站
  • 中国建设银行公积金网站wordpress表单 post
  • 找权重高的网站方法wordpress视频网站上传视频