【问题标题】:Reward function for Policy Gradient Descent in Reinforcement Learning强化学习中策略梯度下降的奖励函数
【发布时间】:2018-06-29 00:29:35
【问题描述】:

我目前正在强化学习的背景下学习策略梯度下降。 TL;DR,我的问题是:“奖励函数有哪些限制(在理论上和实践中),对于下面的案例,什么是好的奖励函数?”

详情: 我想实现一个神经网络,它应该学习使用策略梯度下降来玩一个简单的棋盘游戏。我将省略 NN 的细节,因为它们无关紧要。策略梯度下降的损失函数,据我所知是负对数似然:loss = - avg(r * log(p))

我现在的问题是如何定义奖励r?由于游戏可能有 3 种不同的结果:胜利、失败或平局 - 似乎奖励 1 表示胜利,0 表示平局,-1 表示失败(以及导致这些结果的行动的一些折扣值)将是很自然的选择。

但是,我对数学有疑问:

赢得奖励:1 - 这似乎是有道理的。这应该将概率推向 1,因为概率越接近 1,获胜梯度越小。

抽取奖励:0 - 这似乎没有意义。这只会抵消方程中的任何概率,并且不可能进行学习(因为梯度应该始终为 0)。

Loss Reward: -1 - 这应该有点用。它应该将涉及损失的移动的概率推向 0。但是,与获胜案例相比,我担心梯度的不对称性。概率越接近 0,梯度越陡。我担心这会对避免损失的政策产生极其强烈的偏见 - 以至于获胜信号根本不重要。

【问题讨论】:

    标签: reinforcement-learning policy-gradient-descent


    【解决方案1】:

    你在正确的轨道上。但是,我相信您将奖励与行动概率混淆了。在平局的情况下,它会在剧集结束时得知奖励本身为零。然而,在损失的情况下,损失函数是折扣奖励(应该是-1)乘以行动概率。因此,它将使您更倾向于以胜利和远离失败的行动而以平局结尾的行动落在中间。直观地说,它与有监督的深度学习非常相似,只是附加了一个额外的加权参数(奖励)。

    此外,我相信 Google DeepMind 的这篇论文对您有用:https://arxiv.org/abs/1712.01815。 他们实际上在谈论使用 RL 解决国际象棋问题。

    【讨论】:

    • 感谢您的回复。我在我的问题中掩盖了一些问题,因为它已经变得很长了。在实践中,我确实使用了折扣奖励,但我的基本担忧仍然存在:0 的折扣奖励始终为零,它乘以有效地将它们从等式中删除的概率。
    • 输赢仍然总是正负,导致非常不对称的梯度,因为正对数的最小值为 0,梯度逐渐减小,负对数的最小值为 -inf,梯度越来越大陡峭的梯度。我不太确定我是否理解您与监督学习的比较。据我了解,在 SL 中,您最小化了一个自然最小值为 0 的指标,而在这种情况下,您最小化了一个日志,当它变为负数时,它可以一直到 -inf 以获得负奖励。
    • 怎么会这样?您正在记录概率乘以奖励。所以最大值是log(1)*r,最小值是log(0)*r。因此,除非您以-inf 的身份领取奖励,否则无法获得。此外,损失平均为log(prob)*rewards
    • 本讲义解释了SL和策略梯度RL的相似之处:rail.eecs.berkeley.edu/deeprlcourse-fa17/f17docs/…
    • 这是怎么发生的:log(0) 是-infinity。除非奖励是负数,例如-1,当它变为+无穷大时。损失公式中所有前面的减号再次将其反转,因此任何负奖励的最小值是概率为 0,“损失”为 -infinity,不是吗?对于奖励 0,log(0)*0 = log(1)*0 = log(0

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-02
    • 2021-03-21
    • 2023-02-25
    • 1970-01-01
    相关资源
    最近更新 更多