我正在熟悉 Policy Gradient 方法,特别是 Advantage Actor Critic (A2C)。我的目标问题使用裁剪的连续状态和动作空间,因此我一直在使用正态分布训练我的系统。我的神经网络为每个动作生成 mu 和 sigma 值,我通过从提供的分布中选择值来选择新动作。
我不清楚的是在没有接受培训的情况下执行该政策。在其他 RL 方法中,当我们不训练时,我们希望选择贪婪解决方案,以便生成具有最高可能(并且希望是最优)奖励的动作状态路径。在离散动作空间中,我们使用 argmax 函数完成。但是由于在连续环境中执行 argmax 的难处理性,我一直在实现自己的解决方案:仅将 mu 的值用于给定的操作。
不幸的是,这个解决方案并没有我预期的那么有效。对我的策略进行更仔细的检查表明,在初始状态下,我的策略的平均值位于在我剪裁的连续空间的限制下什么都不做的动作(即速度 = 0.0)。因此,当试图执行我的贪婪政策时,系统会非常糟糕。
然而,在这些州,我拥有非常高的 sigma/std dev。因此,当我快速但随机地训练我的系统时,它会将自己推进到其他状态(为 mu 生成正值的状态)。虽然我可以根据概率贪婪方法而不是纯贪婪方法简单地选择动作,但我觉得这不是我问题的完整解决方案。最值得注意的是依赖随机动作来达到目标。
总之,我想知道:首先,我的贪婪解决方案是否合适?其次,我是否应该考虑任何理论方法来限制 sigma 或鼓励 mu 移动?
谢谢
编辑:通过将 sigma 值限制在 1e-7 和 0.5 之间,我设法获得了一些运气。同时,平均值移动了 sigma,现在稳定地保持在 0.5 并且没有下降。是否有更多标准方法来完成所需的实现?