【发布时间】:2019-06-11 17:39:36
【问题描述】:
我不知道为什么在 DQN 中需要目标网络?我正在阅读有关“通过深度强化学习实现人类水平控制”的论文
我了解 Q-learning。 Q-learning 是基于价值的强化学习算法,它学习状态-动作之间的“最佳”概率分布,这将在一系列时间步长上最大化其长期折扣奖励。
Q-learning 使用贝尔曼方程更新,单步 q-learning 更新由下式给出
Q(S, A) = Q(S, A) + $\alpha$[R_(t+1) + $\gamma$ (Q(s’,a;’) - Q(s,a)]
其中 alpha 和 gamma 是学习和折扣因子。 我可以理解强化学习算法会变得不稳定和发散。
使用经验回放缓冲区,以便我们不会忘记过去的经验,并对提供的数据集进行去相关性以了解概率分布。
这是我失败的地方。
- 让我把论文中的段落分开讨论
- $Q$ 的小幅更新可能会显着改变策略并因此改变数据分布这一事实 - 了解这部分。定期对 Q-network 进行更改可能会导致不稳定和分布变化。例如,如果我们总是左转或类似的事情。
- 以及动作值 (Q) 和目标值之间的相关性
r + $gamma$ (argmax(Q(s’,a’))— 这表示奖励 + gamma * 我对回报的预测,因为我采取了我认为在当前状态下最好的动作并从那时起遵守我的政策。 - 我们使用了迭代更新,将动作值 (Q) 调整为仅定期更新的目标值,从而减少与目标的相关性。
那么,总而言之,需要一个目标网络,因为网络在每个时间步都在不断变化,并且“目标值”在每个时间步都在更新?
但我不明白它是如何解决的?
【问题讨论】:
-
一件事是更新在我看来像 SARSA。您似乎正在使用您采取的实际下一步行动a',而不是下一步行动的最大值。至少我没有看到方程式中的最大值。
标签: deep-learning artificial-intelligence