每个动作只有一个输出单元时,使用神经网络进行Q学习的效率如何?


9

背景:
我在强化学习任务中使用了神经网络Q值近似。该方法与该问题中描述的方法完全相同,但是问题本身不同。

在这种方法中,输出数量就是我们可以采取的行动数量。简单来说,算法如下:执行动作A,探索奖励,要求NN预测所有可能动作的Q值,选择最大Q值,将特定动作A的Q计算为R + max(new_state_Q)。在预测的Q值上拟合模型,只有其中一个被代替R + max(new_state_Q)

问题:如果产出数量很大,这种方法的效率如何?

尝试:假设我们可以采取10个动作。在每个步骤中,我们都要求模型预测10个值,而在模型的早期,这种预测就是一团糟。然后,我们修改输出的1个值,并使模型适合这些值。

对于这种方法的优缺点,我有两种相反的想法,无法确定哪种方法是正确的:

  • 从一个角度来看,我们在随机数据上训练每个神经元9次,而在接近实际值的数据上仅训练一次。如果NN在状态S下为动作A预测5,但实际值为-100,则将使NN与值5匹配9次,然后与值-100匹配一次。听起来很疯狂。
  • 从其他角度来看,神经网络的学习是作为错误的反向传播实现的,因此,当模型预测5且我们在5上对其进行训练时,由于错误为0,因此不会学习任何新知识。权重不受影响。并且只有当我们将计算-100并将其拟合到模型中时,它才会进行权重计算。

哪个选项正确?也许还有其他我没有考虑的东西?

更新: “有效率”是指与一种输出(预期回报)的方法进行比较。当然,在这种情况下,动作将是输入的一部分。因此,方法1根据某种状态对所有动作进行预测,方法2对某种状态下采取的特定动作进行预测。


以目前的形式对这个问题做出明确的回答是非常困难的:“这种方法有多有效?” 好吧,这取决于...与什么相比?您会建议哪种替代方法更有效或更有效?
丹尼斯·苏默斯

嗨@DennisSoemers。感谢您的提问。我已经更新了我的帖子。基本上,替代方法是获得一个输出-奖励。以及用于所有可能动作的附加N输入。主要方法是INPUT(状态)和OUTPUT(N个动作的N个奖励)。备选方案是I(状态+动作)和O(奖励)。
Serhiy

Answers:


1

因此,我们要比较的两个选项是:

  1. 输入=状态表示,输出=每个动作1个节点
  2. 输入=状态表示+动作的一键编码,输出= 1个节点

按照我自己的直觉,我怀疑这两个选项之间在表示能力或学习速度(迭代方面)方面是否存在显着差异。

对于表示能力,第一种选择是在输入附近提供一个“较小”的网络,在输出附近提供一个“较宽”的网络。例如,如果出于某种原因使更多的权重靠近输入节点是有益的,则可以通过使第一个隐藏层(靠近输入)也更大一点来实现。

至于学习速度,您似乎所担心的基本上是:对于其中一个输出,而不是其他输出,仅具有准确的学习信号。使用第二种方法,虽然对于连接到输入节点的权重可以说完全相同,所以我怀疑那里是否存在显着差异。

就像我提到的那样,尽管以上所有内容都是基于我的直觉,但如果能看到更多可信的参考文献,将会很有趣。

ññ

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.