DQN发展历程(一)

DQN发展历程(二)

DQN发展历程(三)

DQN发展历程(四)

DQN发展历程(五)

值函数的近似

  • 当状态-动作数目太多时,使用表格存储所有的状态-动作会造成维度灾难,无法求解大规模问题。
  • 可以采用一个函数来近似这个这个表格,输入状态-动作,输出对应的状态值。
  • 可以使用神经网络来充当这个近似函数。

DQN

  • 使用来一个神经网络来作为近似函数求解状态值。
  • 每一步都更新这个神经网络,由于每步之间的输入数据是相关的,无法满足神经网络输入数据独立同分布的要求。
  • 由此,使用一个经验池来存储更新过的(S,A,R),隔一段时间随机从这个经验池中抽取一个batch的(S,A,R)来修正神经网络的权值,以打乱数据之间的相关性。

Nature DQN

  • 在此之前,训练时,计算状态值使用的是这个神经网络估计,而更新神经网络也使用同一个神经网络来估计状态值,容易造成过拟合,不利于算法的收敛。
  • 于是,使用两个神经网络,一个用于策略的选择,一个用于状态值的更新。用于策略选择的神经网络,隔一段时间和另一个神经网络同步一次。通过异步更新加速算法的收敛。

DDQN

  • 在DQN中,每次更新状态值都使用贪婪法选取最大的状态值来更新,每次都选择最大,容易造成过度估计。
  • DDQN在选择动作时分为两步,先在当前在选择动作的Q网络找到最大Q值对应的动作a,再把a代入计算Q值的网络中获得Q值。

Prioritized Replay DQN

  • DQN在经验池中随机选取batch更新神经网络,但是batch中每个(S,A,R)对神经网络的作用是不同的。通过对每个(S,A,R)做优先级排序,优先使用更新神经网络误差大的数据项,达到加速收敛的目的。

Dueling DQN

  • 而 Dueling DQN 则对Q值改进。由于某些情况下,采用不同的动作对状态对不大,所以把Q分解为两个部分:
  • 第一部分价值函数是仅仅与状态S有关,与具体要采用的动作A无关。
  • 第二部分优势函数同时与状态S和动作A有关
  • 通过最后再把两部分合并,通过解耦Q使得对不同的状态有更好的灵敏度。

参考

david siver 课程

https://home.cnblogs.com/u/pinard/

DQN(Deep Reiforcement Learning) 发展历程(五)的更多相关文章

  1. DQN(Deep Reiforcement Learning) 发展历程(三)

    目录 不基于模型(Model-free)的预测 蒙特卡罗方法 时序差分方法 多步的时序差分方法 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发展历程(四) DQN发展 ...

  2. DQN(Deep Reiforcement Learning) 发展历程(四)

    目录 不基于模型的控制 选取动作的方法 在策略上的学习(on-policy) 不在策略上的学习(off-policy) 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发 ...

  3. DQN(Deep Reiforcement Learning) 发展历程(二)

    目录 动态规划 使用条件 分类 求解方法 参考 DQN发展历程(一) DQN发展历程(二) DQN发展历程(三) DQN发展历程(四) DQN发展历程(五) 动态规划 动态规划给出了求解强化学习的一种 ...

  4. DQN(Deep Reiforcement Learning) 发展历程(一)

    目录 马尔可夫理论 马尔可夫性质 马尔可夫过程(MP) 马尔可夫奖励过程(MRP) 值函数(value function) MRP求解 马尔可夫决策过程(MDP) 效用函数 优化的值函数 贝尔曼等式 ...

  5. [DQN] What is Deep Reinforcement Learning

    已经成为DL中专门的一派,高大上的样子 Intro: MIT 6.S191 Lecture 6: Deep Reinforcement Learning Course: CS 294: Deep Re ...

  6. Deep Reinforcement Learning 基础知识(DQN方面)

    Introduction 深度增强学习Deep Reinforcement Learning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算 ...

  7. 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning

    欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术感兴趣的同学加入. 关于卷积神经网络CNN,网络和文献中 ...

  8. 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction

    转自https://zhuanlan.zhihu.com/p/25239682 过去的一段时间在深度强化学习领域投入了不少精力,工作中也在应用DRL解决业务问题.子曰:温故而知新,在进一步深入研究和应 ...

  9. 论文笔记之:Dueling Network Architectures for Deep Reinforcement Learning

    Dueling Network Architectures for Deep Reinforcement Learning ICML 2016 Best Paper 摘要:本文的贡献点主要是在 DQN ...

随机推荐

  1. python的深浅拷贝以及fromkeys的用法

    1.join()的用法:使用前面的字符串.对后面的列表进行拼接,拼接结果是一个字符串 # lst = ["alex","dsb",'wusir','xsb'] ...

  2. 【代码笔记】iOS-计算时间差

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ...

  3. OSGI企业应用开发(四)使用Blueprint整合Spring框架(一)

    上篇文章中介绍了如何使用独立的Equinox发行包搭建OSGI运行环境,而不是依赖与具体的Eclipse基础开发工具,本文开始介绍如何使用Blueprint將Spring框架整合到OSGI中. 一.开 ...

  4. Ubuntu16.10上安装NodeJS6.9.2

    1.下载 https://nodejs.org/en/download/ 2.解压 tar -xJf node-v6.9.2-linux-x64.tar.xz 3. 移到通用的软件安装目录 /opt/ ...

  5. JavaScript判断当前手机是Android还是iOS系统

    $(function () { var u = navigator.userAgent, app = navigator.appVersion; var isAndroid = u.indexOf(' ...

  6. (个人记录)Python2 与Python3的版本区别

    现在还有些开源模块还没有更新到python3 ,不了解版本区别,无法对不合适的地方进行更改. 由于只追求向Python3靠近,所以对于python2的特别用法不探究. 此文不补全所有版本区别,仅作档案 ...

  7. 数据库小组第N次小组会议

    时间:5.30晚,9:30 ~ 11:30 主题:讨论android app与服务器之间数据同步的技术选型与实现 与会人:陈兆庭,黄志鹏,吴雪晴 讨论内容: 大体分析 关于数据同步,整体上有两部分,用 ...

  8. aop 拦截含有特定注解的类

    1.功能点:使用aop拦截含有自定义注解的类 1.自定义注解 package com.zhuanche.common.dingdingsync; import java.lang.annotation ...

  9. 如何借助 HealthKit 打造一款健身应用?

    [编者按]本文作者为 Matthew Maher,文章手把手地介绍了如何借助 HealthKit 建立简单的健身应用,包含诸多代码实例.本文系国内 ITOM 管理平台 OneAPM 编译呈现. 根据新 ...

  10. linux下安装jdk安装及环境变量配置

    1.默认是在windows下载,linux下安装 2.在jdk官网下载相应版本的jdk,这次下载为 jdk-8u161-linux-x64.tar.gz 3.将下载好的文件上传到指定目录,我这次把它放 ...