PPO近端策略优化算法

本文学习自不去幼儿园大佬的文章!加上自己的一些小见解,欢迎交流!【强化学习】近端策略优化算法(PPO)万字详解(附代码)-腾讯云开发者社区-腾讯云

过去,在强化学习中,直接优化策略会导致不稳定的训练,模型可能因为过大的参数更新而崩溃。

解决方案:PPO通过限制策略更新幅度,使得每一步训练都不会偏离当前策略太多,同时高效利用采样数据。

PPO(Proximal Policy Optimization)核心思想

PPO的目标是:

1、限制策略更新幅度,防止策略过度偏离

2、使用优势函数 ****来评价某个动作的相对好坏。

PPO目标函数如下:

其中,有一些重要参数:

:表示对时间步 t 的期望值,时间步 t 的期望值,即对

一、概率比例 它表示新策略旧策略在同一状态下选择动作的概率比值。

:新策略对动作的概率。

:旧策略对动作的概率。

这个比率表示策略变化的程度。

二、优势函数 ,或者用广义优势估计(GAE)的方法近似。

表示在状态下采取动作相对于平均情况的优越程度。

三、剪辑操作 ,它将 限制在区间 ,防止策略变化过大。

为什么 PPO 很强?

  1. 简洁性: 比 TRPO(Trust Region Policy Optimization)更简单,无需二次优化。
  2. 稳定性: 使用剪辑机制防止策略更新过度。
  3. 高效性: 利用采样数据多次训练,提高样本利用率。

PPO的直观类比

假设你是一个篮球教练,训练球员投篮:

如果每次训练晚秋改变投篮动作,球员可能会表现失常(类似于策略更新过度)

如果每次训练动作变化太小,可能很难进步(类似于更新不足)

PPO的剪辑机制就像一个"适度改进"的规则,告诉球员在合理范围内调整投篮动作,同时评估每次投篮的表现是否优于平均水平。

强化学习的核心目标是优化策略,表示在给定状态下采取某个动作的概率分布

最大化累计奖励

策略梯度方法(如REINFORCE)直接优化策略,但更新过大可能导致不稳定。为了解决这个问题,PPO通过引入限制更新幅度的机制,保证策略的稳定性。

目标是优化以下期望:

通过梯度上升法更新策略。

值函数优化

PPO不仅优化策略,还同时更新值函数

通过最小化均方误差来更新:

:表示当前状态的值函数的预测

:累计回报。

策略熵正则化

为了鼓励策略探索 ,PPO引入了熵正则化项:

:策略的熵,表示策略分布的不正确性

增加熵可以防止策略过早收敛到局部最优。

总损失函数

PPO结合策略损失、值函数损失和熵正则化项,形成总损失函数:

:权重系数,用于平衡策略优化、值函数更新和熵正则化。

相关推荐
旧时光巷11 分钟前
【深度学习②】| DNN篇
人工智能·pytorch·深度学习·dnn·模型训练·手写数字识别·深度神经网络
木卯_THU27 分钟前
TGD第十篇:当神经网络遇到TGD特征
人工智能·深度学习·神经网络·表情识别·tgd·视频特征提取·特征工提取
一碗白开水一28 分钟前
【模型细节】FPN经典网络模型 (Feature Pyramid Networks)详解及其变形优化
网络·人工智能·pytorch·深度学习·计算机视觉
2202_7567496928 分钟前
02 基于sklearn的机械学习-KNN算法、模型选择与调优(交叉验证、朴素贝叶斯算法、拉普拉斯平滑)、决策树(信息增益、基尼指数)、随机森林
python·算法·决策树·随机森林·机器学习·sklearn
ATaylorSu31 分钟前
经典算法之美:冒泡排序的优雅实现
开发语言·笔记·学习·算法
闲看庭前梦落花37 分钟前
Tensorflow实现手写数字识别
人工智能·python·tensorflow
一只鹿鹿鹿43 分钟前
【制造】erp和mes系统建设方案(word)
大数据·人工智能·web安全·信息化·软件系统
数琨创享TQMS质量数智化1 小时前
数琨创享:德国高端制造企业QMS质量管理平台案例
大数据·人工智能·制造
菜鸡nan1 小时前
23th Day| 39.组合总和,40.组合总和II,131.分割回文串
算法·leetcode·职场和发展
冷月葬花~1 小时前
day37 卡码网52. 携带研究材料 力扣518.零钱兑换II 力扣377. 组合总和 Ⅳ 卡码网57. 爬楼梯
算法