PPO算法的提出

发布于:2023-01-22 ⋅ 阅读:(713) ⋅ 点赞:(0)

PPO算法主要用于处理连续问题。

为什么提出?

本质是PG的一种延伸,在PG算法中学习效率难控制。如果过小,更新过慢,如果过大,更新幅度太大,会振荡,导致无法收敛。PPO基于此问题而提出,限制新策略的更新幅度。

PPO原理

通过伪代码,我们可以宏观看出其整体的思路。

伪代码

在这里插入图片描述
上图给出了PPO的简化伪代码,由于过于简单,
下面将网络更新分为三部分:
1、Actor网络更新:(值得说明)
第一项:新老policy的差距比例,差距越大,比例越大,更新幅度越大。优势函数的估计At_hat代表更新新策略的一个优势有多大。
第二项:惩罚项,限制了新老策略在差距较大时候的更新幅度。
在这里插入图片描述
2、Critic网络更新:
与大多数Critic网络的更新基本一致。
在这里插入图片描述

参考链接

@莫烦Python:https://www.bilibili.com/video/BV13W411Y75P?p=31&vd_source=948922ca6cec08e5d3c66940b4746f64