完整教程:【强化学习】#8 DQN(深度Q学习)

news/2025/10/28 16:16:16/文章来源:https://www.cnblogs.com/yangykaifa/p/19172099

前言

再三考虑强化学习和足式机器人算法两个系列之间的关系后,我目前决定专门的强化学习算法知识还是放到强化学习系列中,而足式机器人算法系列可能会以其相关的论文和项目为主介绍更多应用层面的内容。而为了以足式机器人为最终导向,本系列将不再以萨顿的《强化学习》为参考教材,博主将自行探索学习方向,但不影响前七篇的内容的基础地位,许可接续学习,本章将依赖于系列第五篇时序差分学习。本章开始将进入深度强化学习领域,深度学习相关知识已在【动手学深度学习】系列笔记中整理,故不再赘述。

DQN

DQN(deep Q-network,深度Q网络)将深度神经网络应用于Q-learning(Q学习)算法,是深度强化学习的开山之作。

Q网络

回顾一下时序差分学习一篇中的知识,Q-learning是一种直接以对最优动作价值函数q∗q_*q的估计为目标的时序差分控制

Q(St,At)←Q(St,At)+α[Rt+1+γmax⁡aQ(St+1,a)−Q(St,At)] Q(S_t,A_t)\leftarrow Q(S_t,A_t)+\alpha[R_{t+1}+\gamma\underset a\max Q(S_{t+1},a)-Q(S_t,A_t)]Q(St,At)Q(St,At)+α[Rt+1+γamaxQ(St+1,a)Q(St,At)]

当该更新公式收敛时,有

Q(St,At)=Rt+1+γmax⁡aQ(St+1,a) Q(S_t,A_t)=R_{t+1}+\gamma\underset a\max Q(S_{t+1},a)Q(St,At)=Rt+1+γamaxQ(St+1,a)

Q-learning算法使用表格存储每个状态sss下采取动作aaa的动作价值函数Q(s,a)Q(s,a)Q(s,a)连续的、无穷大的,此时我们无法再使用表格进行存储。就是,然而现实中很多情况下,强化学习任务所面临的状态空间

为此,我们可以用一个线性函数Q(s,a;θ)Q(s,a;\theta)Q(s,a;θ)来近似Q(s,a)Q(s,a)Q(s,a),称为价值函数近似,并使用线性神经网络来拟合这个函数Q(s,a;θ)Q(s,a;\theta)Q(s,a;θ),称为Q网络

  • 输入与输出:一个标准的Q网络的输入为状态sss,输出为所有动作aaaQQQ值,因此只需要一次前向传播即可找出最优动作价值。相应地,其输入神经元数量为状态空间的维数(在此之前状态空间也可经过其他神经网络处理),输出神经元数量为动作空间的大小。
  • 标签与损失函数:Q网络的标签即其收敛的目标yt=rt+γ⋅max⁡aQ(st+1,a;θ)y_t=r_t+\gamma\cdot\max_aQ(s_{t+1},a;\theta)yt=rt+γmaxaQ(st+1,a;θ),损失函数可采用均方损失L=12[yt−Q(s,a;θ)]2L=\displaystyle\frac12[y_t-Q(s,a;\theta)]^2L=21[ytQ(s,a;θ)]2

目前,我们可以得到DQN的算法流程如下

  1. 初始化Q网络,输入状态sts_tst,输出sts_tst下所有动作的QQQ值;
  2. 利用行动策略(例如ε\varepsilonε-贪心)选择一个动作aaa,将ata_tat输入到环境中,获得新状态st+1s_{t+1}st+1rtr_trt
  3. 将状态st+1s_{t+1}st+1输入Q网络,从输出中选择最优动作价值max⁡aQ(st+1,a;θ)\max_aQ(s_{t+1},a;\theta)maxaQ(st+1,a;θ)
  4. 计算标签yt=rt+γ⋅max⁡aQ(st+1,a;θ)y_t=r_t+\gamma\cdot\max_aQ(s_{t+1},a;\theta)yt=rt+γmaxaQ(st+1,a;θ)
  5. 计算损失函数L=12[yt−Q(s,a;θ)]2L=\displaystyle\frac12[y_t-Q(s,a;\theta)]^2L=21[ytQ(s,a;θ)]2
  6. 使用梯度下降更新Q网络中的参数;
  7. 丢弃四元组(st,at,rt,st+1)(s_t,a_t,r_t,s_{t+1})(st,at,rt,st+1),输入新状态st+1s_{t+1}st+1,重复更新工作。

经验回放

原始的DQN算法具有如下缺点:

经验回放可以克服上面两个缺点,它将经验(st,at,rt,st+1)(s_t,a_t,r_t,s_{t+1})(st,at,rt,st+1)存储在一个固定大小的回放缓冲区中。在训练前,先让智能体采用某个行动策略π\piπ与环境持续交互,收集多条经验直至回放缓冲区存满。随后利用该回放缓冲区对Q网络进行训练,训练过程的每一轮等概率随机从缓冲区中抽取一个batch大小的经验训练网络,算出每个经验的梯度后使用梯度的平均更新参数。

在上述基础之上,经验回放还可作出如下改进:

目标网络

原始的DQN算法利用一个Q网络,其在被训练的同时还用于给出自己的训练标签,这使得网络的更新总是在追逐一个不断变化的目标,在复杂的环境中极易产生振荡和发散,难以收敛。其次,仅依赖于单个Q估计存在最大化偏差困难(也称“高估”)。

为了避免上述问题,DQN引入了第二个网络目标网络Q(s,a;θ−)Q(s,a;\theta^-)Q(s,a;θ),而原来的网络称为评估网络。目标网络和评估网络的结构一样,只是参数不同,即θ−≠θ\theta^-\neq\thetaθ=θ

目标网络和评估网络将动作评估与标签计算的过程解耦。其中评估网络负责控制智能体,收集经验;目标网络用于计算标签yt=rt+γ⋅max⁡aQ(st+1,a;θ−)y_t=r_t+\gamma\cdot\max_aQ(s_{t+1},a;\theta^-)yt=rt+γmaxaQ(st+1,a;θ)。在每一批更新中,只有评估网络的权重θ\thetaθ会得到持续的更新,目标网络的权重θ−\theta^-θ保持不变以稳定训练目标。评估网络更新一定次数后,其权重更新结果才会复制给目标网络,让目标网络也能得到更新,随后进行下一批更新。

经过经验回放和目标网络两大技术的引入,DQN算法的流程图如下

Double DQN

目标网络的引入确实在一定程度上减轻了高估疑问,其通过在一定时间内固定目标网络避免了评估网络的高估立刻反映到自身的更新当中,延缓了高估的传播速度。但目标网络并没有触及高估问题的根源,即最大化操作。

与双Q学习改进Q学习的思想一脉相承,Double DQN也对DQN做出了相应的改进。Double DQN解耦了选择和评估动作的过程,即在计算下一个状态的信息时,由主网络θ\thetaθ(也就是原来的评估网络)而非目标网络来选出它认为最好的动作

a∗=argmaxaQ(st,a;θ) a^*=\underset{a}{\mathrm{argmax}}Q(s_t,a;\theta)a=aargmaxQ(st,a;θ)

而标签仍由目标网络给出,只是用于计算的最优动作不再由它独断

yt=rt+γ⋅Q(st+1,a∗;θ−) y_t=r_t+\gamma\cdot Q(s_{t+1},a^*;\theta^-)yt=rt+γQ(st+1,a;θ)

由于

Q(st+1,a∗;θ−)⩽max⁡aQ(st+1,a;θ−) Q(s_{t+1},a^*;\theta^-)\leqslant\max_aQ(s_{t+1},a;\theta^-)Q(st+1,a;θ)amaxQ(st+1,a;θ)

于是Double DQN进一步减缓了最大化带来的高估问题。这不会影响网络最终收敛到真正的最优动作,因为即时收益rtr_trt对更新的影响不断积累后终究会克服对真正最优动作价值的估计误差带来的影响,只要收集到足够多的经验,和动作价值相关的统计分布一定会收敛到其真实概率分布。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/948907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

达梦删除数据文件后恢复

数据库没有关闭 [root@dmc1 arc]# rm -rf /dm/data/dmtj/tbs02.DBF[root@dmc1 arc]# ps -ef|grep dbsroot 248241 45882 0 11:47 pts/3 00:00:00 grep --color=auto dbs[root@dmc1 arc]# ps -ef|grep dmsdm…

贪心训练

AT_agc004_d [AGC004D] Teleporter 每个点只连一条边,

漫格搭子交友系统:一站式同城社交解决方案

一、概述总结 漫格搭子交友系统是一款专注于同城社交的多端解决方案,支持微信公众号、微信小程序等多种载体,以 “搭子交友” 为核心,整合了活动组织、群组互动、兴趣社交等多元功能,为用户打造便捷的同城交友与陪…

多功能名片小程序系统:助力企业与个人高效拓展人脉

一、概述总结 这款名片小程序系统是打造的高效人脉拓展工具,支持微信小程序和字节跳动小程序双平台适配,通过微擎系统在线交付,为用户提供全方位的电子名片解决方案。系统采用源码加密方式保障商品正品性。该系统集…

ETL调度最佳实践:避免高峰期任务冲突与资源争抢 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

多线程基础-创建线程

线程的创建 线程的创建有三种方法继承Thread类,并重写run方法 实现Runable接口,并实现run方法 实现Callabke接口,并实现call方法(此处不介绍)案例:模拟文件下载 方法一: public class ThreadTest1 extends Thread {…

dataframe 和 numpy 数组有什么不同?

在cropformer相关的基因组预测任务场景中,DataFrame(通常指Pandas DataFrame)与NumPy数组均为数据处理核心格式,但二者在数据结构、功能定位、适用场景上存在显著差异,具体区别可结合文献中Cropformer的数据流处理…

《植物大战僵尸:重植版》无障碍补丁 | An accessibility mod for Plants vs. Zombies™: Replanted

开发中... 项目信息游戏版本:[Steam] 植物大战僵尸™:重植版 开发状态:开发中 项目源码:https://github.com/game-a11y/PvZ-Replanted-A11y 发布地址:(开发中,尚无可用发布版。想尝鲜可以自行导入源码使用) 项目…

rac日常维护

1.启动数据库oracle账号执行[oracle@rac01 ~]$srvctl start instance -d slnngk -i slnngk2[oracle@rac01 ~]$srvctl start database -d slnngk2.查看资源 grid账号下执行[grid@rac01 ~]$ crsctl stat res -t --------…

2025年上海直连全球云网络公司权威推荐榜单:AIGPU专用算力/GPU计费模式/GPU弹性算力源头厂家精选

随着全球数字化转型加速,直连云网络市场迎来爆发式增长,上海作为中国云计算产业的重要枢纽,其直连全球云网络服务能力备受关注。 据全球云计算市场分析报告显示,2024年全球直连云网络服务市场规模达到185亿美元,预…

打开双wifi STA+AP并发 - M

描述:rk3588+android13+ap6611s,系统默认打开热点,会把WiFi关掉,需要并发使用。1.正基的模块需要添加宏定义: external/wifi_driver/bcmdhd/Makefile+CONFIG_BCMDHD_STATIC_IF :=y@@ -465,6 +486,10 @@ ifneq ($(…

drools脚本中 matches 的用法

value matches ".*\\d.*"rule "Example" no-loop truewhenVar(key=="Example.Start",$startTime:time) and not Var(key=="Example.End",value=="1") and Var(key=…

2025年重庆别墅装修公司权威推荐榜单:大宅设计/大平层设计/别墅设计源头厂家精选

随着重庆高端住宅市场持续升温,别墅及大平层装修需求呈现专业化、定制化趋势。据行业统计数据显示,2024年重庆主城区别墅装修市场规模突破85亿元,其中设计施工一体化服务占比达67%,较上年提升12个百分点。在此背景…

IvorySQL 社区摆摊啦,GOTC 2025 开源集市等你来玩!

全球开源技术峰会(Global Open-source Technology Conference) GOTC 2025 将于 11 月 1 日至 2 日在北京隆重举行。 为期 2 天的开源技术与行业盛会,将通过行业展览、主题发言、圆桌讨论等形式来诠释此次大会主题 —…

python 界面开发笔记

pyside6的版本要和python的版本对应 看官网 https://wiki.qt.io/Qt_for_Python 如果不对应会出错,提示什么未加载dll 我用的是 python3.12.10 和pyside6.10 下载地址 https://www.python.org/downloads/release/python…

基于AMBA总线协议的Verilog语言模型实现

一、AMBA总线协议模型架构 核心模块组成协议 主要模块 功能描述AHB 主控制器/从设备 突发传输控制、仲裁逻辑AXI 主接口/从接口/通道管理 多通道数据流、乱序完成处理APB 主设备/从设备/桥接器 寄存器访问、两阶段传输…

2025年高速离心研磨抛光机厂家权威推荐榜单:环保研磨抛光机/钛合金研磨抛光机/不锈钢研磨抛光机源头厂家精选

在精密制造时代,高速离心研磨抛光机已成为提升工件表面质量的核心装备,其高效、精密的处理能力正重塑着现代工业的制造标准。 在当今精密制造领域,高速离心研磨抛光技术凭借其高效率、高一致性和低人工成本的优势,…

【System Beats!】第五章 优化程序性能

性能优化概况在实际生活中,需要提升软件性能,最终目标是编写高效的代码,最大限度地利用硬件资源。 性能优化通常考虑以下三方面:选择恰当的算法和数据结构 理解编译器的能力和局限性 大规模任务下进行并行计算需要…

2025年密集母线槽品牌

摘要 密集母线槽行业在2025年迎来智能化、数字化转型浪潮,随着数据中心、高端建筑和工业基础设施的快速发展,市场对高效、安全、可靠的电力分配解决方案需求激增。本文基于行业调研和用户反馈,整理出排名前十的密集…

2025年口碑好的密集母线槽产品

摘要 密集母线槽行业在2025年迎来智能化、数字化转型浪潮,随着数据中心、智慧城市和绿色建筑需求的增长,市场对高可靠性、高效能母线槽产品的需求持续上升。本文基于行业数据和用户反馈,整理出口碑优秀的密集母线槽…