【强化学习】Deep Reinforcement Learning with Double Q-learning(2015)

Deep Reinforcement Learning with Double Q-learning(2015)

传统的q learning被认为会过高估计action value,因为它包括了一个maximization step,这样就倾向于过高的估计价值的大小。之前的工作中,高估被归因为function approximation有限(?)。本文统一了这些观点,提出当action value不正确时,高估就会出现,这是误差出现的源头。

无论是标准的Q-learning还是DQN,都是用相同的value来选择和评估一个行为,这样就会 导致对value的过高估计。因此可以分离选择和评估,这个方法是来自于Double Q-learning(van Hasselt, 2010).

在原始的Double Q-learning算法中,两个value functions通过随机分配experience来更新2个value function中的一个。有2个权重,一个用来决定greedy policy,另一个用来决定它的value。下面是将选择和评估拆解开的公式,
在这里插入图片描述
因此Double Q-learning 误差可以被写成:
在这里插入图片描述

Overoptimism due to estimation errors
这个章节暂时看不懂。。

Double DQN

DQN的target网络没有引入额外的网络,而是提供了一个natural candidate对于第二价值函数。本文的想法是通过在线网络去评估greedy policy,使用target网络去评估value。受double q-learning和DQN的启发,提出了Double DQN。
在这里插入图片描述
和Double Q-learning相比,第二个网络的权重被目标网络替代为了评估当前的greedy policy。目标网络的更新与DQN相同,依旧是在线网络的周期性复制。

DDQN
【强化学习】Deep Reinforcement Learning with Double Q-learning(2015)_第1张图片
DQN
【强化学习】Deep Reinforcement Learning with Double Q-learning(2015)_第2张图片
从代码可以看出来
DQN其实使用target网络选择出action,然后这个action对应到target网络上的Q值进行更新
DDQN则是通过当前online网络选择出max-action,之后更新这个action对应到target网络上的Q值。

看完了还是有一些疑惑,DDQN能解决由于max产生的过高估计的问题吗?这两个网络的参数其实还是有相似的啊,所以并不能说shi两个不同网络,或者说ddqn的目的并不是减少相关性,而仅仅是为了解决最大化问题??

Deep Q-learning中Q_B是由一系列不同的experience samples更新得到的。It is important that both Q functions learn from separate sets of experiences, but to select an action to perform one can use both value functions.

你可能感兴趣的:(【强化学习】Deep Reinforcement Learning with Double Q-learning(2015))