强化学习系列<4>DQN
来源:互联网 发布:php手册中文版下载 编辑:程序博客网 时间:2024/05/17 09:13
<4>、DQN(Deep Q Network)
Deep Q Network.是一种融合了神经网络和 Q learning 的方法。
1、神经网络
传统的表格形式的强化学习有这样一个瓶颈,使用表格来存储每一个状态state, 和在这个 state 每个行为 action 所拥有的 Q 值. 如果全用表格来存储它们, 计算机内存不够, 而且搜索对应的状态也是一件很耗时的事. (比如下围棋).
所以,我们可以利用神经网络将状态和动作当成神经网络的输入, 然后经过神经网络分析后得到动作的 Q 值, 这样我们就没必要在表格中记录 Q 值, 而是直接使用神经网络生成 Q 值.
还有一种形式, 只输入状态值, 输出所有的动作值, 然后按照 Q learning 的原则, 直接选择拥有最大值的动作当做下一步要做的动作. 神经网络接受外部的信息, 相当于眼睛鼻子耳朵收集信息, 然后通过大脑加工输出每种动作的值, 最后通过强化学习的方式选择动作.
2、更新
在这里,我们采取第二种方式:
首先, 我们需要 a1, a2 正确的Q值, 这个 Q 值我们就用之前在 Q learning 中的 Q 现实来代替. 同样我们还需要一个 Q 估计来实现神经网络的更新. 所以神经网络的的参数就是老的 NN 参数 加学习率 alpha 乘以 Q 现实 和 Q 估计 的差距,
我们通过 NN 预测出Q(s2, a1) 和 Q(s2,a2) 的值, 这就是 Q 估计. 然后我们选取 Q 估计中最大值的动作来换取环境中的奖励 reward. 而 Q 现实中也包含从神经网络分析出来的两个 Q 估计值, 不过这个 Q 估计是针对于下一步在 s’ 的估计. 最后再通过刚刚所说的算法更新神经网络中的参数. 但是这并不是 DQN 会玩电动的根本原因. 还有两大因素支撑着 DQN 使得它变得无比强大. 这两大因素就是 Experience replay 和 Fixed Q-targets
3、Experience replay 和 Fixed Q-targets
简单来说, DQN 有一个记忆库用于学习之前的经历. Q learning 是一种 off-policy 离线学习法, 它能学习当前经历着的, 也能学习过去经历过的, 甚至是学习别人的经历. 所以每次 DQN 更新的时候, 我们都可以随机抽取一些之前的经历进行学习. 随机抽取这种做法打乱了经历之间的相关性, 也使得神经网络更新更有效率. Fixed Q-targets 也是一种打乱相关性的机理, 如果使用 fixed Q-targets, 我们就会在 DQN 中使用到两个结构相同但参数不同的神经网络, 预测 Q 估计 的神经网络具备最新的参数, 而预测 Q 现实 的神经网络使用的参数则是很久以前的.
0 0
- 强化学习系列<4>DQN
- 深度强化学习中的DQN系列算法
- 强化学习系列:Deep Q Network (DQN)
- 强化学习之DQN
- 深度强化学习 ( DQN ) 初探
- 深度强化学习 ( DQN ) 初探
- 深度强化学习初窥之DQN
- 深度强化学习——DQN
- 【强化学习】DQN(Deep reinforcement learning) Basic
- 深度强化学习(DQN)实现CartPole
- 深度强化学习——DQN
- 【DQN】解析 DeepMind 深度强化学习 (Deep Reinforcement Learning) 技术
- 重磅 | 详解深度强化学习,搭建DQN详细指南(附论文)
- 深度强化学习中的NAF算法-连续控制(对DQN的改进)
- 深度强化学习(Deep Reinforcement Learning)入门:RL base & DQN-DDPG-A3C introduction
- 论文结果难复现?本文教你完美实现深度强化学习算法DQN
- 论文结果难复现?本文教你完美实现深度强化学习算法DQN
- 强化学习系列<3>、Sarsa
- Android OkHttp完全解析 是时候来了解OkHttp了
- 解决PL/SQL 在使用客户端情况下的中文编码问题
- strtok函数和strtok_r函数
- C++第五次作业
- Python 简单爬虫程序 以及 urllib.urlretrieve()方法 改变文件存放文件位置
- 强化学习系列<4>DQN
- 图文笔记,带你走进《未来简史》(6-10)
- 浅谈 MVP in Android
- 基于networkx的《人民的名义》人物关系图
- 设备树学习之(十二)LCD驱动
- 进阶篇_map容器(保存键值对)
- 深度学习中的可视化
- 使用User-Agent防止HttpClient发送http请求时403 Forbidden和安全拦截
- Glide获取缓存大小以及清除缓存