范围未知的RL奖励函数



为了论证,让我们假设我正在尝试使用强化学习最小化一些数学函数,其中最小值基本上可以介于-inf和+inf之间。(我知道RL可能不是最合适的算法,但这只是一个类比。)

我想设置奖励来反映"最佳最小值"。每一步都能找到。问题是,任何特定函数的{min,max}取值范围都可以是{0,100},或者{-1000,+9999999},或者{-99999,-10},或者{-9.000000001,-9.000000002},或者任何两个可以想象的值,而这些范围是事先不知道的。因此,我不确定如何将奖励标准化到{-1,+1}之间,因为像之前那样的极端范围当然不能直接作为奖励。

我假设需要某种相对改进公式,将新奖励与旧奖励进行比较,但这会产生问题,因为像(x_old - x_new)/x_old这样的东西会将1到0.5的变化视为50%的改进,而函数的真正最小值可能正好在-1000。

也许只是因为约束条件太少而无法合理地构建奖励函数,但我相信在其他地方也遇到过类似的问题。

预测分配有限的信息总是复杂的。为了提高你的预测,我有一个可能有用也可能没用的想法:优化两个模型:完成任务的人会得到奖励,奖励是根据目前遇到的值预测的。另一个是针对策略进行优化的,每当它发现一个状态的值超出到目前为止遇到的分布时,就会得到奖励。(例如,对于z,如果我们遇到的值在{5,42}范围内,则当找到z = 1或z = 123的状态时,模型将获得奖励)。后一种模型得到的分布可以用来衡量前一种模型的奖励。我希望这能帮助或激励你找到一个好的解决方案:)

策略梯度方法是否有更好的机会正确优化奖励函数?那么实际的奖励值就不是结果,而是实时梯度。

相关内容

  • 没有找到相关文章