我试图了解解决购物车问题的策略梯度方法。在这种方法中,我们将策略的每个参数的损失梯度表示为对序列中所有动作的策略梯度梯度总和的期望,由该序列中的折扣奖励总和加权:
我们使用一集中所有样本的经验平均值来估计它——这在直觉上是有意义的。
但不太直观的部分是我看到了一种常见的做法,即在几个实现中规范化情节之间的优势(实际上它工作得更好)。因此,在他们计算出之后,他们不会直接使用优势,而是会对其进行标准化,例如,他们在每一集之后都会这样做:
discounted_epr = discount_rewards(epr)
discounted_epr -= np.mean(discounted_epr)
discounted_epr /= np.std(discounted_epr)
这样做的理由是什么——无论是理论上还是直觉上?在我看来,如果一集很长并且具有很大的优势,那么从那集中学习比从 3 步集中学到的更多。我错过了什么?