强化学习里折腾 MuJoCo 的你,如果还在犹豫选哪个算法,不妨看看这个资源。DDPGTD3SAC这三个经典算法都拿来跑了个对比测试,环境用的是 MuJoCo 的Humanoid,结果挺有参考价值的。

先说 DDPG,结构简单,Actor-Critic的基本套路,加了点噪声探索就能跑起来。不过碰到复杂任务容易不稳定,调参也挺麻烦。

再看 TD3,多了双 Q 网络策略延迟更新,抖动少了不少。关键代码也给得比较清楚,比如Q1, Q2 = Critic(s, a)这种双输出方式,还蛮好理解的。

SAC 的玩法就比较新了,最大化策略熵这个点挺。温度参数自动调节,探索效率高。代码结构也不错,比如:

logp_pi = policy.sample(state)
loss = (log_alpha * (-logp_pi - target_entropy)).mean()

适合你对训练稳定性要求高,模型又复杂的项目。

还有个点必须提,作者强调了动作缩放对训练效果影响大,不注意的话会直接导致 Agent 崩掉。这个经验挺实用的,值得借鉴。

如果你也在研究机器人控制方向,是连续动作空间的任务,这篇文章的代码和对比能帮你少走多弯路。