我正在尝试实现近端策略优化 (PPO) 算法(此处的代码),但我对某些概念感到困惑。
实现策略对数概率的正确方法是什么(表示为以下)?
假设我的旧网络策略输出是oldpolicy_probs=[0.1,0.2,0.6,0.1]
,新网络策略输出是newpolicy_probs=[0.2,0.2,0.4,0.2]
.我是直接记录这个日志,还是应该首先将这些与此处
y_true = [0,0,1,0]
实现的真实标签相乘?ratio = np.mean(np.exp(np.log(newpolicy_probs + 1e-10) - K.log(oldpolicy_probs + 1e-10))*advantage)
一旦我有了比率并将其与优势相乘,为什么我们要对所有行动取平均值?我怀疑这可能是因为我们正在估算但从概念上讲,我不明白这给了我们什么。我上面的实现是否正确?