我有一个基本问题。我正在努力为我的 DQN 开发奖励功能。我想训练一个 RL 代理来编辑图像上的像素。我知道卷积非常适合处理图像,但我想观察代理实时执行它。只是一个有趣的副项目。
无论如何,为了鼓励 RL 代理制作特定图像,我正在制作一个返回函数的奖励函数维矩阵。它表示目标图像的状态(每个像素位置的 RGB 值)与代理制作的图像之间的距离。
一般来说,奖励是标量更好,还是使用矩阵好吗?
我有一个基本问题。我正在努力为我的 DQN 开发奖励功能。我想训练一个 RL 代理来编辑图像上的像素。我知道卷积非常适合处理图像,但我想观察代理实时执行它。只是一个有趣的副项目。
无论如何,为了鼓励 RL 代理制作特定图像,我正在制作一个返回函数的奖励函数维矩阵。它表示目标图像的状态(每个像素位置的 RGB 值)与代理制作的图像之间的距离。
一般来说,奖励是标量更好,还是使用矩阵好吗?
一般来说,奖励是标量更好,还是使用矩阵好吗?
奖励需要是标量的真实值,以匹配马尔可夫决策过程 (MDP) 和强化学习 (RL) 方法的标准理论。
虽然有可能以各种方式累积矩阵,例如通过简单的矩阵加法,并得出一个模拟的预期回报,这将是矩阵的加权和,但你会陷入困境。没有固定的方法来对矩阵进行排序并确定一个结果是否比另一个更好。这是任何旨在改进任务的学习过程的要求 - 它需要反馈,它所做的更改与某些参考相关是更好或更坏。因此,优化中的大多数目标函数和指标都使用实值标量,它们总是可以按顺序排列以确定最高或最低值。
这并不妨碍您为您的项目使用矩阵表示,如果它是自然的。要将其转化为可用的奖励,您需要将该矩阵转换为实值指标。总结矩阵的L2 范数或其他标准度量可能对您的任务有好处。
使用多目标强化学习,可以使用单个学习器一次处理多个标量奖励。应用于您的问题,这将使您可以访问策略矩阵,每个策略都最大化矩阵中一个单元格的奖励值。如果对要实现的更改有一些偏好,它还允许使用“策略策略”以分层方式在目标之间切换。这不是 100% 清楚,但我认为这不是你想要做的。