传统的DQN算法会导致overestimate。因为在训练开始时,最大的Q值并不一定是最好的行为。 也就是说较差的行为Q值相对较大,较好的行为Q值相对较小。这时我们在更新Q值时用最大期望来计算我们作为标签的Q值期望,会进一步导致上一个状态的Q值虚高。当然因为有explorating, 所以最后还是会收敛到最优解的, 但是在环境比较复杂时,学习速度会变得很慢。我们来看看这个问题的本质原因,比如说 Q(S1,a1) 虚高,那就会导致 Q(S2,a21)虚高,从而连锁导致 Q(S3,a32)虚高。也就是说一个Q(S1,a1)的虚高会导致agent更倾向于走整个S 3-2-1的状态。如果我们用两个不同的网络分别来采取行动和更新Q值可以解决这个问题,这两个网络中一个是freeze的,为target网络,另一个是不断更新的DQN,在限定的步数之后会同步整个网络。如果我们一直按照target网络来更新DQN,会有overestimate,因为每次的目标都是根据target网络中期望值最高的行为来更新的。更好的做法是,用DQN来选择行动,也就是说选择一个在DQN中期望值最高的行为(在target中显然这个行为不一定是期望最高的),用target网络计算这个Q值并得出DQN的标签。

为了解状态本身的好坏与行为带来的好坏,将Q值分为状态量V(s)与行为量A(s,a)。其中V(s)应为所有Q(s,a)的均值,这样我们就能得出Q(s,a1) = V(s) + A(s,a1) - ave(A(s,a))...

记reinforcement learning double DQNS的更多相关文章

  1. 论文笔记之:Deep Reinforcement Learning with Double Q-learning

    Deep Reinforcement Learning with Double Q-learning Google DeepMind Abstract 主流的 Q-learning 算法过高的估计在特 ...

  2. (zhuan) Deep Reinforcement Learning Papers

    Deep Reinforcement Learning Papers A list of recent papers regarding deep reinforcement learning. Th ...

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

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

  4. Awesome Reinforcement Learning

    Awesome Reinforcement Learning A curated list of resources dedicated to reinforcement learning. We h ...

  5. 论文笔记之:Playing Atari with Deep Reinforcement Learning

    Playing Atari with Deep Reinforcement Learning <Computer Science>, 2013 Abstract: 本文提出了一种深度学习方 ...

  6. Reinforcement Learning: An Introduction读书笔记(3)--finite MDPs

     > 目  录 <  Agent–Environment Interface Goals and Rewards Returns and Episodes Policies and Val ...

  7. 论文笔记系列-Neural Architecture Search With Reinforcement Learning

    摘要 神经网络在多个领域都取得了不错的成绩,但是神经网络的合理设计却是比较困难的.在本篇论文中,作者使用 递归网络去省城神经网络的模型描述,并且使用 增强学习训练RNN,以使得生成得到的模型在验证集上 ...

  8. 18 Issues in Current Deep Reinforcement Learning from ZhiHu

    深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...

  9. [转]Introduction to Learning to Trade with Reinforcement Learning

    Introduction to Learning to Trade with Reinforcement Learning http://www.wildml.com/2018/02/introduc ...

随机推荐

  1. vue部署的路径问题

    本人在开始学习vue的过程中,虽然比较容易上手,还是碰到了很多坑,比如我今天要说的VUE的部署问题.我在部署vue的过程中发现自己在开发环境中,页面什么都可以跑起来,但是npm dev build后发 ...

  2. 在java程序代码中打开文件

    class     TEST {      public  static  void  main(String[]  args){        System.out.println("He ...

  3. TFLite基础知识

    此基础知识仅为个人学习记录,如有错误或遗漏之处,还请各位同行给个提示. 概述 TFLite主要含有如下内容: (1)TFLite提供一系列针对移动平台的核心算子,包括量化和浮点运算.另外,TFLite ...

  4. Kafka 1.0.0集群增加节点

    原有环境 主机名 IP 地址 安装路径 系统 sht-sgmhadoopdn-01 172.16.101.58 /opt/kafka_2.12-1.0.0 /opt/kafka(软连接) CentOS ...

  5. 记录Datagrid使用的一些事项

    1.将两个列的文本拼接到一起并显示,如列1为name,列2为code,需要显示name(code).如:小明(123) 则初始化datagrid时在columns[]里加入:列1添加formatter ...

  6. QT:QHash的使用

    QHash<QPointF, QVector<float>> data; 此时会报错说没有声明QPointF的Key类型 需要我们手动实现一个函数 static uint qH ...

  7. day 02 python 基础

    1.day1作业讲解 题目答案见day1 2.格式化输出 %占位符,s:字符串,d:数字 %%只是单纯的显示%(显示的%是后面的) #格式化输出 # % s d # name = input('请输入 ...

  8. popstate事件在低版本webkit中的调用

    popstate是H5的history系列中的事件,但是在低版本的webkit中会自动触发.H5中的history api是不会使页面发生跳转的,只是操作地址栏和响应的state属性而已,而且是手动操 ...

  9. 穿透dom触发事件

    const elems = document.elementsFromPoint(e.pageX, e.pageY); const instance = elems.filter(elem => ...

  10. GDAL——命令使用专题——gdalsrsinfo命令

    GDAL——命令使用专题——gdalsrsinfo命令  前言 GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库. ...