深度强化学习中的DQN系列算法
来源:互联网 发布:电脑网络不通怎么检查 编辑:程序博客网 时间:2024/05/18 00:53
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)
- 深度强化学习中的DQN系列算法
- 深度强化学习 ( DQN ) 初探
- 深度强化学习 ( DQN ) 初探
- 深度强化学习中的NAF算法-连续控制(对DQN的改进)
- 强化学习系列<4>DQN
- 深度强化学习初窥之DQN
- 深度强化学习——DQN
- 深度强化学习(DQN)实现CartPole
- 深度强化学习——DQN
- 强化学习系列:Deep Q Network (DQN)
- 论文结果难复现?本文教你完美实现深度强化学习算法DQN
- 论文结果难复现?本文教你完美实现深度强化学习算法DQN
- 强化学习之DQN
- 【DQN】解析 DeepMind 深度强化学习 (Deep Reinforcement Learning) 技术
- 详解Nervana最新开源深度强化学习库Coach,支持DQN、DDQN等十多种算法|附开源代码
- 重磅 | 详解深度强化学习,搭建DQN详细指南(附论文)
- 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction
- 深度增强学习前沿算法思想【DQN、A3C、UNREAL,简介】
- 日语语法(九):日语的构词法
- Android避免内存溢出(Out of Memory)方法总结
- 让你的网站支持Https——基于免费的Let's Encrypt证书
- 152. Maximum Product Subarray dynamic programming
- java:String使用equals和==比较的区别
- 深度强化学习中的DQN系列算法
- JSP&Servlet6(二) --- JSP标准标签
- gflags学习
- hdu 2196 Computer(树dp)
- 1007. 小黄车
- 拦截器
- Bash Scripts ---part1
- 多线程并发执行任务,取结果归集。终极总结:Future、FutureTask、CompletionService、CompletableFuture
- Swing 中如何获取JTestField中的内容 并且 点击按钮输出