PPO算法与DDPG算法的比较

一、PPO算法

1. actor网络

Actor 网络输出在给定状态 s t s_t st下采取每个动作的概率分布,通常使用一个神经网络表示: [ π θ ( a t ∣ s t ) ] [ \pi_\theta(a_t | s_t) ] [πθ(at∣st)].PPO 迭代地更新这个 policy,以改进策略并提高性能。

2. Critic网络

V ϕ ( s t ) \] \[ V_\\phi(s_t) \] \[Vϕ(st)\]用于估计状态的值函数。Critic 网络的目标是学习一个准确估计的状态值函数,以便计算优势函数(Advantage Function)。这个 value 网络帮助计算 advantage(优势),即在某个状态下执行某个动作相对于平均水平的优越性。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1727994170762596354/7ecb84aa5ae0ec74af9a0bfa386c0d62.webp) ## 二、DDPG算法 ### 1. actor网络 DDPG 使用一个 actor 网络 \[ μ θ ( s t ) \] \[ \\mu_\\theta(s_t) \] \[μθ(st)\],其输出是在给定状态下采取的动作。与 PPO 不同,DDPG 的输出是连续的动作,而不是动作概率分布。 ### 2. Critic网络 DDPG 有一个 critic 网络 \[ Q ϕ ( s t , a t ) \] \[ Q_\\phi(s_t, a_t) \] \[Qϕ(st,at)\],用于估计在给定状态和动作下的 Q 值(动作的质量)。这个 Q 值用于计算 policy gradient,以更新 actor 网络。 Critic 网络的训练目标是最小化 Q 值的均方误差,以使其能够准确估计累积奖励。 ![在这里插入图片描述](https://file.jishuzhan.net/article/1727994170762596354/be80119ae0178a41d79c1bfbf7a8109b.webp) ## 三、比较 * 更新目标:PPO 通过**迭代更新 policy 来提高性能** ,而 DDPG 则使用 **critic 网络的 Q 值来计算 policy gradient**,并更新 actor 网络。

相关推荐
爱编程的鱼12 分钟前
如何创建并保存HTML文件?零基础入门教程
开发语言·前端·人工智能·html
朝九晚五ฺ20 分钟前
【算法学习】位运算篇:位运算相关算法详解
数据结构·c++·学习·算法
进取星辰23 分钟前
PyTorch 深度学习实战(17):Asynchronous Advantage Actor-Critic (A3C) 算法与并行训练
pytorch·深度学习·算法
艰默29 分钟前
Bug 算法路径规划:原理、推导与实现
人工智能·算法·bug·路径规划
敖云岚36 分钟前
【前端三剑客】万字总结JavaScript
开发语言·前端·javascript
daily_23331 小时前
c++领域展开第十七幕——STL(vector容器的模拟实现以及迭代器失效问题)超详细!!!!
android·开发语言·c++·stl·vector
鹿屿二向箔1 小时前
一个简单的井字棋(Tic-Tac-Toe)游戏的C语言实现
c语言·开发语言·游戏
代码骑士1 小时前
支持向量机(Support Vector Machine)基础知识1
算法·机器学习·支持向量机
SongYuLong的博客1 小时前
C# WPF编程-Menu
开发语言·c#·wpf
Mr.Winter`1 小时前
轨迹优化 | 基于梯度下降的路径规划算法(附ROS C++/Python仿真)
c++·人工智能·算法·机器人·自动驾驶·ros·ros2