笔记——“Human-level control through deep reinforcement learning”
来源:互联网 发布:手机网络不卡玩游戏卡 编辑:程序博客网 时间:2024/05/17 22:02
最近读了nature2015年的文章“Human-level control through deep reinforcement learning”,这是做的一点笔记,备忘而已。
通过深度强化学习实现人类水平的控制
Agents面对一个很难的任务:他们必须从高维度的感知输入中提取出环境的高效描述。而人和动物处理这个问题却是通过强化学习和有层次的感觉处理系统的结合。过去的强化学习只能用在有用特征可以被人为制作的场合,或者是用在全部可观测、低维的状态空间下。本文提出了一种deep Q-network,他可以直接从高维感知输入中学习成功的策略,通过使用端对端强化学习。而且在Atari游戏中经过了验证,只输入原始像素和游戏的得分,该算法的效果好过之前所有的算法,并且达到了人类专业玩家的水平。
DQN是将强化学习和深度神经网络结合起来,深度神经网络具有从裸数据中提取特征的能力。
我们使用深度卷积神经网络来近似最优动作-状态函数。但是,使用非线性函数近似器比如神经网络来近似动作-值函数时,强化学习会不稳定甚至出现偏差。这种不稳定有几个原因:观察值之间具有相关性,Q值的微小变动会很大地改变策略,从而改变数据分布,改变动作值(Q)与目标值
我们使用深度卷积神经网络来近似值函数
其中,
借用Atari游戏平台(49种游戏)来验证我们的算法。我们使用相同的网络结构,相同的超参数值,和相同的学习程序,(输入高维数据
方法
预处理:
由于该算法是直接处理Atari游戏的裸数据,一帧是
模型结构:
我们使用的结构是,输入状态,输出该状态下每个动作的Q值。
结构图如图1所示。其中神经网络的输入是由预处理之后的结果—
训练细节:
在Atari游戏中检验DQN算法时,网络结构、学习算法和超参数的设定都没有变,唯一变得是reward,并且将reward值修剪在-1~1之间。
在这个实验中,我们使用了RMSProp算法,最小的学习步数是32,策略是ε-greedy算法,在前一百万帧数据中,ε从1线性下降到0.1,之后保持固定不变。我们一共训练了大约5千万帧数据,记忆库的容量是一百万帧。
本实验借用了之前训练Atari算法时的技巧,使用了跳帧技巧,即不是每一帧都看、选择动作、学习,而是跳过几帧,在这跳过的几帧中选取的动作跟这几帧之前的动作相同。
DQN算法中所采用的超参数的数值见extended data table1。
评价程序:
策略为ε-greedy,其中ε=0.05,用训练好的DQN参数来进行测试,玩每个游戏30遍,每遍最长5分钟,每次的初始状态都是随机取。评价的目的是为了减少过拟合的程度。
*待做:
1、该文章的代码需要验证。*
- 笔记——“Human-level control through deep reinforcement learning”
- Paper reading —— Human-level control through deep reinforcement learning
- Paper Reading 2:Human-level control through deep reinforcement learning
- Human-level control through deep reinforcement learning(中文翻译)
- DQN-《Human-level control through deep reinforcement learning》译文
- Deep Q-Network,Nature-2015:Human-level control through deep reinforcement learning
- “Human-level concept learning through probabilistic program induction”阅读笔记
- 《Human-level concept learning through probabilistic program induction》阅读笔记
- Continuous control with deep reinforcement learning
- Continuous control with Deep Reinforcement Learning
- 【机器学习-斯坦福】学习笔记21——增强学习(Reinforcement Learning and Control)
- Paper Reading 3:Continuous control with Deep Reinforcement Learning
- DRL前沿之:Benchmarking Deep Reinforcement Learning for Continuous Control
- 解读continuous control with deep reinforcement learning(DDPG)
- 解读continuous control with deep reinforcement learning(DDPG)
- Deep Reinforcement Learning — Papers (2)
- Human-level concept learning through probabilistic program induction 中文翻译
- Human-level concept learning through probabilistic program induction个人理解
- getLocationInWindow和getLocationOnScreen
- HDU6050 Funny Function[矩阵快速幂]
- 在线工具|fztool.com
- 解决android studio requestWindowFeature(Window.FEATURE_NO_TITLE); 隐藏失败
- popupwindow曾今遇到的坑
- 笔记——“Human-level control through deep reinforcement learning”
- sklearn通过OneVsRestClassifier实现svm.SVC的多分类
- spring boot 笔记(一):pom,注解
- storm两个案例(1单词计数本地执行 2累加集群执行 3集群关闭storm任务写法)
- AIDL最佳实践
- 从零开始学_JavaScript_系列(50)——Promise(3)全部完成all和看谁最快race
- Android中判断Wift是否开启,手机屏幕状态,sdcard是否被拔出,设置全屏
- 省市区三级联动jquery实现代码
- ad network 和 ad exchange 有什么区别?DSP ,SSP是什么?