Proximal Algorithms

Proximal Algorithms:近端算法,近似算法
proximal operator:近端操作,近似操作

1 简介

1.1定义

a proper convex function:
在数值分析和优化中,一个proper convex function 函数是这样的一个凸函数,其在扩展实轴上的取值满足:
至少存在一个 x ,使得f(x)<+
并且对于所有的 x f(x)>
一个凸函数是适当的,也就是说,其在有效定义域内为非空的,并且不能取得 .
a closed convex funciton:
一个函数 f:RnR ,如果对于每一个 αR ,其水平子集 {xdomf|f(x)α} 是一个闭集,那么我们称函数 f 是闭凸函数。

f:RnR{+}是一个适当的闭的凸函数(a closed proper convex function),这意味着,函数 f 的上镜图:

epif={(x,t)Rn×R|f(x)t}

是一个非空闭凸集。函数 f 有效域
f={xRn|f(x)<+},

也就是说,函数 f 在该点集合上为有限值。
函数f近端操作 proxf : RnRn 定义为:

proxf(v)=argminx(f(x)+(1/2)||xv||22),(1.1)

其中 ||||2 是欧式范数。公式右手边( minx 内)函数是强凸函数,并且不是处处无限,因此 for  vRn (甚至当  domfRn ),该函数有唯一的最小值。
我们经常会碰到scaled function λf 近端操作(其中 λ>0 ),其可以表示为,
proxλf(v)=argminx(f(x)+(1/2λ)||xv||22).(1.2)

这也可以称作带有参数 λ 的函数 f 近端操作。(为了符号的简洁,我们写成1/2λ ,而不是 (1/(2λ)). )

1.2 解释

图1.1描述了近端操作。细黑线是凸函数 f 的等值线。粗黑线表示其定义域的边界。在蓝色的点处计算proxf,则为相应的红色点。函数定义域中的三个点任然在定义域中,并且移动到函数的最小值,同时,另外两个点移动到定义域的边界并且朝向函数的最小值。参数 λ 控制近端操作将点映射到函数 f 的最小值的程度,λ值越大,则映射后的点更接近最小值, λ 值越小,则向最小值移动的步长越小。
这里写图片描述
近端操作的定义表明, proxf(v) 的点是最小化函数 f 和临近v的折中。因此, proxf(v)
有时称为 v 关于f的一个近端点(临近点,proximal point).在 proxλf 中,参数 λ 可以解释为这两个项之间的相对权重或者折中参数。
f 是个示性函数(indicator function):

IC(x)={0,+,if xC if xC

其中 C 是闭的非空凸集,函数f的近端操作降为到集合 C 上的欧式投影,其表示为:
ΠC(v)=argminxC||xv||2(1.3)

因此,近端操作可以看作是广义投影。
函数 f 的近端操作也可以解释为函数f的一类梯度步(gradient step)。特别的,当 λ 很小,并且 f 可微时。,我们有:
proxλf(v)vλf(v)

这表明,近端操作和梯度方法之间存在着紧密的联系,同时暗示着近端操作在优化中很有用,也同样表明, λ 扮演的角色类似于梯度方法中的步长。
最终,函数 f 的近端操作的固定点(fixed points)恰好是函数f的最小值。话句话说,当且仅当, x 是函数 f 的最小值时,proxλf(x)=x成立。这表明,近端操作和固定点理论紧密相连,并且近端算法可以解释为通过找到适当操作(appropriate operators,可能为approximate operators)的固定点来求解最优化问题。

1.3 近端算法

近端算法就是指,在求解凸优化问题中,使用了目标项(object terms)的近端操作的算法。
近端算法的优点:
1、其可以应用于一般情况下,包括函数为非平滑的情况。
2、计算快。因为可以存在函数的简单的近端操作。
3、可以用于分布式优化,因此其可以用于解决大规模问题。
4、概念和数学上简单,对于一个特定的问题,易于理解,推导和实现。
实际上,许多近端算法可以解释为其他众所周知并且广泛使用的算法的推广,像投影梯度法。

2 近端操作的性质。

2.1 Separable sum(可分的和)

如何函数 f 可以分解为两个变量的表示形式,即f(x,y)=φ(x)+ψ(y),那么:

proxf(v,w)=(proxφ(v),proxψ(w))(2.1)

这样,计算一个可分离的函数的近端操作降为计算每一个可分离部分的近端操作,这两个操作可以独立的实现。
如果 f 完全可分离,意思就是f(x)=ni=1fi(xi),那么:
(proxf(v))i=proxfi(vi)

换句话说,在这种情况下,矢量函数上的近端操作降为在计算标量函数的近端操作,我们将在第5章看到,近端操作的 可分的和属性是推导近端算法并行的关键。

2.2 基本操作

这一部分当需要时,可做参考。
Postcomposition:
如何函数 f(x)=αφ(x)+bα>0 ,那么:

proxλf(v)=proxαλφ(v)

Procomposion:
如何 f(x)=φ(αx+b),α0 ,那么:
proxλf(v)=1α(proxα2λφ(αv+b)b)

如何 f(x)=φ(Qx) ,其中 Q 是正交的(QQT=QTQ=I),那么:
proxλf(v)=QTproxλφ(Qv)

Affine addtition.
如何 f(x)=φ(x)+αTx+b ,那么
proxλf(v)=proxλφ(vλα)

Regularization.
如何 f(x)=φ(x)+(ρ/2)||xα||22 ,那么:
proxλf(v)=proxλ~φ((λ~/λ)v+(ρλ~)α)

其中 λ~=λ/(1+λρ).
参考文献:
1、 https://web.stanford.edu/~boyd/papers/pdf/prox_algs.pdf
Proximal Algorithms.Neal Parikh,Stephen Boyd.
2、 https://en.wikipedia.org/wiki/Proper_convex_function
3、 https://en.wikipedia.org/wiki/Closed_convex_function

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值