# [0622] Task02 model-free 免模型类 RL 算法的预测和控制 【ε 贪心策略 优化的证明】

news2024/12/23 0:12:16
  • easy-rl PDF版本 笔记整理 P3
  • joyrl 比对 补充 P4 - P5
  • 相关 代码 整理 ——> 有空 另开一页

最新版PDF下载
地址:https://github.com/datawhalechina/easy-rl/releases
国内地址(推荐国内读者使用)
链接: https://pan.baidu.com/s/1isqQnpVRWbb3yh83Vs0kbw 提取码: us6a

easy-rl 在线版本链接 (用于 copy 代码)
参考链接 2:https://datawhalechina.github.io/joyrl-book/

其它:
【勘误记录 链接】
——————
5、深度强化学习基础 ⭐️
开源内容:https://linklearner.com/learn/summary/11
——————————

表格型:蒙特卡洛、Q-learning、Sarsa

状态转移概率 p [ s t + 1 , r t ∣ s t , a t ] p[s_{t+1},r_t|s_t,a_t] p[st+1,rtst,at]: 在状态 s t s_t st 选择动作 a t a_t at 后, 转移到状态 s t + 1 s_{t+1} st+1,得到奖励 r t r_t rt 的概率。

马尔可夫性质: 系统下一时刻的状态仅由当前时刻的状态决定, 不依赖于以往任何状态。

状态转移概率 和 奖励未知: model-free。 免模型

模型未知 或 模型太大 ——> 免模型方法

考虑未来的总奖励的原因: 奖励延迟

折扣因子 γ \gamma γ: 当前行为 对 太远的未来的某一个回报可能毫无关系。

用下一状态的价值 来更新 当前状态的 价值。 自举
时序差分: 每走一步更新一次 Q 表格, 用下一个状态的 Q 值 来 更新当前状态 的 Q 值。

蒙特卡洛方法:
采样大量 episode ,计算所有 episode 的真实回报,计算平均值, 当做 状态值的估计。

蒙特卡洛:
V ( s t ) ← V ( s t ) + α ( G i , t − V ( s t ) ) V(s_t)\leftarrow V(s_t) +\alpha(G_{i,t}-V(s_t)) V(st)V(st)+α(Gi,tV(st))

时序差分:
V ( s t ) ← V ( s t ) + α ( r t + 1 + γ V ( s t + 1 ) − V ( s t ) ) V(s_t)\leftarrow V(s_t) +\alpha(r_{t+1}+\gamma V(s_{t+1})-V(s_t)) V(st)V(st)+α(rt+1+γV(st+1)V(st))

时序差分蒙特卡洛
可在线学习,效率高必须等游戏结束
不要求序列完整完整序列
连续任务有终止的任务
马尔可夫非马尔可夫更高效
有偏估计无偏估计
方差小、自举方差大

时序差分 优势: 低方差, 能够在线学习, 能够从不完整的序列中学习。

————————————————

证明:对于任意 策略 π \pi π, 根据其动作价值函数 q π q_\pi qπ 计算的 ε \varepsilon ε -贪心策略 π ′ \pi^\prime π 比原策略 π \pi π 好 或 至少一样好。

π ( a ∣ s ) = { ε ∣ A ( s ) ∣ + 1 − ε , 贪心动作 ε ∣ A ( s ) ∣ , 其它动作 \pi(a|s)=\left\{ \begin{aligned} &\frac{\varepsilon}{|\mathcal{A}(s)|}+1- \varepsilon, &贪心动作\\ &\frac{\varepsilon}{|\mathcal{A}(s)|}, &其它动作\\ \end{aligned} \right. π(as)= A(s)ε+1ε,A(s)ε,贪心动作其它动作

由上式:
——> π ( a ∣ s ) − ε ∣ A ( s ) ∣ = { 1 − ε , 贪心动作 0 , 其它动作 \pi(a|s)-\frac{\varepsilon}{|\mathcal{A}(s)|}=\left\{ \begin{aligned} &1- \varepsilon, &贪心动作\\ &0, &其它动作\\ \end{aligned} \right. π(as)A(s)ε={1ε,0,贪心动作其它动作
——> π ( a ∣ s ) − ε ∣ A ( s ) ∣ 1 − ε = { 1 , 贪心动作 0 , 其它动作 \frac{ \pi(a|s)-\frac{\varepsilon}{|\mathcal{A}(s)|}}{1-\varepsilon}=\left\{ \begin{aligned} &1, &贪心动作\\ &0, &其它动作\\ \end{aligned} \right. 1επ(as)A(s)ε={1,0,贪心动作其它动作

q π ( s , π ′ ( s ) ) = ∑ a ∈ A π ′ ( a ∣ s ) q π ′ ( s , a ) = ε ∣ A ( s ) ∣ ∑ a ∈ A q π ( s , a ) + ( 1 − ε ) max ⁡ a ∈ A q π ( s , a ) = ε ∣ A ( s ) ∣ ∑ a ∈ A q π ( s , a ) + ( 1 − ε ) ∑ a ∈ A π ( a ∣ s ) − ε ∣ A ( s ) ∣ 1 − ε max ⁡ a ∈ A q π ( s , a ) ≥ ε ∣ A ( s ) ∣ ∑ a ∈ A q π ( s , a ) + ( 1 − ε ) ∑ a ∈ A π ( a ∣ s ) − ε ∣ A ( s ) ∣ 1 − ε q π ( s , a )     这个  q π ( s , a )  没有  ε  贪心动作对应的  q  大 = ∑ a ∈ A π ( a ∣ s ) q π ( s , a ) \begin{aligned}q_\pi(s, \pi^\prime(s))&=\sum\limits_{a\in\mathcal A}\pi^\prime(a|s)q_{\pi^\prime}(s,a)\\ &=\frac{\varepsilon}{|\mathcal{A}(s)|}\sum\limits_{a\in\mathcal A}q_\pi(s, a)+(1-\varepsilon)\max\limits_{a\in\mathcal A}q_\pi(s, a)\\ &=\frac{\varepsilon}{|\mathcal{A}(s)|}\sum\limits_{a\in\mathcal A}q_\pi(s, a)+(1-\varepsilon)\textcolor{blue}{\sum\limits_{a\in \cal A}\frac{ \pi(a|s)-\frac{\varepsilon}{|\mathcal{A}(s)|}}{1-\varepsilon}}\max\limits_{a\in\mathcal A}q_\pi(s, a)\\ &\geq \frac{\varepsilon}{|\mathcal{A}(s)|}\sum\limits_{a\in\mathcal A}q_\pi(s, a)+(1-\varepsilon)\sum\limits_{a\in \cal A}\frac{ \pi(a|s)-\frac{\varepsilon}{|\mathcal{A}(s)|}}{1-\varepsilon}q_\pi(s, a)~~~\textcolor{blue}{这个 ~q_\pi(s, a) ~没有~ \varepsilon ~贪心动作 对应的 ~q ~ 大}\\ &=\sum\limits_{a\in\mathcal A}\pi (a|s)q_ \pi (s,a)\end{aligned} qπ(s,π(s))=aAπ(as)qπ(s,a)=A(s)εaAqπ(s,a)+(1ε)aAmaxqπ(s,a)=A(s)εaAqπ(s,a)+(1ε)aA1επ(as)A(s)εaAmaxqπ(s,a)A(s)εaAqπ(s,a)+(1ε)aA1επ(as)A(s)εqπ(s,a)   这个 qπ(s,a) 没有 ε 贪心动作对应的 q =aAπ(as)qπ(s,a)

————————————

偏差高: 偏离真实数据
方差高: 数据分布分散。

时序差分: 更新 V
Sarsa:更新 Q
q ( s t , a t ) = q ( s t , a t ) + α [ r t + 1 + γ q ( s t + 1 , a t + 1 ) ⏞ 时序差分目标 − q ( s t , a t ) ⏟ 时序差分误差 ] q(s_t, a_t)=q(s_t,a_t)+\textcolor{blue}{\alpha}[\underbrace{\overbrace{\textcolor{blue}{r_{t+1}+\gamma q(s_{t+1},a_{t+1})}}^{时序差分目标}-q(s_t,a_t)}_{时序差分误差}] q(st,at)=q(st,at)+α[时序差分误差 rt+1+γq(st+1,at+1) 时序差分目标q(st,at)]

Sarsa: ( s t , a t , r t + 1 , s t + 1 , a t + 1 ) (\textcolor{blue}{s}_t, \textcolor{blue}{a}_t,\textcolor{blue}{r}_{t+1}, \textcolor{blue}{s}_{t+1}, \textcolor{blue}{a}_{t+1}) (st,at,rt+1,st+1,at+1)

在这里插入图片描述

Sarsa: 同策略的时序差分
Q-learning: 异策略的时序差分

q ( s t , a t ) = q ( s t , a t ) + α [ r t + 1 + γ max ⁡ a q ( s t + 1 , a ) ⏞ 时序差分目标 − q ( s t , a t ) ⏟ 时序差分误差 ] q(s_t, a_t)=q(s_t,a_t)+\alpha[\underbrace{\overbrace{r_{t+1}+\gamma \textcolor{blue}{\max_{a}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)]

同策略:学习的策略 和 与环境交互的策略 是同一个。不稳定、胆小。 Sarsa
异策略:目标策略 和 行为策略。 激进。 Q-learning

————————
Q 表格: 横轴 动作, 纵轴 状态

同策略 VS 异策略: 生成样本的策略 和 参数更新的策略 是否相同。

Q 学习, 异策略, 优化策略 没有用到 行为策略的数据。

时序差分 使用了 自举, 实现了 基于平滑的效果, 方差较小。

——————————————
joyrl

免模型:
不需要学习较为复杂的模型 (状态转移概率 和 奖励)
需要与真实环境进行大量的交互

异策略算法:从经验池或者历史数据中进行学习的。

其一是智能体在测试的时候直接用模型预测的动作输出就行,即在训练中是采样动作(带探索),测试中就是预测动作,其二是训练过程中不需要更新策略,因为已经收敛了。

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

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

相关文章

Keka for Mac:轻量级压缩解压神器

Keka for Mac是一款专为Mac用户打造的轻量级压缩解压软件,凭借其强大的功能和简洁易用的界面,赢得了众多用户的喜爱。无论是日常办公还是学习娱乐,Keka都能为您提供高效、安全的文件压缩和解压体验。 Keka for Mac v1.4.2中文版下载 产品特点…

NAT和内网穿透

NAT(Network Address Translation,网络地址转换)是一种广泛应用于计算机网络的技术,其主要目的是为了解决IPv4地址空间的短缺问题,并且增强网络安全。NAT技术允许一个私有网络内的多个设备共享一个或几个全局唯一的公共…

JavaEE之HTTP协议(1)_HTTP基础知识,HTTP 请求、响应格式,方法,状态码

一、HTTP协议 1.1 基本概念: HTTP全称超文本传输协议,是一种无状态的、应用层的协议,它基于请求/响应模型。客户端(通常是Web浏览器)通过发送HTTP请求到服务器来获取或发送信息,服务器则返回HTTP响应作为回应。HTTP协…

MySQL实训--原神数据库

原神数据库 er图DDL/DML语句查询语句存储过程/触发器 er图 DDL/DML语句 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;DROP TABLE IF EXISTS artifacts; CREATE TABLE artifacts (id int NOT NULL AUTO_INCREMENT,artifacts_name varchar(255) CHARACTER SET utf8 COLLATE …

宿主机无法通过ip连接wsl2解决方案

文章目录 原因排查网络模式win11防火墙关闭wsl ubuntu防火墙 如果之前能连接现在连接不上可以参考该方案 原因排查 网络模式win11防火墙(win11新增了Hyper-V防火墙)wsl2 ubuntu防火墙 网络模式 wsl2的默认网络模式是NAT&#xff0c;建议修改为镜像模式。在C:\Users\<User…

深入探讨极限编程(XP):技术实践与频繁发布的艺术

目录 前言1. 极限编程的核心原则1.1 沟通1.2 简单1.3 反馈1.4 勇气1.5 尊重 2. 关键实践2.1 结对编程2.1.1 提高代码质量2.1.2 促进知识共享2.1.3 增强团队协作 2.2 测试驱动开发&#xff08;TDD&#xff09;2.2.1 提升代码可靠性2.2.2 提高代码可维护性2.2.3 鼓励良好设计 2.3…

Volatility 内存取证【信安比赛快速入门】

一、练习基本命令使用 1、获取镜像信息 ./volatility -f Challenge.raw imageinfo 一般取第一个就可以了 2、查看用户 ./volatility -f Challenge.raw --profileWin7SP1x64 printkey -K "SAM\Domains\Account\Users\Names" 3、获取主机名 ./volatility -f Challenge…

【学习】使用PyTorch训练与评估自己的ResNet网络教程

参考&#xff1a;保姆级使用PyTorch训练与评估自己的ResNet网络教程_训练自己的图像分类网络resnet101 pytorch-CSDN博客 项目地址&#xff1a;GitHub - Fafa-DL/Awesome-Backbones: Integrate deep learning models for image classification | Backbone learning/comparison…

Java医院绩效考核系统源码:考核目标、考核指标、考核方法、考核结果与奖惩措施

Java医院绩效考核系统源码&#xff1a;考核目标、考核指标、考核方法、考核结果与奖惩措施 随着我国医疗体制的改革广大人民群的看病难&#xff0c;看病贵的问题一直没有得到有效地解决医疗费用的上涨&#xff0c;远远大于大多数家庭收入的增长速度。医院的改革已经势在必行&am…

左右旋分辨

从端头看&#xff0c;切削路径顺时针是右旋&#xff0c;反时针左旋。

OpenCL在移动端GPU计算中的应用与实践

一、引言 移动端芯片性能的不断提升为在手机上进行计算密集型任务&#xff0c;如计算机图形学和深度学习模型推理&#xff0c;提供了可能。在Android设备上&#xff0c;GPU&#xff0c;尤其是高通Adreno和华为Mali&#xff0c;因其卓越的浮点运算能力&#xff0c;成为了异构计…

计算机SCI期刊,中科院3区,易录用,收稿广泛

一、期刊名称 The Journal of Supercomputing 二、期刊简介概况 期刊类型&#xff1a;SCI 学科领域&#xff1a;计算机科学 影响因子&#xff1a;3.3 中科院分区&#xff1a;3区 三、期刊征稿范围 《超级计算杂志》发表有关超级计算各个方面的技术、架构和系统、算法、语…

【PromptCC】遥感图像变化字幕的解耦范式

摘要 以往的方法忽略了任务的显著特异性&#xff1a;对于不变和变化的图像对&#xff0c;RSICC难度是不同的&#xff0c;以一种耦合的方式处理未变化和变化的图像对&#xff0c;这通常会导致变化字幕的混淆。论文链接&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp…

CircuitBreaker断路器-Resilience4j

目录 背景分布式架构面临的问题&#xff1a;服务雪崩如何解决&#xff1f; CircuitBreakerResilience4jCircuitBreaker 服务熔断服务降级三种状态转换例子参数配置案例demo作业 BulkHead隔离特性SemaphoreBulkhead使用了信号量FixedThreadPoolBulkhead使用了有界队列和固定大小…

非root用户crontab定时任务不执行

前言 有一个sh脚本&#xff0c;通过crontab -l写入后&#xff0c;发现并没有执行&#xff0c;手动执行脚本却正常&#xff0c;怀疑是权限上的问题。 排查 在/var/log/cron查看日志发现有" FAILED to authorize user with PAM (Module is unknown)"的报错 解决 …

基于阿里云 OpenAPI 插件,让 Grafana 轻松实现云上数据可视化

作者&#xff1a;徽泠 引言 Grafana 作为市场上领先的开源监控解决方案之一&#xff0c;使得数据监控和可视化变得触手可及。作为一款开源的数据可视化和分析软件&#xff0c;Grafana 支持查询、可视化、提醒和探索您的各种数据&#xff0c;无论它们存储在何处。Grafana 通过…

HTTP协议中的各种请求头、请求类型的作用以及用途

目录 一、http协议介绍二、http协议的请求头三、http协议的请求类型四、http协议中的各种请求头、请求类型的作用以及用途 一、http协议介绍 HTTP&#xff08;HyperText Transfer Protocol&#xff0c;超文本传输协议&#xff09;是一种用于分布式、协作式和超媒体信息系统的应…

兰州市红古区市场监管管理局调研食家巷品牌,关注细节,推动进步

近日&#xff0c;兰州市红古区市场监管管理局临平凉西北绿源电子商务有限公司进行了深入视察&#xff0c;为企业发展带来了关怀与指导。 食家巷品牌作为平凉地区特色美食的代表之一&#xff0c;一直以来凭借其纯手工工艺和独特的风味&#xff0c;在市场上占据了一席之地。领导…

0.7 模拟电视标准 PAL 简介

0.7 模拟电视标准PAL PAL 是一种用于模拟电视的彩色编码系统&#xff0c;全名为逐行倒相&#xff08;Phase Alternating Line&#xff09;。它是三大模拟彩色电视标准之一&#xff0c;另外两个标准是 NTSC 和 SECAM。“逐行倒相”的意思是每行扫描线的彩色信号会跟上一行倒相&…

读写内部闪存FLASH读取芯片ID

读写内部闪存FLASH 右下角是OLED&#xff0c;然后左上角在PB1和PB11两个引脚&#xff0c;插上两个按键用于控制。下一个代码读取芯片ID&#xff0c;这个也是接上一个OLED&#xff0c;能显示测试数据就可以了。 STM32-STLINK Utility 本节的代码调试&#xff0c;使用辅助软件…