一、Advantage Function 优势函数策略梯度定理常写成​​​​​​​ ​​​​​​​ ​​​​​​​这里的核心是Qπ(s,a) 在状态 s 下执行动作 a然后继续按策略 π 行动未来总回报是多少。但是只看 Q(s,a) 有一个问题它不知道这个动作相对于当前状态的平均水平到底好不好。例如状态 s 本身就很好随便选动作都能拿高分那么某个动作的 Q(s,a) 高不一定说明这个动作真的优秀。所以我们引入优势函数。优势函数定义为​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​其中Qπ(s,a) 表示在状态 s 下做动作 a 的价值。Vπ(s) 表示在状态 s 下按照当前策略平均行动的价值。所以Aπ(s,a) 表示这个动作比当前状态下的平均水平好多少。Q(s,a) 只告诉你“这个动作值多少钱”而 A(s,a) 告诉你“这个动作比平均水平强多少”。PPO 里面真正重要的不是 Q而是 advantage。二、TD Error 和 Advantage 的关系优势函数理论上是​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​但是实际训练时我们通常不知道真实的 Qπ(s,a)所以要估计它。最简单的估计方式是 TD error​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​ ​​这里rt​γV(st1​) 可以看成一步估计出来的目标价值。 所以δt​ 可以理解为“一步优势估计”。如果δt​0 说明实际结果比 Critic 预期更好。如果δt​0 说明实际结果比 Critic 预期更差。三、GAE广义优势估计如果只用一步 TD error优点是方差低训练稳定。缺点是偏差可能比较大因为它只看了一步。如果用完整回报再计算At​Gt​−V(st​)优点是偏差小。缺点是方差大训练不稳定。所以 GAE 的目的就是在“低偏差”和“低方差”之间做折中。GAE 的核心公式是​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​其中参数含义γ 是折扣因子控制未来奖励的重要性。λ 是 GAE 的平衡参数控制用多少未来 TD error。把 GAE 展开就是​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​当前动作的优势不仅看当前这一步的 TD error还看后面若干步的 TD error。如果A^t​0 说明这个动作比平均水平好PPO 应该增加它的概率。如果A^t​0 说明这个动作比平均水平差PPO 应该降低它的概率。当λ0 GAE 退化成一步 TDA^t​δt​ 特点方差低偏差高。当λ1 GAE 接近 Monte Carlo 回报估计A^t​Gt​−V(st​) 特点偏差低方差高。实际 PPO 中常用λ0.95 这表示既考虑较长未来又不过度依赖完整轨迹。四、GAE 在 PPO 中的作用PPO 的核心目标函数是​​​​​​​ ​​​​​​​其中​ 表示新策略和旧策略对同一个动作的概率比值。这里的A^t​ 通常就是用 GAE 估计出来的 advantage。所以 PPO 更新时真正判断一个动作该增强还是削弱靠的是A^t​如果A^t​0 PPO 会倾向于提高这个动作的概率。如果A^t​0 PPO 会倾向于降低这个动作的概率。但是 PPO 不允许策略变化太大所以加入了 clip。六、On-policyOn-policy 的意思是用当前策略采样数据也用当前策略更新自己。也就是采样策略学习策略代表算法SARSA, REINFORCE, A2C, PPO例如 PPO当前策略 πθold​​ 先去环境中采样一批数据然后用这批数据更新策略。但是这批数据不能反复用太久因为策略更新后数据就变“旧”了。优点训练更稳定理论上更直接。缺点样本效率低因为数据通常不能长期重复利用。适合PPO 这类稳定优先的算法。七、Off-policyOff-policy 的意思是采样数据的策略和真正要学习的策略可以不同。也就是采样策略不等于学习策略代表算法Q-learning, DQN, DDPG, TD3, SAC例如 DQN智能体用 ϵ-greedy 策略和环境交互把数据存进 replay buffer。训练时从 replay buffer 里面随机抽旧数据来更新 Q 网络。这些数据可能是很久之前的策略产生的但仍然可以用。优点样本效率高可以反复利用历史经验。缺点训练更复杂容易不稳定需要 replay buffer、target network 等机制。适合DQN、SAC 这类需要大量重复利用经验的算法。八、DQN、PPO、SAC 的位置算法类型动作空间是否用 replay buffer核心特点DQNOff-policy离散动作用学习 Q(s,a)PPOOn-policy离散/连续都可通常不用学习策略clip 限制更新SACOff-policy连续动作常用用Actor-Critic 最大熵九、三者之间的关系Advantage Function 解决的是这个动作比当前状态的平均水平好多少。GAE 解决的是如何更稳定地估计 advantage。On-policy / Off-policy 解决的是训练数据来自当前策略还是可以来自旧策略。PPO 是On-policy Advantage GAE Clip。SAC 是Off-policy Actor-Critic Replay Buffer Entropy。DQN 是Off-policy Q-learning Replay Buffer Target Network。