深度Q学习神经网络(DQN)

DeepMind技术的研究人员开发了一种称为Deep Q学习网络(DQN) 的方法,该方法受益于深度学习在学习最优策略的抽象表示方面的优势,即以最大化累积奖励总和的期望值的方式选择行动。它是前一个工作的延伸神经拟合Q学习(NFQ) 。DQN将深度卷积神经网络与最简单的强化学习方法(Q-learning)相结合。
相比于Q-Learning,DQN做的改进:一个是使用了卷积神经网络来逼近行为值函数,一个是使用了target Q network来更新target,还有一个是使用了经验回放Experience replay。
由于在强化学习中,我们得到的观测数据是有序的,step by step的,用这样的数据去更新神经网络的参数会有问题。回忆在有监督学习中,数据之间都是独立的。因此DQN中使用经验回放,即用一个Memory来存储经历过的数据,每次更新参数的时候从Memory中抽取一部分的数据来用于更新,以此来打破数据间的关联。

将单纯的Q-learing算法等无模型强化学习算法与神经网络相结合,会产生一些稳定性问题,并使之产生分歧。这些问题有两个主要原因,例如(1)RL任务中的后续状态非常相关,(2)策略经常变化,这是因为Q值略有变化。DQN为处理这些问题提供了一些解决方案。对于相关状态问题,它利用了Reinforcement learning for robots using neural networks中介绍的方法,命名为经验重放。在学习过程中,DQN代理的经验 st;at;rt;rt+1 在每个时间步长进入日期集合D,其中st、at 和 rt 分别表示在时间步长 t 时的状态、所选动作和收到的奖励,st+1表示下一个时间步长的状态。为了更新Q值,它使用随机小批量更新,在训练时从经验重放存储器(先前的转换)中均匀随机采样。该工作打破了连续样本之间的强相关性,并且对于策略的不稳定性,通过固定用于Q-learning目标的权重参数并定期更新它们,用目标Q网络训练网络以获得一致的Q-learning目标。

DQN的算法流程:
深度Q学习神经网络(DQN)_第1张图片

你可能感兴趣的:(神经网络,深度学习)