我目前正在强化学习的背景下学习策略梯度下降。TL; DR,我的问题是:“奖励函数的限制是什么(在理论上和实践中),对于下面的案例,什么是好的奖励函数?”
详细信息:我想实现一个神经网络,它应该学习使用策略梯度下降来玩一个简单的棋盘游戏。我将省略 NN 的细节,因为它们无关紧要。据我所知,策略梯度下降的损失函数是负对数似然:loss = - avg(r * log(p))
我现在的问题是如何定义奖励r
?由于游戏可能有 3 种不同的结果:胜利、失败或平局 - 似乎奖励 1 表示胜利,0 表示平局,-1 表示失败(以及导致这些结果的行动的一些折扣值)将是一个自然的选择。
但是,从数学上讲,我有疑问:
赢得奖励:1 - 这似乎是有道理的。这应该将概率推向 1,因为概率越接近 1,获胜所涉及的移动梯度越小。
抽奖奖励:0 - 这似乎没有意义。这只会抵消方程中的任何概率,并且不可能进行学习(因为梯度应该始终为 0)。
损失奖励:-1 - 这应该是一种工作。它应该将涉及损失的移动的概率推向 0。但是,与获胜案例相比,我担心梯度的不对称性。概率越接近 0,梯度越陡。我担心这会对避免损失的政策产生极其强烈的偏见——以至于获胜信号根本不重要。