【强化学习】08——规划与学习(采样方法|决策时规划)

news2024/9/22 19:40:29

文章目录

  • 优先级采样
    • Example1 Prioritized Sweepingon Mazes
    • 局限性及改进
  • 期望更新和采样更新
    • 不同分支因子下的表现
  • 轨迹采样
  • 总结
  • 实时动态规划
    • Example2 racetrack
  • 决策时规划
    • 启发式搜索
    • Rollout算法
    • 蒙特卡洛树搜索
  • 参考

先做个简单的笔记整理,以后有时间再补上细节

优先级采样

均匀随机采样(uniformly sampling)会使得部分采样的结果对实际的更新毫无作用。如下图所示,在开始时,只有靠近终点部分的更新会产生作用,而其他情况则不会。因此,模拟的经验和更新应集中在一些特殊的状态动作

在这里插入图片描述
可以使用后向聚焦(backward focusing)进行更好地更新。 后向聚焦是指很多状态的值发生变化带动前继状态的值发生变化。但有的值改变很多,有的改变很少,因此需要根据紧急程度,给这些更新设置优先度进行更新。

优先级采样(Prioritized Sweeping)可以解决上述问题。优先级采样通过设置优先级更新队列,根据值改变的幅度定义优先级: P ← ∣ R + γ max ⁡ a Q ( S ′ , a ) − Q ( S , A ) ∣ P\leftarrow\left|R+\gamma\max_aQ\left(S^{\prime},a\right)-Q(S,A)\right| P R+γamaxQ(S,a)Q(S,A)

算法伪代码
在这里插入图片描述

Example1 Prioritized Sweepingon Mazes

在这里插入图片描述

  • 横轴代表格子世界的大小
  • 纵轴代表收敛到最优策略的更新次数
  • 优先级采样收敛更快

局限性及改进

优先级采样在随机环境中利用期望更新(expected updates)的方法。但这样会浪费很多计算资源在一些低概率的状态转移(transitions)上,因此引入采样更新(sample updates)。

期望更新和采样更新

在这里插入图片描述
期望更新

  • Q ( s , a ) ← ∑ s ′ , r p ^ ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a ′ Q ( s ′ , a ′ ) ] . Q(s,a)\leftarrow\sum_{s',r}\hat{p}(s',r|s,a)\Big[r+\gamma\max_{a'}Q(s',a')\Big]. Q(s,a)s,rp^(s,rs,a)[r+γamaxQ(s,a)].
  • 需要知道准确的分布模型
  • 需要更大的计算量
  • 没有偏差更准确

采样更新

  • Q ( s , a ) ← Q ( s , a ) + α [ R + γ max ⁡ a ′ Q ( S ′ , a ′ ) − Q ( s , a ) ] , Q(s,a)\leftarrow Q(s,a)+\alpha\Big[R+\gamma\max_{a'}Q(S',a')-Q(s,a)\Big], Q(s,a)Q(s,a)+α[R+γamaxQ(S,a)Q(s,a)], • 只需要采样模型
    • 计算量需求更低
    • 受到采样误差(sampling error)的影响

不同分支因子下的表现

设定
• 𝑏 个后续状态等可能
• 初始估计误差为1
• 下一个状态值假设估计正确
在这里插入图片描述
结果
• 分支因子越多,采样更新越接近期望更新
• 大的随机分支因子和状态数量较多的情况下, 采样更新更好

越复杂的环境越适合进行采样更新。

轨迹采样

在这里插入图片描述

  • 动态规划
    • 对整个状态空间进行遍历
    • 没有侧重实际需要关注的状态上
  • 在状态空间中按照特定分布采样
    • 根据当前策略下所观测的分布进行采样

在这里插入图片描述

轨迹采样

  • 状态转移和奖励由模型决定
  • 动作由当前的策略决定

优点
• 不需要知道当前策略下状态的分布
• 计算量少,简单有效
缺点
• 不断重复更新已经被访问的状态

在这里插入图片描述

  • 不同的分支因子下的表现
  • 确定性环境中表现比较好

总结

  • 优先级采样
    • 收敛更快
    • 随机环境使用期望更新,计算量大
  • 期望更新和采样更新
    • 期望更新计算量大但是没有偏差
    • 采样更新计算量小但是存在采样偏差
  • 轨迹采样
    • 采样更新,计算量小
    • 不断重复某些访问过的状态

实时动态规划

和传统动态规划的区别
• 实时的轨迹采样
• 只更新轨迹访问的状态值

优势
• 能够跳过策略无关的状态
• 在解决状态集合规模大的问题上具有优势
• 满足一定条件下可以以概率1收敛到最优策略

Example2 racetrack

在这里插入图片描述

决策时规划

背景规划(Background Planning)
• 规划是为了更新很多状态值供后续动作的选择
• 如动态规划,Dyna

决策时规划(Decision-time Planning)
• 规划只着眼于当前状态的动作选择
• 在不需要快速反应的应用中很有效,如棋类游戏

启发式搜索

  • 访问到当前状态(根节点),对后续可能的情况进行树结构展开

  • 叶节点代表估计的值函数

  • 回溯到当前状态(根节点),方式类似于值函数的更新方式
    在这里插入图片描述

  • 决策时规划,着重于当前状态

  • 贪婪策略在单步情况下的扩展

  • 启发式搜索看多步规划下,当前状态的最优行动

  • 搜索越深,计算量越大,得到的动作越接近最优

  • 性能提升不是源于多步更新,而是源于专注当前状态的后续可能

Rollout算法

  • 从当前状态进行模拟的蒙特卡洛估计
  • 选取最高估计值的动作
  • 在下一个状态重复上述步骤

特点

  • 决策时规划,从当前状态进行𝑟𝑜𝑙𝑙𝑜𝑢𝑡
  • 直接目的类似于策略迭代和改进,寻找更优的策略
  • 表现取决于蒙特卡洛方法估值的准确性

在这里插入图片描述

蒙特卡洛树搜索

在这里插入图片描述

参考

[1] 伯禹AI
[2] https://www.deepmind.com/learning-resources/introduction-to-reinforcement-learning-with-david-silver
[3] 动手学强化学习
[4] Reinforcement Learning

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

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

相关文章

抽象轻松java——简易图书馆前置

用Maven写一个垃圾的项目&#xff0c;第一步打开IDEA&#xff0c;点击创建&#xff0c;创建一个Maven <dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.22</versi…

antv x6 沿边图标循环动画实现

实现效果&#xff0c;如下图&#xff0c;边上存在两个图标&#xff0c;要求图标延边一直循环动画 实现方法&#xff1a; 1.注册一个自定义边&#xff0c;边上定义两个图标&#xff0c;并设置其初始位置 2.使用transition给边设置动画,利用complte方法实现循环动画

8年测试老鸟,Python Selenium自动化测试-POM分层封装框架(超全整理)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、POM模式是什么…

【JAVA学习笔记】41 - 接口

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter10/src/com/yinhai/interface_ 一、快速入门 usb插槽就是现实中的接口。你可以把手机&#xff0c;相机&#xff0c;u盘都插在usb插槽上&#xff0c;而不用担心那个插槽是专门插哪个的&#x…

【广州华锐视点】VR塔吊模拟实操考核系统

随着科技的不断发展&#xff0c;虚拟现实技术已经逐渐渗透到各个领域&#xff0c;为人们带来了全新的体验。在建筑行业中&#xff0c;塔吊作为一种重要的起重设备&#xff0c;其拆装作业的安全与否直接关系到工程质量和人员生命安全。为了提高塔吊拆装作业的安全性和效率&#…

VUE3中 reacitive源码理解

Proxy 在Vue里面定义一个响应式函数 reacitive 会通过 Proxy 进行拦截&#xff0c;在截的时候里面有ge和set track get的时候有一个跟踪函数叫 track track里面会收集各种依赖&#xff0c;把依赖关系做成各种映射的关系&#xff0c;映射关系就叫 targetMap&#xff0c;vue内部拿…

ES6初步了解Map对象(含十种方法)

ES6提供了 Map数据结构。它类似于对象&#xff0c;也是键值对的集合。但是“键”的范围不限于字符串&#xff0c;各种类型的值&#xff08;包括对象&#xff09;都可以当作键。 创建方法 let m new Map()console.log(m)Map的方法 1.set( ) 添加元素 接收两个参数&#xff0c…

使用香橙派并基于Linux实现最终版智能垃圾桶项目 --- 下

最终完成效果视频&#xff1a; 使用香橙派并基于Linux实现最终版带图像识别的可回收垃圾桶 — 下_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1bc411o7zS/?spm_id_from333.999.0.0&vd_source16380169fa415d2d056dd877a8d8c1b7 硬件接线 & 最终实现图 目录 …

智能振弦传感器:参数智能识别技术的重要科技创新

智能振弦传感器&#xff1a;参数智能识别技术的重要科技创新 智能振弦传感器是一种能够自动识别传感器参数的高科技产品。它的研发得益于河北稳控科技的不断创新和努力&#xff0c;其电子标签专用读数模块模块TR01将传感器生产和标定过程实现了自动化。该模块将温度电阻两芯线…

单片机中的 _nop_() 延时以及其相关的基础扩展

使用 _nop_() 函数做延时遇到的一些问题 以及对此延伸出的一些需要了解的基本概念 ...... by 矜辰所致 完善文章内容结构&#xff0c;补充指令周期、机器周期等一些基本概念 2023/10/25前言 最近还是继续做着项目&#xff0c;因为在某 8051 内核芯片上使用到了 I…

Windows隐藏计划任务技术

Windows隐藏计划任务技术 0x00 前置知识 计划任务SCHTASKS命令 SCHTASKSSCHTASKS /Create 参数 SCHTASKS /Create [/S system [/U username [/P [password]]]][/RU username [/RP password]] /SC schedule [/MO modifier] [/D day][/M months] [/I idletime] /TN taskname …

手写SDK的秘诀

目录 什么是SDK?使用SDK的好处&#xff1f;手写SDK经验总结易用性如何提高易用性&#xff1f;1、统一调用2、集中配置3、良好的命名 可理解性1、结构清晰2、统一风格3、编写注释4、说明文档 可扩展性轻量依赖自定义实现 高效稳定 写在最后 什么是SDK? SDK&#xff08;Softwa…

记一次大型微服务项目本地打包迁移部署

记一次大型微服务项目本地打包迁移部署 引代码合并发布过程本地部署服务配置服务打包自启动测试外部依赖排除部分外部依赖 引 服务的运维也是一个挺复杂工作&#xff0c;如项目上线后的一次小版本发布&#xff0c;开发人员需要基于工程最新代码拉取feature分支&#xff0c;本地…

CPU性能优化——“瑞士军刀“

背景 最近在做一些工具的预研工作&#xff0c;会涉及到对工具的压力测试&#xff0c;分析工具的资源消耗等问题&#xff0c;其中CPU 资源消耗是关键指标之一。为了后续性能优化做准备&#xff0c;回顾了以前相关CPU优化知识&#xff0c;并做总结分享。希望能帮助到正在遇到相关…

如何为3D模型设置自发光材质?

1、自发光贴图的原理 自发光贴图是一种纹理贴图&#xff0c;用于模拟物体自发光的效果。其原理基于光的发射和反射过程。 在真实世界中&#xff0c;物体自发光通常是由于其本身具有能够产生光的属性&#xff0c;如荧光物质、发光材料或光源本身。为了在计算机图形中模拟这种效…

Zabbix出现 404Not FoundThe requested URL /zabbix was not found on this server.

目录 一、问题&#xff1a; 二、原因&#xff1a; 三、解决方法&#xff1a; 一、问题&#xff1a; Not Found The requested URL /zabbix was not found on this server. 二、原因&#xff1a; 未找到 在此服务器上找不到请求的 URL /zabbix。 /etc/httpd/conf.d 目录…

AI是未来?——知识导航

AI是未来&#xff1f;——知识导航 文章目录 AI是未来&#xff1f;——知识导航一、问题记录&#xff1a;1. LoRA微调的原理&#xff1f;网络层是什么&#xff1f;2. P-tuning v2原理&#xff1f;3. 词嵌入&#xff0c;word embedding4. 下图含义&#xff1f;5. 过拟合6. loss定…

蓝桥杯双周赛算法心得——摆玩具(分段的差不计入结果)

大家好&#xff0c;我是晴天学长&#xff0c;这是一道可以牢记的数学技巧题。 1) .摆玩具 2) .算法思路 1.创建一个Scanner对象以从用户读取输入。 2.从用户读取n和k的值&#xff0c;分别表示数组的大小和k的值。 3.创建一个大小为n的整数数组a&#xff0c;用于存储输入的数…

C语言 sizeof 函数内部进行计算

直接看代码 #include <stdio.h> int main() {int i 2;int j;j sizeof(i i);printf("i %d, j %d", i ,j);return 0; }执行结果&#xff1a; 可以看到 i的值一直是没有变的&#xff0c; j 是int类型下 sizeof占用的大小为 4个字节&#xff0c;不是i的 22…

百看不厌的85M²现代极简装饰设计。福州中宅装饰,福州装修

简而不凡 设计&#xff0c;是美好生活的序章 每个人&#xff0c;对家都有不同的想法 但对未来美好新居的向往是相同的 ABOUT THE CASE 案例简介&#xff1a; 作品&#xff1a;尽兴 风格&#xff1a;极简 面积&#xff1a;82平方 户型&#xff1a;SOHO 本套案例85㎡的公…