Q学习(多个目标)

时间:2013-11-14 22:37:52

标签: machine-learning artificial-intelligence reinforcement-learning reward q-learning

我刚开始学习Q-learning,看到使用Q-learning解决问题的可能性。

问题:我应该检测某种数据组合,我有四个矩阵作为我系统的输入,我已经对输入进行了分类(每个输入可以是低(L)或高(H) ))。我需要检测某些类型的输入,例如LLLH,LLHH,HHHH等

注意: 1)LLLH表示L中的第一个输入,第二个输入为L,第三个输入为L,第四个输入为H! 2)我已将每种类型的输入类型标记为状态,例如LLLL为状态1,LLLH为状态2,依此类推。

我在Q学习中学到的是,大多数时候你有一个目标(只有一个状态作为目标),这使得代理更容易从R矩阵学习和创建Q矩阵。现在在我的问题中,我有很多目标(许多州充当目标,需要被发现)。我不知道如何设计状态,如何通过有许多目标以及代理将如何学习来创建奖励矩阵。能否帮助我如何在这种情况下使用Q-learning。考虑到我在20多个州都有16个进球!

正如我上面提到的,我知道什么是q学习,状态和目标是如何工作的,Q_matrix的计算(它如何学习)....但问题是现在我有很多目标,我不我真的知道如何将我的问题与q-learning联系起来..我需要多少个州,以及如何标记奖励,因为我有很多目标。

我至少需要帮助才能创建具有多个目标的奖励矩阵

2 个答案:

答案 0 :(得分:0)

  

我至少需要帮助才能创建具有多个目标的奖励矩阵

最简单的方法是对每个目标进行奖励,然后从这些奖励中加权,以获得总奖励。

Rtot = w1 * R1 + w2 * R2 + ... + wn * Rn

你可以决定如何衡量每个奖励,它会影响代理人的最终行为,因为每次尝试学习不同的东西。

有更复杂的方式称为“多维奖励RL”或“多标准RL”。你可以谷歌搜索相关论文。

答案 1 :(得分:0)

正在研究多个目标,因为它确实解决了一些关键的RL问题。

这是一篇很棒的文章,其目标是提供包裹或为电池充电......如果您没有充电,交付将会失败,但如果您经常收费,您将不会进行任何交付。这是两个重要目标之间的平衡。

作者将通过TensorFlow中的逻辑和方法向您介绍: https://www.oreilly.com/ideas/reinforcement-learning-for-complex-goals-using-tensorflow