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(优势),即在某个状态下执行某个动作相对于平均水平的优越性。

二、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 值的均方误差,以使其能够准确估计累积奖励。

三、比较

  • 更新目标:PPO 通过迭代更新 policy 来提高性能 ,而 DDPG 则使用 critic 网络的 Q 值来计算 policy gradient,并更新 actor 网络。
相关推荐
6Hzlia1 小时前
【Classic 150 刷题计划】 LeetCode 205. 同构字符串 | C++ 双向绑定与哈希表映射
c++·算法·leetcode
神仙别闹7 小时前
基于 C++ 实现(控制台)学生成绩管理系统
开发语言·c++
伞伞悦读8 小时前
【第36期】Python 目录与路径详解:pathlib、文件遍历、创建、复制、移动和删除风险
开发语言·python
有点。8 小时前
C++03阶段练习(练习题)
数据结构·算法·图论
周末也要写八哥9 小时前
经典算法实例:游戏中弱角色的数量(二)
算法
是Yu欸9 小时前
鸿蒙PC移植:2048 从网页小游戏到 AI 桌面应用
大数据·人工智能·算法·数据挖掘·openharmony·codex
鹿角片ljp9 小时前
KV Cache 解析
java·算法
liliangcsdn10 小时前
IVOL与偏度因子的对比测量分析
算法
2601_9669496510 小时前
只拿到股票代码还不够:量化程序到底还需要哪些标的信息?——从数据建模开始理解股票元数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
m0_7345717611 小时前
深入理解5g <十八>传输块tbsize的计算
开发语言·5g