Neural network 为什么要从DQN的重播中随机抽取样本?

Neural network 为什么要从DQN的重播中随机抽取样本?,neural-network,deep-learning,reinforcement-learning,q-learning,Neural Network,Deep Learning,Reinforcement Learning,Q Learning,我试图对深度强化学习有一个直观的理解。在深度Q网络(DQN)中,我们将所有动作/环境/奖励存储在一个记忆阵列中,并在情节结束时通过我们的神经网络“重播”它们。这是有意义的,因为我们正试图建立我们的奖励矩阵,看看我们的插曲是否以奖励结束,通过我们的矩阵将其缩小 我认为导致奖赏状态的行动序列是重要的捕获-这一系列的行动(而不是独立的行动)是导致我们获得奖赏状态的原因 在和许多教程中,我们看到了从内存数组中随机采样和训练的实践。因此,如果我们有以下记忆: (行动a,状态1)-->(行动b,状态2)--

我试图对深度强化学习有一个直观的理解。在深度Q网络(DQN)中,我们将所有动作/环境/奖励存储在一个记忆阵列中,并在情节结束时通过我们的神经网络“重播”它们。这是有意义的,因为我们正试图建立我们的奖励矩阵,看看我们的插曲是否以奖励结束,通过我们的矩阵将其缩小

我认为导致奖赏状态的行动序列是重要的捕获-这一系列的行动(而不是独立的行动)是导致我们获得奖赏状态的原因

在和许多教程中,我们看到了从内存数组中随机采样和训练的实践。因此,如果我们有以下记忆:

(行动a,状态1)-->(行动b,状态2)-->(行动c,状态3)-->(行动d,状态4)-->奖励

我们可以培训一小批:

[(行动c状态3),(行动b状态2),奖励!]

理由是:

第二,由于强相关性,直接从连续样本学习效率低下 样本之间;随机化样本会破坏这些相关性,因此会降低风险 更新的差异

或由此:

通过随机抽样,建立批次的转换是不相关的。结果表明,这大大稳定和改进了DQN训练过程

我的直觉告诉我,在强化学习中,顺序是最重要的。大多数情节都有延迟奖励,因此大多数动作/状态都没有奖励(并且没有“强化”)。将一部分奖励带到这些先前状态的唯一方法是在整个序列中追溯性地分解奖励(通过奖励+奖励*学习率(未来奖励)的Q算法中的未来奖励)

内存库的随机抽样破坏了我们的序列,当你试图重新填充Q(奖励)矩阵时,这有什么帮助

也许这更类似于马尔可夫模型,在马尔可夫模型中,每个状态都应该被认为是独立的?我直觉的错误在哪里

谢谢大家!

“在强化学习中,顺序是最重要的。” 否:根据马尔可夫属性,给定当前状态,您可以“忽略”所有过去的状态,并且仍然能够学习

您缺少的一点是元组不仅仅是
(状态,动作)
,而是
(状态,动作,下一个状态)
。例如,在DQN中,当更新Q网络时,计算TD错误,并且这样做时,考虑下一个状态的Q值。这允许您仍然通过Q值“反向传播”延迟奖励,即使样本是随机的。
(如果奖励因其稀疏性而延迟太久,仍然会出现问题,但理论上你无论如何都可以学习)。

在强化学习中,顺序是最重要的 否:根据马尔可夫属性,给定当前状态,您可以“忽略”所有过去的状态,并且仍然能够学习

您缺少的一点是元组不仅仅是
(状态,动作)
,而是
(状态,动作,下一个状态)
。例如,在DQN中,当更新Q网络时,计算TD错误,并且这样做时,考虑下一个状态的Q值。这允许您仍然通过Q值“反向传播”延迟奖励,即使样本是随机的。

(如果奖励因其稀疏性而延迟太久,问题仍然会出现,但理论上你无论如何都可以学习)。

我投票结束这个问题,因为它是离题的。您可以在或上提出这些问题。该问题不应关闭,而应迁移。另外,请注意:CV和DS的填充量通常要少得多。这里比那里有更多的RL爱好者,所以通常很难在那里得到答复。我投票结束这个问题,因为它是离题的。您可以在或上提出这些问题。该问题不应关闭,而应迁移。另外,请注意:CV和DS的填充量通常要少得多。这里的RL爱好者比那里多,所以通常很难在那里得到回复。