近端策略优化(Proximal Policy Optimization, PPO)是强化学习中的一种高效策略优化算法,由OpenAI于2017年提出。其核心目标是提升训练稳定性和样本效率,尤其适用于复杂环境下的连续控制任务。
1. 背景与核心思想
- 问题背景:传统策略梯度方法(如REINFORCE、Actor-Critic)在更新策略时容易因步长过大导致训练不稳定。TRPO(Trust Region Policy Optimization)通过约束KL散度限制更新幅度,但计算复杂。
- PPO的创新:引入剪切(Clipping)或自适应KL惩罚机制,简化优化过程,仅需一阶梯度,兼顾稳定性和效率。
2. 算法原理
PPO算法基础组件
- 策略网络(Actor):它是一个神经网络,用于根据环境状态输出动作的概率分布。
- 例如,在一个简单的机器人控制任务中,策略网络可以根据机器人的传感器信息(状态)输出各个动作(如前进、后退、左转、右转等)的概率。
- 价值网络(Critic):同样是一个神经网络,用于估计给定状态的价值。价值网络可以帮助策略网络更好地理解哪些状态是更有价值的,从而引导策略网络朝着更优的方向进行更新。
- 例如,在一个游戏环境中,价值网络可以评估游戏中的某个局面(状态)对于最终胜利的价值。
- 优势函数(Advantage Function):优势函数A(s,a)A(s,a)A(s,a)定义为动作 - 价值函数Q(s,a)Q(s,a)Q(s,a)与状态价值函数V(s)V(s)V(s)的差值,即A(s,a)=Q(s,a)−V(s)A(s,a)=Q(s,a) - V(s)A(s,a)=Q(s,a)−V(s)。
- 它衡量了在某个状态下采取某个动作相对于平均动作价值的优势。
- 例如,在一个棋类游戏中,如果某个动作能够比平均水平更有效地增加获胜的机会,那么这个动作的优势函数值就会比较高。
目标函数设计
PPO的核心是改进策略更新的目标函数,确保新旧策略差异可控。主要形式包括:
PPO-Clip(剪切法):
- 目标函数:
LCLIP(θ)=E^t[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)] L^{CLIP}(\theta)=\hat{E}_t[\min(r_t(\theta)\hat{A}_t,clip(r_t(\theta),1 - \epsilon,1+\epsilon)\hat{A}_t)] LCLIP(θ)=E^t[min(rt(θ)A^t,clip(rt(θ),1−ϵ,1+ϵ)A^t)]- 其中θ\thetaθ是策略网络的参数
- E^t\hat{E}_tE^t表示对时间步t的经验样本的期望(通常是通过从经验回放缓冲区或多个收集的轨迹中采样得到)
- rt(θ)=πθ(at∣st)πθold(at∣st)r_t(\theta)=\frac{\pi_{\theta}(a_t|s_t)}{\pi_{\theta_{old}}(a_t|s_t)}rt(θ)=πθold(at∣st)πθ(at∣st)是概率比,它表示新策略πθ\pi_{\theta}πθ和旧策略πθold\pi_{\theta_{old}}πθold在状态sts_tst下选择动作ata_tat的概率之比
- A^t\hat{A}_tA^t是估计的优势函数
- clip(rt(θ),1−ϵ,1+ϵ)clip(r_t(\theta),1 - \epsilon,1+\epsilon)clip(rt(θ),1−ϵ,1+ϵ):这是一个剪辑(clipping)操作。
- 它将rt(θ)r_t(\theta)r
强化学习PPO算法详解与应用

最低0.47元/天 解锁文章
3383

被折叠的 条评论
为什么被折叠?



