【强化学习-深度强化学习DRL】什么问题可以用DRL解决?条件:场景固定数据廉价

  • 引言:深度强化学习适用于满足场景固定、数据廉价这两个要求的问题求解。本节对场景固定进行详细的论述。
  • 术语:深度强化学习(DRL)

条件一:场景固定(两个分布一致)

  • 场景固定指的是,保证训练环境和部署环境中,输入数据和状态转移概率这两个分布保持一致。下文通过DRL与监督学习的异同引出这两个分布。
  • DRL 与监督学习的共同点
    • DRL与监督学习追求的是独立同分布下的内插泛化能力
  • DRL 与监督学习的不同点
    • DRL在监督学习的基础上具有了主动在环境中采样的特权
  • DRL 与监督学习分别在优化什么
    • 监督学习:进行关于输入数据的单分布定制优化;
    • DRL:进行关于输入状态和状态转移概率的双定制优化。
      1. 算法从输入状态中学习 定制化的数据特征提取能力
      2. 算法从中状态转移概率中学习基于上述特征的定制化決策或估值能力

状态分布一致

  • 状态分布 p ( s ) p(s) p(s)是由初始状态分布 p ( s 0 ) p(s_0) p(s0)、策略 π ( a ∣ s ) \pi(a|s) π(as)和状合转移概率 p ( s ′ ∣ s , a ) p(s'|s,a) p(ss,a)共同决定的。其根本的影响因素还是来自环境的固有属性。
  • 如下图所示的不同风格的围棋,若训练时使用(a)图左侧的图作为输入,部署时将游戏切换到右侧的极简风格,“化石”风格上,则原来的神经网络将无法提取出有效的高层特征,从而导致之前习得的技能失效。
  • 抽象化预处理:作为状态空间设计的一种方法,可以有效的解决当前的问题。如图1-4(b),使用矩阵对棋盘信息进行表示,可以避免神经网络对棋盘和棋子具体物理属性的过拟合问题。
    请添加图片描述
  • 但不是所有的任务都可以使用抽象化预处理来保证状态分布的一致性。例如1-4所示的二维导航任务。在(a)上训练的技能在(b)上会失效。但是在训练时采用随机的方法生成具有相同分布的地图,如图1-5(c),并假设算法训练成功并成功收敛,那么状态分布将会扩展到更大的范围(1-5()d所示)。从而神经网络会学习同分布陌生地图上的内插泛化。

在这里插入图片描述

状态转移概率分布一致

  • 状态转移概率分布一致:指的是状态s下,采用动作a后,进入下一个状态s‘的概率分布 p ( s ′ ∣ s , a ) p(s'|s,a) p(ss,a)保持不变。
  • 这个概率分布一般只与环境有关,被称为环境模型(Model)。任何强化学习方法都是基于显式环境模型(Model-based)或隐式(Model-Free)地依据该分布来优化策略和值估计的。
  • 如果环境模型在实际部署时发生改变,那么策略性能也会收到损害甚至完全失效。
  • 举例:
    • 图1-6(a) 如果在 p ( d e a d ∣ g a p , j u m p ) = 1 % , p ( l i v e ∣ g a p , j u m p ) = 99 % , p(dead|gap,jump) = 1\%,p(live|gap,jump) = 99\%, p(deadgap,jump)=1%,p(livegap,jump)=99%,的状态转移概率分布下进行训练,则智能体会选择jump;但如果部署环境的状态转移概率分布变成了 p ( l i v e ∣ g a p , j u m p ) = 1 % , p ( d e a d ∣ g a p , j u m p ) = 99 % , p(live|gap,jump) = 1\%,p(dead|gap,jump) = 99\%, p(livegap,jump)=1%,p(deadgap,jump)=99%,,则智能体之前学习的经验都会失效。
    • 图1-6(b)当对手(绿色小人)的 状态转移概率变化之后,红色小人训练好的经验也会失效。
      请添加图片描述

条件二:数据廉价

  • DRL天然地需要大量的样本进行训练。具有低样本效率(Low Sample Efficiency) 的特点。
  • 对于设计硬件实体采用贵(如机器人训练场景)、在线采样,如电商短视频领域,探索可能导致用户体验差用户流失,经济成本高。
    请添加图片描述
  • 针对数据贵的问题,常见的是使用模拟器进对真实环境进行仿真。由于软件系统可以并行和提速,模拟器在采样方面具有天然的优势。但模拟器的挑战在于数据质量,模拟器模拟环境与真实物理环境之间的差别带来的误差,称为Reality Gap
  • 在视频游戏、棋盘游戏等本身就在虚拟环境中部署的,或可以精准还原的问题,就不存在Reality Gap
    请添加图片描述
  • 对于存在Reality Gap的场景,也可以通过DRL算法训练出具备实际价值的策略。

请添加图片描述

参考文献

  • 深度强化学习落地指南

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

美股市场恒生指数冲刺19000点关口 地产股大涨

查查配5月10日电(中新财经记者 谢艺观)5月10日,港股现强势行情,恒生指数盘中一度冲至18993.28点,距离19000点关口仅一步之遥。 美港通证券以其专业的服务和较低的管理费用在市场中受到不少关注。该平台提供了实盘交易、止盈止损、仓位控制等功能,旨在为投资者提供更为全面的投…

HNCTF-PWN

1.ez_pwn 直接看危险函数,不能溢出,只能覆盖ebp。 后面紧接的又是leave,ret 很明显是栈迁移,通过printf打印出ebp,通过偏移计算出栈地址。 通过gdb调试,偏移是0x38 以下是payload: from pwn import * #i…

通过单总线实现单片机之间的数据传输

单总线、没有时钟线的通信时,不能使用简单的高低电平来通信,因为接收方不知道此时发送的数据是第几位数据,容易造成错乱。 因此在使用一根线对外传输数据时,需要自定义一个通信协议,它至少要包含格式头数据&#xff0c…

二维数组 和 变长数组

在上一期的内容中,为诸君讲解到了一维数组,在一维数组的基础上,C语言中还有着多维数组,其中,比较典型且运用较为广泛的就是我们今天的主角——二维数组 一 . 二维数组的概念 我们把单个或者多个元素组成的数组定义为一…

springboot项目打包部署

springboot打包的前提条件jdk必须17以后不然本地运行不来(我用的jdk是22) 查看自己电脑jdk版本可以参考(完美解决Windows10下-更换JDK环境变量后,在cmd下执行仍java -version然出现原来版本的JDK的问题-CSDN博客) 1、…

uniapp音乐播放整理

一、前置知识点 1.1 音频组件控制-uni.createInnerAudioContext() 创建并返回内部 audio 上下文 innerAudioContext 对象。 主要用于当前音乐播放; 1.1.1 innerAudioContext属性 属性类型说明只读平台差异说明srcString音频的数据链接,用于直接播放…

学浪app的课程怎么导出来

在这个知识如星辰般璀璨的时代,学浪app汇聚了无数智慧的火花,点亮了求知者的前行之路。你是否曾在学浪的海洋中遨游,汲取知识的甘露,却渴望将那些珍贵的课程内容,如同宝藏一般,从数字的海洋中提取出来&…

PY32F403系列单片机,32位M4内核MCU,主频最高144MHZ

PY32F403系列单片机是基于Arm Cortex-M4核的32位通用微控制器产品。内置的FPU和DSP功能支持浮点运算和全部DSP指令。通过平衡成本,性能,功耗来获得更好的用户体验。 PY32F403单片机典型工作频率可达144MHZ,内置高速存储器,丰富的…

Python-VBA函数之旅-str函数

目录 一、str函数的常见应用场景 二、str函数使用注意事项 三、如何用好str函数? 1、str函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页: https://myelsa1024.blog.csdn.net/ 一、str函数的常…

【C -> Cpp】由C迈向Cpp (5)

标题:【C -> Cpp】由C迈向Cpp(5) 水墨不写bug (图片来源于网络) 不抵制失败,携手失败,迈向成功 正文开始: (一)深入理解构造函数 在之前的讲解中&#x…

安装Ununtu后常见问题(无法远程连接、root密码等)

安装Ununtu后常见问题(无法远程连接、root密码、无法ifconfig等) 提示:安装完Ununtu系统后会遇到一些常见的问题,本文一次洗解决 文章目录 安装Ununtu后常见问题(无法远程连接、root密码、无法ifconfig等)一…

Linux(Ubuntu24.04) 安装 MinIO

本文所使用的 Ubuntu 系统版本是 Ubuntu 24.04 ! # 1、下载 MinIO wget https://dl.min.io/server/minio/release/linux-amd64/minio# 2、添加可执行权限 chmod x minio# 3、导出环境变量,用于设置账号密码,我设置的账号和密码都是 minioadmin export MI…

PyQt5中的QtDesigner窗口

文章目录 1. 简介2. QtDesigner的MainWindow2.1 创建MainWindow2.2 添加组件2.3 预览2.4 查看对应的Python代码2.5 保存窗口并命名为login.ui,如下所示2.6对ui文件进行转换得到.py原件 3. 窗口常用属性及说明3.1 设置对象名称3.2 改变标题名字3.3 修改窗口大小 4. 更…

PyCharm 集成 Git

目录 1、配置 Git 忽略文件 2、定位Git 3、使用pycharm本地提交 3.1、初始化本地库 3.2、添加到暂存区 3.3、提交到本地库 3.4、切换版本 4、分支操作 4.1、创建分支 4.2、切换分支 4.3、合并分支 5、解决冲突 1、配置 Git 忽略文件 作用:与项目的实际…

conan2 基础入门(04)-指定编译器(gcc为例)

conan2 基础入门(04)-指定编译器(gcc为例) 文章目录 conan2 基础入门(04)-指定编译器(gcc为例)⭐准备生成profile文件预备文件和Code ⭐使用指令预览正确执行结果可能出现的问题 ⭐具体讲解conancmake ENDsettings.yml ⭐准备 生成profile文件 # 生成默认profile文件&#xf…

【userfaultfd+条件竞争劫持modprobe_path】TSGCTF 2021 -- lkgit

前言 入门题,单纯就是完成每日一道 kernel pwn 的 kpi 😀 题目分析 内核版本:v5.10.25,可以使用 userfaultfd,不存在 cg 隔离开启了 smap/smep/kaslr/kpti 保护开启了 SLAB_HADNERN/RANDOM 保护 题目给了源码&…

使用IDA自带python patch的一道例题

首先看见就是迷宫 迷宫解出的路径,放在zip的文件可以得到一个硬编码 然后在原程序中,有一处很离谱 这个debugbreak就是IDA分析错误导致的 我们点进去发现里面全是nop 然后我们把我们得到的硬编码放在010里面,再用IDA打开 重新编译看汇编 你…

Python---Numpy万字总结(2)

NumPy的应用(2) 数组对象的方法 获取描述统计信息 描述统计信息主要包括数据的集中趋势、离散程度和频数分析等,其中集中趋势主要看均值和中位数,离散程度可以看极值、方差、标准差等 array1 np.random.randint(1, 100, 10) …

音视频--AAC编码解析和示例

目录 1:AAC编码介绍 2:AAC格式介绍 3:AAC -ADTS帧组成 4:AAC-ADTS:(adts_fixed_header)格式介绍 5:AAC-ADTS:(adts_variable_header)格式介绍…

符合Misra C++标准且支持mmap的内存池管理模块

概述 定义内存管理的相关行为。使用了预分配的管理,先分配一块足够大的内存,然后需要时再从这块内存中进行分配。 代码仓库:https://gitee.com/liudegui/mem_pool 类之间的关系 模块名功能MemPool内存池模块入口,提供常用的模块…