【强化学习-Mode-Free DRL】深度强化学习如何选择合适的算法?DQN、DDPG、A3C等经典算法Mode-Free DRL算法的四个核心改进方向

news2024/9/29 5:31:50

【强化学习-DRL】深度强化学习如何选择合适的算法?

  • 引言:本文第一节先对DRL的脉络进行简要介绍,引出Mode-Free DRL。
  • 第二节对Mode-Free DRL的两种分类进行简要介绍,并对三种经典的DQL算法给出其交叉分类情况;
  • 第三节对Mode-Free DRL的四个核心(改进方向)进行说明。
  • 第四节对DQN的四个核心进行介绍。

DRL的发展脉络

  • DRL沿着Mode-Based和Mode-Free两个脉络发展。
  • Mode-Based:利用已知环境模型或未知环境模型进行显式建,并与前向搜索(Look Ahead Search)和轨迹优化(Trajectory Optimization)等规划算法结合达到提升数据效率的目的。相比而言,Mode-Based更加复杂,在实践中应用较少,在学术研究中使用较多。
  • 本文对Mode-Free系列的方法进行介绍。

Mode-Free DRL算法的分类

  • 按照不同的分类可以分为:Value-Based方法、Policy-Based方法。以及Off-Policy、On-Policy。
  • DQN、DDPG、A3C是三种非常非常经典的方法,也是DRL的研究重点,后续提出的新算法基本都立足于这三种框架。DQN、DDPG、A3C在上述两种分类方式下交叉分类情况如下图。
    请添加图片描述

Mode-Free DRL算法的四个核心(改进方向)

  • Mode-Free DRL算法的核心为:基本原理、探索方式、样本管理、梯度计算。
  • 基本原理:基本原理层面进展缓慢,但是DRL未来大规模应用的关键所在。
  • 探索方式: 探索方式的改进使得DRL算法更加充分地探索环境,以更好地平衡探索和利用,从而有机会学习到更好的策略。
    • 如为了改善DQN的探索,使用噪声网络(Noisy Net)代替默认的 ϵ − G r e e d y \epsilon-Greedy ϵGreedy
  • 样本管理:样本管理的改进,有助于提升DRL算法的样本效率,从而加快收敛速度,提高算法实用性。
    • 如为了提升样本效率,可以将常规经验回放改为优先经验回放(Prioritized Experience Replay,PER)
  • 梯度计算:梯度计算的改进致力于使每一次梯度更新都稳定、无偏和高效。
    • 如为了提高训练稳定性,在计算目标值时由单步Bootstrap改为多步Bootstrap。

DQN

  • 我们以DQN为例子对Mode-Free DRL算法的四个核心进行说明。

基本原理

  • DQN(Deep Q-Networks)继承了Q-Learning的思想,利用贝尔曼公式的Bootstrap特性,根据式子1计算目标值并不断迭代一个状态动作估值函数 Q θ ( s , a ) Q_\theta(s,a) Qθ(s,a),直到收敛。
    J Q ( θ ) = E s , a ∼ D [ 1 2 r ( s , a ) + γ m a x a ′ ∈ A Q θ − ( s ′ , a ′ ) − Q θ ( s , a ) 2 ] J_{Q}(\theta) = E_{s,a \sim D}[\frac{1}{2} r(s,a) + \gamma max_{a' \in A } Q_{\theta ^- } (s',a') - Q_{\theta}(s,a)^2] JQ(θ)=Es,aD[21r(s,a)+γmaxaAQθ(s,a)Qθ(s,a)2]

探索方式

  • DQN使用 ϵ − G r e e d y \epsilon-Greedy ϵGreedy 的探索策略。 ϵ \epsilon ϵ ( 0 , 1 ] (0,1] (0,1]由大到小现行变化,DQN相应地实现从“强探索利用”逐渐过渡到“弱探索利用”。

样本管理

  • DQN使用Off-Policy,即采集样本策略与当前待优化策略不一致的方法。
  • DQN使用Replay Buffer的先入先出堆栈结构存储训练过程中采集的单步转移样本 ( s , a , s ′ , r ′ ) (s,a,s',r') (s,a,s,r) ,并每次从中选择一个Batch进行梯度计算和参数更新。
  • Replay Buffer允许重复利用隶属数据,以Batch为单位进行训练覆盖了更大的状态空间,中和了单个样本计算梯度时的Variance(方差),时DQN训练和提高样本效率的重要措施。

梯度计算

  • 为克服Bootstrap带来的训练不稳定。DQN设置了一个与Q网络完全相同的目标Q网络。目标Q网络专门用于计算下一步的Q值,参数用 θ − \theta^- θ表示。目标网络的参数并不每次都迭代更新,而是每N次迭代后从主Q网络中将参数拷贝过来,这样做可以有效提升DQN的训练稳定性。

A3C

  • DQN和DDPG都属于Off-Policy算法,都利用了贝尔曼公式的Bootstrap特性来更新Q网络。该方法具有运行利用历史数据,带来样本效率提升的同时,导致训练稳定性较差,并且目标值的计算不是无偏的,普遍存在overstimation问题,不利于累积回报的梯度回传。
  • 与Off-Policy算法基于单步转移样本 ( s , a , s ′ , r ) (s,a,s',r) (s,a,s,r)不同,On-Policy算法利用蒙特卡洛方法通过最新策略随机采集多个完整Episode获得当前值函数 V ( s ) V(s) V(s) 的无偏估计,从而提高了训练性能。
  • A3C(Asynchronous Advantage Actor-Critic)是 On-Policy DRL的经典代表。
  • A3C的具体四个核心我们之后文章中会进行分析,敬请关注收藏。

参考文献

  • 深度强化学习落地指南

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

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

相关文章

基于VOLOPV2的自动驾驶环境感知系统

基于VOLOPV2的自动驾驶环境感知系统是一个复杂的系统,它主要负责实时检测并识别周围环境中的各种物体和信息,为自动驾驶车辆提供必要的感知数据。以下是对该系统的一个简要介绍: 环境感知是自动驾驶系统中的一个关键部分,它依赖于…

揭秘全网都在搜索的抖音快速涨10000粉的方法,打造真实粉丝海洋!巨量千川投流

抖音作为当下最热门的社交媒体平台之一,拥有数以亿计的用户。对于许多用户来说,快速涨粉成为了一个追逐的目标。在这篇文章中,我们将揭秘一些全网都在搜索的抖音快速涨粉方法,帮助你打造属于自己的真实粉丝海洋。巨量千川投流&…

将机械手与CodeSys中的运动学模型绑定

文章目录 1.背景介绍2.选定运动学模型3.机械手各尺寸的对应4.总结4.1.选择正确的运动学模型4.2.注意各个关节旋转的正方向。4.3.编码器零点与机械零点的偏移修正。 1.背景介绍 最近搞到了一台工业机械手,虽然这个机械手有自己的控制程序,但是我们还是想…

概述篇——计算机网络学习笔记(基于谢希仁教材与PPT)

教材用的是谢希仁的教材,图片来源于谢希仁老师配套的PPT 计算机网络课程PPT(通过这个链接,你可以找到课程配套的ppt) 计算机网络的定义及其特点 定义 网络 过去大众熟知的三种网络分别是提供电话、电报及传真等服务的电信网络&am…

中小企业如何通过 Tita 统一员工管理

老实说,我不知道如果没有Tita,我们会做什么?如何收集五个不同人的反馈、经理的反馈、员工对经理的反馈,并将其全部放在一个地方? 在没有上线 Tita 之前,我们不是不做,是因为我们做不到。 — CE…

认识下MapReduce

🔍 什么是MapReduce? MapReduce是一种分布式计算模型,最初由Google提出,用于处理大规模数据集的并行计算。它将数据处理任务分解成独立的Map和Reduce两个阶段,以实现分布式计算和并行化处理。Map阶段负责将输入数据映…

《C语言文件处理:从新手到高手的跃迁》

📃博客主页: 小镇敲码人 💚代码仓库,欢迎访问 🚀 欢迎关注:👍点赞 👂🏽留言 😍收藏 🌏 任尔江湖满血骨,我自踏雪寻梅香。 万千浮云遮碧…

C++STL初阶(1):string的使用及初阶原理

此文作为学习stl的笔记,许多普及、概念性的知识点将不再罗列(如stl的发展、背景等) 便于读者作为复习等方法了解。 0.STL简介(笔记向) STL不是祖师爷本贾尼实现的,是在惠普实验室中实现的。其作为一个数据结…

lora体验

项目链接 GitHub - cloneofsimo/lora: Using Low-rank adaptation to quickly fine-tune diffusion models. 现在如果想体验stable diffusion的lora功能,有很多种渠道吧,虽然lora是微软开源,但是cloneofsimo提供了适配stable diffusion的lor…

Centos 停服倒计时!你的操作系统何去何从?

在计算机技术的不断演进中,操作系统扮演着至关重要的角色。然而,对于许多企业和个人用户来说,CentOS的突然停服消息带来了一场不小的冲击。作为一款备受欢迎的企业级Linux发行版,CentOS的停服意味着用户需要重新评估自己的操作系统…

Win10 WSL2 Ubuntu 22.04 配置深度学习环境

文章目录 WSL安装Anaconda下载Anaconda安装包安装配置conda命令conda换国内源conda初始化shell环境conda init手动源激活脚本: 安装Windows上的NVIDIA GPU驱动WSL安装CUDA Toolkit安装12.1版本环境配置报错1报错2 内存不足导致安装崩溃问题描述问题分析问题解决 WSL…

VMware虚拟机中ubuntu使用记录(8)—— 如何在Ubuntu18.04中安装运行非ROS版本的ORB_SLAM3跑官方数据集(全程手把手教学安装)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 ORB_SLAM3的介绍一、gitee下载ORB_SLAM3源码1. gitee导入gitHub仓库 二、安装支持C特性依赖三、安装Pangolin1. 安装Pangolin的依赖2. 下载编译 四、安装Eigen31.下…

java-spring 09 下.populateBean (方法成员变量的注入@Autowird,@Resource)

01.在populateBean 方法中的:用于Autowird,Resource注入 // 后处理器已经初始化boolean hasInstAwareBpps hasInstantiationAwareBeanPostProcessors();// 需要依赖检查boolean needsDepCheck (mbd.getDependencyCheck() ! AbstractBeanDefinition.DEP…

基于FPGA的数字信号处理(11)--定点数的舍入模式(2)向最临近值取整nearest

前言 在之前的文章介绍了定点数为什么需要舍入和几种常见的舍入模式。今天我们再来看看另外一种舍入模式:向最临近值取整nearest。 10进制数的nearest nearest: 向最临近值方向取整。它的舍入方式和四舍五入非常类似,都是舍入到最近的整数…

【电路笔记】-无源高通滤波器

无源高通滤波器 文章目录 无源高通滤波器1、概述2、一阶高通滤波器的频率响应3、高通滤波器示例4、二阶高通滤波器5、RC 差异化因素高通滤波器与低通滤波器电路完全相反,因为这两个组件已互换,滤波器输出信号现在从电阻器两端获取。 1、概述 由于低通滤波器只允许低于其截止…

【论文合集1】- 存内计算加速机器学习

本章节论文合集,存内计算已经成为继冯.诺伊曼传统架构后,对机器学习推理加速的有效解决方案,四篇论文从存内计算用于机器学习,模拟存内计算,对CNN/Transformer架构加速角度阐述存内计算。 【1】WWW: What, When, Where…

C# OpenCvSharp Demo - 棋盘格相机标定

C# OpenCvSharp Demo - 棋盘格相机标定 目录 效果 项目 代码 下载 效果 项目 代码 using OpenCvSharp; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using System.Drawing.Imaging; using System.Text; using Sys…

2019年计算机真题

2019年计算机真题 离散数学 一、用逻辑符号表达下列语句(论域为包含一切事物的集合) 1)过平面上的两个点,有且仅有一条直线通过。 解: (1) P ( x , y ) : x , y \mathrm{P}_{(\mathrm{x}, \mathrm{y})}: \mathrm{x}, \mathrm{y} P(x,y)​:x,y 是平面上的…

线性表

1.1线性表的定义 线性表:零个或多个数据元素的有限序列。 注: (1)它是一个序列。元素之间是有顺序的,若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素有且只有一个…

SpringBoot 使用logback(多环境配置)

Logback是由log4j创始人设计的又一个开源日志组件。可用于项目日志功能。官网地址 第1步&#xff1a;添加坐标依赖 <!--logback--> <dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version…