Dueling Network Architectures for Deep Reinforcement Learning: DuelingDQN

论文地址

DuelingDQN

基本思路就是
\(Q(s,a)\)的值既和state有关,又和action有关。但是两种"有关"的程度不一样,或者说影响力不一样。
对于\(Q(s,a)\) 我们希望它能反应出两个方面的差异。

  • 对于当前状态s,能够很好的区分不同action的影响
  • 对于不同状态s,能够很好的区分不同state的影响

\(Q(s,a;\theta,\alpha, \beta) = V(s;\theta,\beta) + A(s,a;\theta,\alpha)\)

但是只使用上面的公式,神经网络可能会达不到我们想要的结果,我们不能直接接触到\(V,A\),只是得到的他们的和(结果很可能就跟DQN是一样的)。但是我们希望A能够体现动作对value 的影响 ,V 能够体现状态对value的影响。
所以将公式改为下面这样。这样\(Q(s,a_*)=V(s)\),这样V就真的反应了状态值,A就是体现不同action 的advantage
\(Q(s,a;\theta,\alpha, \beta) = V(s;\theta,\beta) + (A(s,a;\theta,\alpha)-\underset{a'\in |A|}{max}A(s,a';\theta,\alpha))\)

另一种方式如下,这种方式,V不能体现state value 但是只是一个小小的偏移,论文中说这样的实现更加稳定,效果基本相同。

\(Q(s,a;\theta,\alpha, \beta) = V(s;\theta,\beta) + (A(s,a;\theta,\alpha)-\frac{1}{|A|}\sum_{a'\in |A|}A(s,a';\theta,\alpha))\)

猜你喜欢

转载自www.cnblogs.com/Lzqayx/p/12127043.html