深度强化学习-基于价值学习的高级技巧-对决网络(五-2)
对决网络实属比较复杂和难以理解,我在博客末尾加上一点自己的总结与理解,虽然可能不太严谨,但绝对通俗易懂,大家一看就会!如有问题欢迎留言,本人几乎全天在线。
目录
公式:
网络:
maxA的作用:
再理解:
对决网络(Dueling Network):
公式:
我们之前是对算法进行改进,现在试着对网络进行改进。
,评价状态的好坏;评价在状态s下,做动作a的好坏。
优势函数(advantage function)(s,a)=最优动作价值函数((s,a))-最优状态价值函数((s))
优势函数的含义是动作a相对于的优势,动作越好,优势越大。
有一个定理在这直接用了: (s)= (s,a),因此对上面优势函数两边都对a取最大值,可以得到(s,a)=0.
在神经网络中:由Q(s;a;w)近似得到。由A(s;a;wA)近似得到,神经网络的结构和DQN一样。再来一个神经网络近似最优价值函数,即V(s;wV)。但注意,V输出的不是一个向量,而是一个实数,是根据神经网络对状态s的打分。
最终Dueling Network推导出来如下:
网络:
Dueling Network和DQN具有相同的作用,表示也相同,同样是对最优动作价值函数的近似,因此可以用来控制agent。
输入是状态s,用卷积层得到特征向量,神经网络V和A共享卷积层的参数,用全连接层对特征向量做变换,针对A,由全连接层1得到对每个动作打的分数,动作空间大小为x,得到的向量就为x*1的向量。针对V,由全连接层2得到一个实数,这个实数就是状态价值,表示当前状态的好坏。接着用这个实数与A得到的向量的每个元素分别相加,再减去所有元素中最大的元素,得到一个x*1的向量,该向量就是最终输出。过程实际上是与公式相照应的。
由此可以看出Dueling Network和DQN具有相同的输入与输出,区别就是神经网络结构不同。对于参数的训练与DQN一样,等于说Dueling Network知识修改了神经网络的架构,并不影响TD算法的使用。
maxA的作用:
也许大家会有疑问,为什么 (s,a)=0,还要加上这一项呢?是因为如果没有这一项,当Q唯一确定时,V和A不能保证唯一确定。即如果V和A向反方向波动且幅度一样,会导致Q不变。但是在神经网络中,如果V,A存在波动,则表明这两个神经网络都训练不好。然而加上最大化就可以解决这个问题。
再理解:
下面是我的个人理解与总结(为了方便我直接简单用字母代替函数):
先上一张图(图1)
对决网络给的定义就是A=Q-V。既然书中已经给了定义,我们就试着去理解它,我们之前讲过,V是Q的期望,在图中我们也可以看出来V就等于Q每一个值乘以概率求和。V可以看作是对当前状态好坏的评估,我个人觉得也可以近似看作是动作价值的平均值,而Q-V就是可以理解为Q对于这个平均值的优略。
上面介绍过的对决网络,我把它画了出来。图2
A=Q-V的,大家看A这个矩阵,实际上就是Q与平均期望的差值,根据图1,我们可以把A矩阵写作[-49,-19,31]的转置。最终我们计算的是Q=A+V-maxA。再加上这个平均值V,减去maxA就得到结果。
这样的好处是什么呢?在我看来可以把对决网络看作一个全新的网络,它在计算的时候高估问题几乎没有(应该是的),最后加上V,减去maxA使得A均匀增大或减少,不会使元素间大小的相对值发生改变,这样就不会产生错误的选择。再反观Q学习,是存在高估不均匀现象的,这样就容易产生错误的决策。
深度强化学习-基于价值学习的高级技巧-对决网络(五-2)相关推荐
- 深度强化学习-基于价值学习的高级技巧(五-1)
之前讲了TD算法和DQN,但实际上原始的DQN效果并不是很理想,因此本节主要讲解一些TD算法或者DQN的改进策略.包括经验回放, 高估问题(目标网络target network,double Q-le ...
- 深度强化学习-基于价值的强化学习-TD算法和Q学习(三)
本文主要介绍TD算法和Q学习算法 目录 TD算法: Q学习算法: 同策略,异策略: TD算法: 即时间差分 (Temporal Difference):此处用举例子方法来帮助大家理解 1.假设我从天津 ...
- 《强化学习周刊》第33期:UdeM | 基于不确定性估计的样本高效深度强化学习
No.33 智源社区 强化学习组 强 化 学 习 研究 观点 资源 活动 关于周刊 强化学习作为人工智能领域研究热点之一,其研究进展与成果也引发了众多关注.为帮助研究与工程人员了解该领域的相关进展和 ...
- 【ML4CO论文精读】基于深度强化学习的组合优化问题研究进展(李凯文, 2020)
基于深度强化学习的组合优化研究进展 本人研究方向(博士期间):多目标组合优化与决策研究--致力于多约束多目标多任务组合优化算法和多目标决策系统的研究与开发,以及多目标优化技术在一些工程实践中的应用. ...
- 【强化学习-医疗】用于临床决策支持的深度强化学习:简要综述
Article 作者:Siqi Liu, Kee Yuan Ngiam, Mengling Feng 文献题目:用于临床决策支持的深度强化学习:简要综述 文献时间:2019 文献链接:https:// ...
- 深度强化学习的芯片布局
摘要 在这项工作中,我们提出了一种基于学习的芯片放置方法,这是芯片设计过程中最复杂和最耗时的阶段之一. 与以前的方法不同,我们的方法能够从过去的经验中学习并随着时间的推移而改进. 特别是,当我们训练更 ...
- 第二十七课.深度强化学习(二)
目录 概述 价值学习 Deep Q Network DQN的训练:TD算法(Temporal Difference Learning) 策略学习 Policy Network 策略网络训练:Polic ...
- Attention-FH 通过深度强化学习的注意感知面孔幻觉 (读书笔记)
Attention-Aware Face Hallucination via Deep Reinforcement Learning 2017 CVPR Attention-FH:通过深度强化学习的 ...
- 百面深度学习:基于度量学习的元学习模型
文章目录 Q1 元学习中非参数方法相比于参数方法的优点? Q2 如何用度量学习和注意力机制来改造基于最邻近的元学习方法? 更多基础知识可以查看前文内容 <百面深度学习>之元学习 基于度量学 ...
最新文章
- 使用vue.js路由踩到的一个坑Unknown custom element
- 控制 Redis stream 的消息数量
- center os php,Center OS 7 Apache安装配置
- python flink_如何在 Apache Flink 中使用 Python API?
- Hive安装部署及简单测试 网页《一》
- C# 引用访问权限,很多老手都不懂
- toStringequals方法
- JLU数据结构第二次上机实验解题报告
- Chrome浏览器中比较实用的一些插件(文字复制、广告拦截、视频倍速、文献下载)
- 阿铭Linux_网站维护学习笔记201903015
- 1005 Spell It Right (20)
- 烤氏历史第4集:TD往事-商用分水岭
- 2017年爱奇艺校招Java研发笔试编程题(2个)
- Spring MVC 地址请求映射
- 泛型是什么,为什么要用泛型
- 快速对齐word目录页码
- PostgreSQL 源码解读(203)- 查询#116(类型转换实现)
- 使用matlab的MAT.H(c读取mat文件)
- Qt 之 ActiveX控件跑官方例程记录
- Docker入门指南