Machine learning 如何为强化学习(Q-learning)添加约束

Machine learning 如何为强化学习(Q-learning)添加约束,machine-learning,constraints,reinforcement-learning,q-learning,Machine Learning,Constraints,Reinforcement Learning,Q Learning,我想知道如何为Q学习添加约束。我有一个动作,每次有两个奖励(奖励1=配送成本,奖励2=配送时间)。我想最大限度地降低成本,同时确保不违反最长交货期限。 有没有一种标准的/形式化的方法可以做到这一点?最简单的解决方案是创建一个单一的奖励函数,将这两种信号都考虑在内 为了最大限度地降低交付成本,您首先需要定义奖励功能,如: R(.)=-交付成本 否定是存在的,因为强化学习通常是关于应该最大化的回报,而不是应该最小化的成本 让代理学会不违反交付时间限制的一种简单方法是,如果违反了交付时间限制,则从奖励

我想知道如何为Q学习添加约束。我有一个动作,每次有两个奖励(奖励1=配送成本,奖励2=配送时间)。我想最大限度地降低成本,同时确保不违反最长交货期限。
有没有一种标准的/形式化的方法可以做到这一点?

最简单的解决方案是创建一个单一的奖励函数,将这两种信号都考虑在内

为了最大限度地降低交付成本,您首先需要定义奖励功能,如:

R(.)=-交付成本

否定是存在的,因为强化学习通常是关于应该最大化的回报,而不是应该最小化的成本

让代理学会不违反交付时间限制的一种简单方法是,如果违反了交付时间限制,则从奖励中减去一个大常量,如果没有违反,则不增加或减少任何内容。所以,这看起来像:

R()=
-交货成本-M如果交货时间>约束,
-交付成本,否则

M的值必须是非常大的。“真正的大”有多大取决于你预期的交付成本会有多大,因为它必须比这更大

当然,也可以创建比这更平滑的奖励函数,特别是如果您希望允许稍微违反交付时间约束,如果这意味着您可以显著降低成本的话


如果你想研究比我上面提出的要复杂得多的解决方案,你需要查阅有关多目标强化学习的文献。

嗨,丹尼斯,这是一个很好的答案,非常有帮助。我将尝试你的方法,看看模型是否可以通过学习在某个时间点收敛。你能为我提供有关多目标强化学习的相关链接吗。我有一个更复杂的模型版本要扩展。基本上,我有几个输入参数(即卡车数量、最小装载量要求、每次行程的成本)和几个输出参数(例如交付成本、交付时间、卡车利用率、运输频率,有些KPI值越大,性能越好,有些则相反)。我想了解如何使模型能够学习不同性质的奖励。顺便问一下,是否有一个标准和成熟的多目标强化学习算法。我看到文献中有很多,我不知道哪一个是可信的。我个人从未在多目标RL方面做过任何实际工作,因此我不能给出任何可靠的个人建议,除了我的知识,这基本上是你遇到的问题最常用的名称。“多目标顺序决策调查”似乎是一个很好的调查主题,但它是从2013年开始的,所以它不会包括最近几年的新内容。如果你只是在谷歌上搜索一下,就可以得到这个的Pdf。非常感谢你,丹尼斯