《Proximal Policy Optimization Algorithms》--强化学习论文笔记

原文链接
Markdown公式速写

1. policy gradient 从on policy到 off policy

policy gradient:

∇ R θ ‾ = E τ ∼ p θ ( τ ) [ R ( τ ) ∇ l o g p θ ( τ ) ] \nabla\overline {R_\theta} = E_{\color{red}\tau \sim p_\theta(\tau)} [R(\tau)\nabla logp_\theta(\tau)] Rθ=Eτpθ(τ)[R(τ)logpθ(τ)]

  • 更新过程:actor与环境互动,生成轨迹 τ \tau τ, 之后按照梯度上升的方式更新policy network的参数。
  • 问题:虽然使用相同轨迹执行多步优化看上去很秀,但是这样操作并不合理,实验证明它通常会导致破坏性的大策略更新
    (感觉我的毕设是不是也存在这个问题???????)
  • 分析:按照公式,数据应该是从现在的policy θ \theta θ 的分布中采样出来,然而当每次结束一回合,更新了参数之后,原本的 θ \theta θ已经发生变化,原有采样出的数据就不能再使用了,需要重新获取数据,因此生成数据需要耗费大量的时间。
  • 改进:使用另外的policy θ ′ \theta' θ 来与环境交互生成数据,来训练 θ \theta θ(数据可以多次用来做梯度上升更新网络)

2. importance sampling

E x ∼ p [ f ( x ) ] ≈ 1 N ∑ i = 1 N f ( x i ) E_{x\sim p}[f(x)]\approx\frac{1}{N}\sum_{i=1}^Nf(x^i) Exp[f(x)]N1i=1Nf(xi)
p p p的分布中采样x,代入到f(x)中,计算f(x)的期望值, 其中 x i x^i xi是从 p ( x ) p(x) p(x)中采样得到的。

问题:如果现在无法从 p ( x ) p(x) p(x)中采样到 x x x, 只有从另一个分布 q ( x ) q(x) q(x)中采样的数据 x i x^i xi,该如何计算原目标表达式?
E x ∼ p [ f ( x ) ] = ∫ f ( x ) p ( x ) d x = ∫ f ( x ) p ( x ) q ( x ) q ( x ) d x = E x ∼ q [ f ( x ) p ( x ) q ( x ) ] E_{x\sim p}[f(x)]= \int f(x)p(x)dx =\int f(x)\frac{p(x)}{q(x)}q(x)dx =E_{x\sim q}[f(x)\frac{p(x)}{q(x)}] Exp[f(x)]=f(x)p(x)dx=f(x)q(x)p(x)q(x)dx=Exq[f(x)q(x)p(x)]

按照上式,理论上来说,可以用另一个随机分布 q ( x ) q(x) q(x)替换 p ( x ) p(x) p(x)
但是, E x ∼ p [ f ( x ) ] = E x ∼ q [ f ( x ) p ( x ) q ( x ) ] E_{x\sim p}[f(x)]=E_{x\sim q}[f(x)\frac{p(x)}{q(x)}] Exp[f(x)]=Exq[f(x)q(x)p(x)]

V a r x ∼ p [ f ( x ) ] ≠ V a r x ∼ q [ f ( x ) p ( x ) q ( x ) ] Var_{x\sim p}[f(x)]\neq Var_{x\sim q}[f(x)\frac{p(x)}{q(x)}] Varxp[f(x)]=Varxq[f(x)q(x)p(x)]
根据 V a r [ X ] = E [ X 2 ] − ( E [ X ] ) 2 Var[X]=E[X^2]-(E[X])^2 Var[X]=E[X2](E[X])2可得,
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 Var_{x\sim q}[f(x)\frac{p(x)}{q(x)}]=E_{x\sim q}[(f(x)\frac{p(x)}{q(x)})^2]-(E_{x\sim q}[f(x)\frac{p(x)}{q(x)}])^2=E_{x\sim p}[f(x)^2\frac{p(x)}{q(x)}]-(E_{x\sim p}[f(x)])^2 Varxq[f(x)q(x)p(x)]=Exq[(f(x)q(x)p(x))2](Exq[f

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 近端策略优化算法(proximal policy optimization algorithms)是一种用于强化学习的算法,它通过优化策略来最大化累积奖励。该算法的特点是使用了一个近端约束,使得每次更新策略时只会对其进行微调,从而保证了算法的稳定性和收敛性。近端策略优化算法在许多强化学习任务中都表现出了很好的效果,成为了当前最流行的强化学习算法之一。 ### 回答2: 近端策略优化算法是一种新兴的强化学习算法。它具有高效的策略优化和稳定的收敛性。近端策略优化算法在深度学习、自然语言处理、机器视觉、机器人学和其他应用领域都得到了广泛的应用。 近端策略优化算法的核心思想是对策略函数进行优化,以便最大化预期奖励。该算法使用指数加权平均方法来维护与策略函数相关的价值函数和状态值函数。在每个时间步中,它会使用当前策略函数执行一个或多个轨迹,然后使用这些轨迹更新策略函数的参数。 相比于其他优化策略的强化学习算法,近端策略优化算法有以下几个优点: 1. 收敛速度快——该算法具有高效的优化算法和稳定的训练过程,可以在较短的时间内收敛到最优解。 2. 收敛性强——该算法能够在训练过程中处理大的批量数据,并且可以快速地找到全局最优解。 3. 易于实现和调整——该算法的实现过程需要较少的超参数,使其易于实现和调整。 4. 可扩展性强——该算法可以扩展到复杂的问题和大规模数据集合。 总结: 近端策略优化算法是一种高效、稳定、易于实现的强化学习算法。它能够快速地处理大规模数据集合,并找到全局最优解。该算法在深度学习、自然语言处理、机器视觉、机器人学等领域中得到了广泛的应用。 ### 回答3: Proximal Policy Optimization (PPO)算法是一种强化学习中的模型优化算法。它的主要目标是发现学习最优策略的方法,并将其应用到机器人控制、游戏玩法、交通规划和服务机器人等任务中。 PPO算法的核心思想是使用一个剪切函数来限制策略更新的幅度,以确保算法的收敛性和稳定性。与传统的Policy Gradient算法不同,PPO算法对不同样本的更新幅度进行了限制,避免了策略更新过于激进或保守的情况,从而使算法更加可靠。 PPO算法的目标函数由两部分组成:第一部分是优化目标,即最大化期望奖励,第二部分是剪切函数。在PPO算法中,剪切函数被定义为两个策略之间的距离,它用于限制策略更新的幅度,以确保策略优化的稳定性。该函数使用了一个参数 $\epsilon$ 来控制策略更新的幅度,当距离超过阈值时,算法就会停止更新策略。 PPO算法的主要优点在于它的稳定性和可靠性。与其他优化算法相比,PPO算法采用了一种有限的剪切函数,从而避免了策略更新过于激进或保守的情况,而这种情况往往会导致算法崩溃或无法收敛。此外,PPO算法还具有高效性和可扩展性,可以应用于大规模深度学习中。 总之,PPO算法是一种强化学习中比较先进的算法,应用范围广泛,而且具有稳定性和可靠性,是未来智能机器人、自动驾驶等领域的重要研究方向。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值