我们可以使用强化学习在成本函数中获得预定义常量的 'good' 值吗?

can we get 'good' values of predefined constants in a cost function using reinforcement learning?

我是强化学习的新手,我知道它背后的基本理论。但是,我无法将问题映射到现有框架。问题如下:

  1. 给定具有资源的环境:X、Y 和 Z

  2. 给定一组项目I,每个项目都有(x, y, z, r),其中x, y, z是需要的资源要服务的项目,r 是代理在服务项目时收到的奖励,(X, Y, Z) >> (x, y, z)

  3. 为了 select 集合中要投放的项目,我使用了 成本函数 f = ax + by + cz,其中、b 和 c 是预定义的常量。

  4. 根据 r/f

    的比率,selection 对项目进行了优先排序
  5. Objective:select 项服务,因此总奖励(所有 select 的 r 总和ed 项目) 考虑到每个项目和资源 X、Y 和 Z 的 x、y 和 z 是最大值

  6. 问题:如何调整a、b、c的值,使总奖励最大化?

你能给我以下建议吗?

a) 我是否可以使用强化学习来调整常量 a、b 和 c 的 'good' 值

b) 如果是,我该怎么做?

c) 如果否,对适当的解决方法有什么建议吗?

谢谢。

您要做的是超参数扫描,而不是 RL 问题。至少我是这样解释你的 post.

要进行扫描,您有几种可能性:网格搜索、随机搜索或高级搜索方法,例如异步连续减半 算法(ASHA)。网格搜索在寻找最优值方面比随机搜索差,而 ASHA 比随机搜索更有效。

要进行高效扫描,我建议使用 Ray Tune。在 PyTorch 文档中有一个关于如何使用 Tune 的很好的示例。它包括将 ASHA 用作简单的导入对象,而不是自己实施分布式扫描。

https://pytorch.org/tutorials/beginner/hyperparameter_tuning_tutorial.html