我在我的强化学习算法中使用策略梯度,有时我的环境会在做出错误的举动时提供严重的惩罚(即负奖励)。我正在使用具有随机梯度下降的神经网络来学习策略。为此,我的损失本质上是动作分布的交叉熵损失乘以折扣奖励,其中奖励通常是正数。
但是我该如何处理负面奖励呢?由于损失偶尔会变为负数,它会认为这些动作非常好,并会加强惩罚方向的权重。这是正确的,如果是,我能做些什么呢?
编辑:
再想一想,SGD 不一定会直接削弱权重,它只会加强梯度方向的权重,并且作为副作用,梯度之外的其他状态的权重会减小,对吗?所以我可以在奖励为负数时简单地设置reward=0,而这些状态将在梯度更新中被忽略。不考虑那些非常糟糕的状态似乎仍然是徒劳的,最好以某种方式将它们包括在内。除非我在这里误解了一些基本的东西。