决斗 DQN - 我们为什么要分解然后将它们组合回?

数据挖掘 强化学习
2022-02-26 04:21:12

在此处输入图像描述 如果我们将它们分解并将它们组合成一个 Q,任何人都可以帮助我,网络可以学到什么?在我看来,V 表示智能体遵循当前策略时的总奖励;Q 表示如果我们给出一个特定的动作,那么遵循当前策略的总奖励是多少;如果我们得到最优策略,V将等于Q;所以我们应该学习使A达到零;就像答案:决斗DQN - 无法理解它的机制

但是在那篇论文中,如果我们不能确定给定 Q 我们无法恢复 V 和 A 的唯一意义,我无法理解这是怎么回事。 在此处输入图像描述

最终会受到这样的打击:

在此处输入图像描述

还有这个: 在此处输入图像描述

参考这个博客:https ://medium.com/@awjuliani/simple-reinforcement-learning-with-tensorflow-part-4-deep-q-networks-and-beyond-8438a3e2b8df

1个回答

Dueling DQN 是避免网络过度乐观的好策略。否则它会导致实际的 DQN 并随着它的爆炸而变得乐观。因此,在某些游戏中,Q 值会随着时间的推移变得越来越大,有时它们再也回不来了。

https://arxiv.org/pdf/1509.06461.pdf

关于双 Q 学习的几句话

Q1^(st,at)=rt+γQ2(st+1,argmaxQ1(st+1,a))
Q2^(st,at)=rt+γQ1(st+1,argmaxQ1(st+1,a))

如果一个 Q 函数不足以做出准确的近似,Double Q-learning 建议学习两个网络并相互训练。因此,您实施 Q1 和 Q2 - 实际价值函数的两个独立估计。DQN 案例中的 Q1 和 Q2 是具有不同权重集的网络。

如果在第一个 Q 函数中采取最佳行动,那么在 Q1 中对选定行动的这种过度乐观与在 Q2 中同样的过度乐观之间不会有任何联系。事实上,同样的动作在 Q2 中,或多或少是独立的。它可能过于乐观或过于悲观,它可能正是真正的价值。

这里的想法是,Q2 中的噪声与 Q1 中的噪声无关。如果您以这种方式更新它们,那么您将考虑采样误差的最大化。

由于他们两个网络或多或少地去相关,他们有不同种类的噪音,那么过度乐观就消失了。

这种方法的缺点——分别训练两个网络会使收敛时间加倍。

但是,除了主 q 网络之外,可以作为 q 值的替代来源的 DQN 算法 - 我们将您网络的旧快照作为独立随机性的来源,作为另一个 Q 网络

Q^(st,at)=rt+γQold(st+1,argmaxQ(st+1,a))

另一个大问题是 DQN 的另一个大问题是它实际上试图逼近一组非常相关的值。而双Q-learning并不能轻易解决这个问题。

决斗DQN

Dueling DQN 也可以解决过度乐观的问题

Q(s,a)=V(s)A(s,a)

优势背后的直觉是你的行动价值与状态价值有多大不同。

例如,如果你有一个状态,你有两个动作,第一个给你带来 + 100 的回报,第二个是 + 1。在这种情况下,两个动作值都是正的,因为你得到了正的奖励。相反的优点是不同的。如果你采取这个次优动作,那么你会得到 (+1) 的动作值减去 (+100) 的状态值,即 -99。基本上,它告诉您在这种情况下您刚刚失去了 99 个潜在的奖励单位。

为了预测优势,我们必须限制它们。的情况下V,最大可能的优势值为零,因为您永远无法获得大于来自状态的所有可能动作值的最大值的动作值。

因此,您将两半一起训练,然后将它们相加以获得您的动作值。