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 网络。
相关推荐
科技道人10 小时前
记录 默认置灰/禁用 app ‘Search Engine Selector‘ 的disable按钮
开发语言·前端·javascript
伊玛目的门徒10 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
Jerry11 小时前
LeetCode 226. 翻转二叉树
算法
想做小南娘,发现自己是女生喵12 小时前
【无标题】
数据结构·算法
逝水无殇13 小时前
C# 异常处理详解
开发语言·后端·c#
Kx_Triumphs14 小时前
HDU4348 To the moon(主席树区间修改模板)
算法·题解
旖-旎14 小时前
《LeetCode647 回文子串 || LeetCode 5 最长回文子串》
c++·算法·leetcode·动态规划·哈希算法
玖玥拾14 小时前
C# 语言进阶(十五)C# 游戏服务端 MySQL 数据库
服务器·开发语言·网络·数据库·mysql·c#
铅笔侠_小龙虾14 小时前
Rust 学习目录
开发语言·学习·rust