SPG定理与算法介绍 续
在上文指出:“基于policy optimization的强化学习算法的数学基础都是policy gradient 定理(PGT),比如PG, A2C, A3C, TRPO, PPO, IMPALA等等。现在我们有了soft policy gradient 定理,对应地可以演化出一系列新算法,比如SPG, SA2C, SA3C, STRPO, SPPO, SIMPALA等等。”
细心的小伙伴可能会发现里面没有提及DDPG算法,这并不是我疏忽遗漏了,而是因为SDDPG算法其实和SAC1算法是等价的,这里继续介绍。
SAC算法:
https://arxiv.org/abs/1801.01290
"Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor"
SAC1算法:
https://arxiv.org/abs/1812.05905
"Soft Actor-Critic Algorithms and Applications"
SAC1算法是SAC算法的简化升级版,去掉了其中的value function。SAC1算法伪代码可以参考https://github.com/createamind/DRL首页。
SDDPG算法:
算法的提出利用了两个关键的洞察:一个是策略的重参数技术,另一个是推广到熵正规化的强化学习理论框架。
我对DDGP的证明其实和Silver的证明是一样的,只是记号有些差异。DDPG是RPG的一个特例,而RPG是PG的一个特例。SDDPG算法和SAC1算法其实是同一个算法,虽然两个算法的证明思路完全不一样,可谓殊途同归。可以对比一下SAC1算法:
值得注意的是:SAC1算法的导出是绕了弯路的(先得出的SAC算法,再得出的SAC1算法),而SDDPG的提出是一步到位的。另外,从推导中可以看出SAC1算法只是SPG算法的一个特例。
总结一下:
SAC1算法其实还有个名字:SDDPG算法。