深度强化学习中的DQN系列算法
2017-06-20 11:11
591 查看
DQN是考虑到维度灾难,在q-learning算法的价值函数近似Value Function Approximation基础上修改的。
主要是对Q(s,a,w)进行修改,s可能是非常大的,比如输入一个图像,a可能是很小的,比如玩游戏时候几个操作键。
这种情况下引入神经网络,可以把Q(s,a,w)变成a = Q(s,w),输出的是a大小的向量,每个元素表示每个动作a下的Q(s,a)值。
下面要训练这个神经网络,它的target值就是Rt+1 + Q(s_,a_,w)。
回想神经网络训练的时候,是样本是独立,可以打乱顺序,可以批量学习。但是DQN这里的target是按顺序出现的,每走一步出现一个,而且他们之间是有关联的(这里有关联会造成怎样的影响还没理解),为了打消这种关联,使得更像普通的神经网络训练过程,需要把多个样本先储存起来,从中抽样进行训练。
DQN的几个改进版本:
nature DQN(因为2013年发表在nature上得名):
增加了target Q网络。本来target 值也是用 Q(s,w)计算的,现在独立出来了,用 Q(s,w_)计算,这样增加了独立性。但是w_从何而来呢,其本身就是target了,并没有什么loss函数来优化它,答案是copy w值,但是推迟n步,就是每次学习的时候使用n步之前w作为w_。
Double DQN:
以nature DQN为基础
修正了每次都使用max a 造成的误差(Q(S,a,W)是对真是Q的近似,存在误差,每次选择了最大的Q值,也就选择了最大的误差)。
方法是:
每次计算target Q的时候需要选择 max a ,nature DQN 是根据Q(s,w_)来计算是, Double DQN是根据Q(s,w)来计算的。
Prioritised Replay:
以nature DQN为基础
从储存的样本中进行抽样的时候不是随机抽样,而是有先后顺序的。target Q 和 要更新的Q差值越大,说明梯度越大,就先更新
Dueling Network:
将Q网络分成两个通道,一个输出V,一个输出A,最后再合起来得到Q。
Q(s,a) = V(s,v) + A(s,a,w)
主要是对Q(s,a,w)进行修改,s可能是非常大的,比如输入一个图像,a可能是很小的,比如玩游戏时候几个操作键。
这种情况下引入神经网络,可以把Q(s,a,w)变成a = Q(s,w),输出的是a大小的向量,每个元素表示每个动作a下的Q(s,a)值。
下面要训练这个神经网络,它的target值就是Rt+1 + Q(s_,a_,w)。
回想神经网络训练的时候,是样本是独立,可以打乱顺序,可以批量学习。但是DQN这里的target是按顺序出现的,每走一步出现一个,而且他们之间是有关联的(这里有关联会造成怎样的影响还没理解),为了打消这种关联,使得更像普通的神经网络训练过程,需要把多个样本先储存起来,从中抽样进行训练。
DQN的几个改进版本:
nature DQN(因为2013年发表在nature上得名):
增加了target Q网络。本来target 值也是用 Q(s,w)计算的,现在独立出来了,用 Q(s,w_)计算,这样增加了独立性。但是w_从何而来呢,其本身就是target了,并没有什么loss函数来优化它,答案是copy w值,但是推迟n步,就是每次学习的时候使用n步之前w作为w_。
Double DQN:
以nature DQN为基础
修正了每次都使用max a 造成的误差(Q(S,a,W)是对真是Q的近似,存在误差,每次选择了最大的Q值,也就选择了最大的误差)。
方法是:
每次计算target Q的时候需要选择 max a ,nature DQN 是根据Q(s,w_)来计算是, Double DQN是根据Q(s,w)来计算的。
Prioritised Replay:
以nature DQN为基础
从储存的样本中进行抽样的时候不是随机抽样,而是有先后顺序的。target Q 和 要更新的Q差值越大,说明梯度越大,就先更新
Dueling Network:
将Q网络分成两个通道,一个输出V,一个输出A,最后再合起来得到Q。
Q(s,a) = V(s,v) + A(s,a,w)
相关文章推荐
- 论文结果难复现?本文教你完美实现深度强化学习算法DQN
- 详解Nervana最新开源深度强化学习库Coach,支持DQN、DDQN等十多种算法|附开源代码
- 深度强化学习中的NAF算法-连续控制(对DQN的改进)
- 深度强化学习初窥之DQN
- 深度学习与人脸识别系列(1)__算法流程和教程大纲(基于caffe)
- 深度强化学习 ( DQN ) 初探
- 深度强化学习——DQN
- 深度强化学习系列(二):强化学习基础
- 七月算法深度学习 第三期 学习笔记-第九节 强化学习与Deep Q-Network
- 深度学习DeepLearning.ai系列课程学习总结:12. 优化算法实战
- 深度强化学习及其在自动驾驶中的应用: DRL&ADS系列之(1): 强化学习概述
- 【DQN】解析 DeepMind 深度强化学习 (Deep Reinforcement Learning) 技术
- 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction
- 深度学习基础系列(三)之用 sklearn 实现 KNN算法
- 深度学习DeepLearning.ai系列课程学习总结:11. 优化算法理论讲解
- 【深度学习介绍系列之二】——深度强化学习:卷积神经网络
- 重磅 | 详解深度强化学习,搭建DQN详细指南(附论文)
- 深度学习笔记之目标检测算法系列(包括RCNN、Fast RCNN、Faster RCNN和SSD)
- 一文读懂 深度强化学习算法 A3C (Actor-Critic Algorithm)
- 【备忘】深度学习实战决胜AI-强化学习实战系列视频课程