在普通的Q-learning中,当状态和动作空间是离散且维数不高时可使用Q-Table储存每个状态动作对的Q值,而当状态和动作空间是高维连续时,Q-Table则不再适用。
通常做法是把Q-Table的更新问题变成一个函数拟合问题,相近的状态得到相近的输出动作。通过更新参数θ使Q函数逼近最优Q值:Q(s,a;θ)≈Q′(s,a)
而深度神经网络可以自动提取复杂特征,因此,面对高维且连续的状态使用深度神经网络最合适不过了。
我们称其为深度强化学习(Deep Reinforcement Learning,DRL)
DRL是将深度学习(DL)与强化学习(RL)结合,直接从高维原始数据学习控制策略。DL与RL的结合同时也存在一些问题,比如说:
1.DL通常是监督学习;而RL只有reward返回值,而且伴随着噪声,延迟,稀疏(很多State的reward是0)等情况
2.DL的样本独立;RL前后state状态相关
3.DL目标分布固定;RL的分布一直变化
针对这些问题,我们引入卷起神经网络(CNN)和Q-Learning的思路,CNN的输入是原始数据(作为状态State),输出则是每个动作Action对应的价值评估Value Function(Q值)。从而形成了一种新的算法——DQN(Deep Q-Learning)

DQN解决以上问题的方法:

1.通过Q-Learning使用reward来构造标签
2.通过experience replay(经验池)的方法来解决相关性及非静态分布问题
3.使用一个CNN(MainNet)产生当前Q值,使用另外一个CNN(Target)产生Target Q值

一.构造标签

DQN基于Q-Learning来确定Loss Function。

Q-Learning的更新公式:

而DQN的Loss Function为

其中 θ 是网络参数,目标为

显然Loss Function是基于Q-Learning更新公式的第二项确定的,两个公式意义相同,都是使当前的Q值逼近Target Q值。

二.经验池(experience replay)

经验池的功能主要是解决相关性及非静态分布问题。具体做法是把每个时间步agent与环境交互得到的转移样本 (st,at,rt,st+1) 储存到回放记忆单元,要训练时就随机拿出一些(minibatch)来训练。(其实就是将游戏的过程打成碎片存储,训练时随机抽取就避免了相关性问题)

三.目标网络

在Nature 2015版本的DQN中提出了这个改进,使用另一个网络(这里称为TargetNet)产生Target Q值。具体地,Q(s,a;θi) 表示当前网络MainNet的输出,用来评估当前状态动作对的值函数;Q(s,a;θi−) 表示TargetNet的输出,代入上面求 TargetQ 值的公式中得到目标Q值。根据上面的Loss Function更新MainNet的参数,每经过N轮迭代,将MainNet的参数复制给TargetNet。
引入TargetNet后,再一段时间里目标Q值使保持不变的,一定程度降低了当前Q值和目标Q值的相关性,提高了算法稳定性。

总结

DQN是第一个将深度学习模型与强化学习结合在一起从而成功地直接从高维的输入学习控制策略。它基于Q-Learning构造Loss Function,通过experience replay(经验池)解决相关性及非静态分布问题;使用TargetNet解决稳定性问题。

优点:
1.算法通用性,可玩不同游戏;
2.End-to-End 训练方式;
3.可生产大量样本供监督学习。
缺点:
1.无法应用于连续动作控制;
2.只能处理只需短时记忆问题,无法处理需长时记忆问题(后续研究提出了使用LSTM等改进方法);
3.CNN不一定收敛,需精良调参。

人工智障学习笔记——强化学习(5)DRL与DQN相关推荐

  1. 强化学习笔记-强化学习概述

    强化学习笔记-强化学习概述 机器学习分类 强化学习与监督学习的异同点 强化学习基本原理 强化学习解决的是什么样的问题 强化学习分类 请分别解释随机性策略和确定性策略 回报.值函数.行为值函数三个指标的 ...

  2. 人工智障学习笔记——强化学习(4)时间差分方法

    前两章我们学习了动态规划DP方法和蒙特卡洛MC方法,DP方法的特性是状态转移,状态值函数的估计是自举的(bootstrapping),即当前状态值函数的更新依赖于已知的其他状态值函数.MC方法的特性是 ...

  3. 人工智障学习笔记——强化学习(3)蒙特卡洛方法

    上一章我们了解了马尔可夫决策过程的动态规划方法,但是动态要求一个完全已知的环境模型,这在现实中是很难做到的.另外,当状态数量较大的时候,动态规划法的效率也将是一个问题.所以本章我们引用一种不需要完整的 ...

  4. 学习笔记|强化学习(Reinforcement Learning, RL)——让AlphaGo进化得比人类更强

    文章目录 1. 题外话:人类棋手的最后赞礼 2. 强化学习概述 2.1 强化学习的目标也是要找一个Function 2.2 强化学习的三个基本步骤 2.2.1 定义一个function 2.2.2 定 ...

  5. 【学习笔记】强化学习1——强化学习概述

    强化学习概述 机器学习主要分为监督学习.非监督学习.强化学习.强化学习的训练样本没有标记,根据训练样本学习迭代获得最优策略,强化学习需要与环境不断地交互学习. 强化学习的基本原理是智能体从环境中接收一 ...

  6. 人工智障 2 : 你看到的AI与智能无关

    2019独角兽企业重金招聘Python工程师标准>>> " Artificial-Intelligently Challenged " 前言 大家好,我又出来怼人 ...

  7. 赠书 | 人工智能变“人工智障”?关于因果关系的新科学

    文末有福利哦! 每当别人跟我提起"无人驾驶"汽车技术如何强大,又被大众赋予了怎样的期待,我都会想起HBO电视剧Silicon Valley<硅谷>中的一个情节: 硅谷大 ...

  8. 喂,315吗?我花299元买到一只人工智障!

    2017年,AlphaGO刷爆朋友圈:碳基围棋天才柯洁居然输给了硅基计算机.这让"人工智能"迅速走红,进入公众视野. 人工智能为何这么强?2019年,距离充满人工智能设备的未来还有 ...

  9. “人工智障”,我们还能忍你多久?

    "每年我们都能看到媒体上人工智能失败案例的报道,背后是否反思了为什么会发生这些啼笑皆非的事儿?本文盘点了人工智能的失败事件,与大众与专家看待人工智能的态度,试图找到所谓"人工智障& ...

最新文章

  1. php api数据,php API查询数据
  2. Ganglia:分布式监控系统
  3. php变量什么情况下加大括号{}
  4. arduinopn532模块_树莓派使用libnfc驱动ITEAD NFC PN532模块
  5. 谨防代理木马和怕米释放有毒程序
  6. 2008安装完了找不到_【专业性】关于铸铝热水锅炉安装使用的思考
  7. CCNA笔记之第十四节:RIP协议(1)
  8. 张一鸣退一步,换字节跳动的“海阔天空”
  9. ax3000 梅林_用梅林午餐肉十分钟就能做出来的美食,超级美味又健康,午餐肉还是要选择中粮!...
  10. [python]python 动态调用模块类方法
  11. [笔记分享] [Camera] msm8926 camera hal 流程小结
  12. 郭天祥的10天学会51单片机_第四节
  13. CodeForces 372 A. Counting Kangaroos is Fun
  14. 服务条目与采购订单、采购申请、工单、项目及WBS的关系
  15. echarts柱状图改变标签的位置及柱状图颜色
  16. 实战iOS应用从32位升级到64位
  17. Firefox启动自带翻译
  18. 服务器 硬件防火墙,了解服务器软硬件防火墙
  19. redis如何查看版本号?
  20. 性别平等进展倒退136年!疫情引发女性经济衰退;阿斯利康与丹纳赫雷度米特、路胜达成合作 | 美通社头条...

热门文章

  1. word break II 对字符串根据已知字典 分解出所有可能组合
  2. 29 MM配置-采购-采购申请-采购申请审批策略-编辑特性
  3. 9.1 LSMW程序创建操作手册 第1 2步
  4. oracle查询字段嵌套子查询,Oracle通过嵌套子查询连接
  5. vue子组件赋值props_vue 父子传值props赋值失效问题
  6. 浅谈Opencl之OpenCL_flush 和 finish区别
  7. 深度学习训练时GPU利用率忽高忽低如何解决?
  8. IDEA的debug查看某一变量或字段的具体值
  9. jQuery.Autocomplete 自动完成
  10. 百度云域名解析如何添加? - [未完待续]