深度Q学习——从入门到实践
一.Q-learning
q学习是强化学习中一种很经典的算法。
核心公式
Q(S,A)是当前状态下选择A的Q值。是学习率,这决定了Q值更新的快慢,一般我们都取1。是折扣因子,表示未来对现在的影响多少。
算法过程:
Q-learning在训练的时候,ϵ−greedy策略被用来选择动作。机器随机生成一个数,如果这个数超过ϵ, 那么就随机选择一个动作。反之,就选择当前Q值最大的动作,更新Q表。
得到Q表之后,当我们选择动作的时候,都是选择Q值最大的动作。
Q学习是一种长期决策,这一种长期而非贪心的思想就体现在gama上,他的Q值,不仅包括现在的Q值,得到的奖赏,还有选择这个动作之后的状态的未来最大动作Q值。
误区与重点
1.我在学习q-learning的时候,最容易迷惑的是怎么表示q表,我翻阅了很多网站,发现很少有人画出来。Q值表示的不是状态,还是这个状态下选择的动作。
Q值 | 动作一 | 动作二 | 动作三 | 动作四 |
状态一 | ||||
状态二 | ||||
状态三 |
2.q学习和马尔科夫决策过程是不同的。
q学习是基于马尔科夫过程的,但是又不完全一样。因为马尔科夫决策是必须知道状态转移概率的,不知道状态转移概率的马尔科夫叫部分可观察马尔科夫,这种问题传统的方法是很难求解的。但是dqn不需要状态转移概率,这也就导致dqn能解决的问题更多。
3.误认为q学习能解决所有的问题。
当状态比较多的时候,q表需要的内存就很大,收敛也会缓慢,这就导致q学习被深度q学习替代。
二.deep Q-learning
深度q学习就是用神经网络去替代q表。现在的dqn的种类很多,同时也衍生出很多不同的深度强化学习模型。这里我们介绍最简单的模型:
神经网络代替q表,计算出不同的q值。
有兴趣的可以直接看我的代码:
https://github.com/Jinweiwei1997/AoI_NOMA.git
如果有需要,我会截图附上代码的流程。
深度Q学习——从入门到实践相关推荐
- 强化学习(八) - 深度Q学习(Deep Q-learning, DQL,DQN)原理及相关实例
深度Q学习原理及相关实例 8. 深度Q学习 8.1 经验回放 8.2 目标网络 8.3 相关算法 8.4 训练算法 8.5 深度Q学习实例 8.5.1 主程序 程序注释 8.5.2 DQN模型构建程序 ...
- 倒立摆_DQN算法_边做边学深度强化学习:PyTorch程序设计实践(5)
倒立摆_DQN算法_边做边学深度强化学习:PyTorch程序设计实践(5) 0.相关系列文章 1.Agent.py 2.Brain.py 3.Environment.py 4.Val.py 5.Rep ...
- 第六章 利用深度Q学习来实现最优控制的智能体
文章目录 前言 改进的Q-learning代理 利用神经网络近似q函数 使用PyTorch来实现浅层Q网络 实现Shallow_Q_Learner Experience replay 实现the ex ...
- 迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践(1)
迷宫_随机实验_边做边学深度强化学习:PyTorch程序设计实践 0.相关文章 1.导入所使用的包 2. 定义迷宫 3.定义迷宫动作 4.策略参数θ转换为行动策略π 5.定义随机移动函数 6.定义使智 ...
- Keras深度学习实战——使用深度Q学习进行SpaceInvaders游戏
Keras深度学习实战--使用深度Q学习进行SpaceInvaders游戏 0. 前言 1. 问题与模型分析 2. 使用深度 Q 学习进行 SpaceInvaders 游戏 相关链接 0. 前言 在& ...
- 强化学习笔记(4)-深度Q学习
以下为学习<强化学习:原理与python实现>这本书的笔记. 在之前学习到的强度学习方法中,每次更新价值函数只更新某个状态动作对的价值估计.但是有些情况下状态动作对的数量非常大,不可能对所 ...
- 基于深度Q学习的雅达利打砖块游戏博弈
Atari打砖块游戏简介 球碰到砖块.棒子与底下以外的三边会反弹,落到底下会失去一颗球,把砖块全部消去就可以破关. 始祖是史蒂夫·乔布斯与他的好友沃兹(苹果公司的另一位创始人)于1975年的夏末,花了 ...
- 使用双重深度q学习发现非常规的厄运策略
介绍 (Introduction) Over the last few articles, we've discussed and implemented deep Q-learning (DQN) ...
- 深度学习和dqn_深度Q学习方面的改进:双重DQN决斗,优先体验重播和固定…
深度学习和dqn by Thomas Simonini 通过托马斯·西蒙尼(Thomas Simonini) 深度Q学习方面的改进:双重DQN,优先体验重播和固定Q目标 (Improvements i ...
- 实战深度强化学习DQN-理论和实践
全文共3061字,11张图,预计阅读时间15分钟. Q-Learning回顾 Q-learning 的 算法过程如下图所示: 在Q-learning中,我们维护一张Q值表,表的维数为:状态数S * 动 ...
最新文章
- 刷墙(左蓝右红或同一色)
- 【nginx】从主页搭建看nginx常用配置
- open_links_per_instance 和 open_links 参数说明
- 二分查找(划分时左右元素个数不相等)解析+代码
- Codeforces Round #656 (Div. 3)
- NodeMailer
- Hbase 2.x Region in transition (永久RIT) 异常解决
- 计组之数据运算:12、加法器设计
- 在Powerbuilder中播放Flash动画
- vijos1325 桐桐的糖果计划
- IE8/9的几个前端bug解决方案
- Mac关闭SIP模式 开启root
- 深度神经网络 卷积神经网络_改善深度神经网络
- hualinux0.9 网络篇:CCNA学习及思科模拟器选择
- 57、RapidJson存储Base64数据和空间释放
- 苹果笔记本链接刷卡打印机教程
- Vant(有赞)UI框架爬坑记——图片轮播+预览
- 最新爱网外链网盘V5.0版 全新界面 支持图片违规检测
- 成都计算机系统维护专业中专,成都计算机应用专业中专招生简章
- ubuntu 18.04 安装