强化学习(赵世钰版)-学习笔记(8.值函数方法)

本章是算法与方法的第四章,是TD算法的拓展,本质上是将状态值与行为值的表征方式,从离散的表格形式,拓展到了连续的函数形式。
表格形式的优点是直观,便于分析,缺点是数据量较大或者连续性状态或者行为空间时,不能很好的处理(受限于存储和泛化能力)。
而函数形式的优点很明显,比如有10000个点,表格形式需要存储10000个数据,而用函数形式,仅需保存几个参数值,存储压力较小,且有泛化能力(可以生成新的样本点)。下面是一个例子,w是参数向量(parameter vector),因为是线性函数,所以向量维度为2(仅需保存这两个数),φ叫做特征向量(feature vector,专门的叫法)。
需要对应状态值,我们仅需将状态传入函数,即可获得结果,而不是用查表格的形式。
更新状态值的方式也不同,函数法是更新函数的参数向量,这个简介提升了泛化能力,因为为了修改当前值,也会间接影响相邻节点的情况。
但是函数法的缺点是,无法表征的那么精确(本质上是个拟合问题,不一定能找到真实的曲线),所以叫函数近似法。可以提升函数的阶数,从而增加函数的拟合能力。这个高阶曲线,如果将w看做自变量,那么本质上还是线性函数。
后面对值函数方法进行了一个总结,值函数的目的是用一个参数化的方程对状态值与行为值进行一个估计。优点是存储压力小,泛化能力强,难点是如何找到这个函数。
我们在这里用两个函数分别代表真实的状态值和估计出来的状态值,那么问题就变成了一个优化问题,找寻一个最优参数w,使得两者之间的意义是最小的,这样估计值就能尽可能的近似真实值。
这里定义了对应的目标函数,转换成了对目标函数求最小值,并找寻出对应的参数w。
那么这个随机变量S的分布是什么呢?第一种情况就是假设S服从均匀分布,这种方法就是简单,但缺点是真实的状态S不是服从均匀分布,因为各状态之间的重要性是不同的。
第二种情况是假设S服从一个稳定分布,这个稳定分布是马尔科夫过程无限执行下去后,整个系统自动收敛于一个固定的状态概率分布。
后面对稳定分布进一步进行了介绍,本质上还是Markov Process 的内容,无限执行下去,各状态之间的跳转概率就会稳定下来。
从线性代数的角度上看,就是计算这个状态转移矩阵的特征向量(特征值为1)
定义完成目标函数(估计值与真实值差异平方的期望)后,下一步就是对这个目标函数进行优化,用到的方法就是梯度下降法。这里的梯度求导,涉及到了这个期望的计算。
进一步,我们用随机梯度下降代替真实的梯度,从而简化计算。但是,目前仍有一些问题:随机梯度下降的样本采样, 也应满足稳定分布,但是这个采样是随机的。真实的状态值是未知的,也无法直接计算,只能用一个近似来使算法继续执行。
这个真实状态值的近似方法有两个,蒙特卡罗方法和时序差分方法(跟前面几章的内容对上了)
课程中主要介绍了基于时序差分的估计方法,缺点是仅能对状态值进行估计(还有一个行为值需要处理)
还有一个亟待回答的问题,就是这个值函数如何设计。常用的方法有两大类,线性方程和深度学习。
第一种方法的计算过程如下,这种方法叫做时序差分线性(TD-Linear)法。
时序查分线性法的优点是线性模型容易理解,容易将线性函数表征转化为表格类型的表征,缺点是特征向量不好选择。
转化的方式就是找寻一个特殊的特征向量,其本质上是一个One-Hot编码。
通过这个特殊的特征向量,就能把时序查分线性方法,转变成一个熟悉的时序查分表格方法。
这里对时序差分方法进行了一个总结,目标函数的目的是找寻一个值函数,能尽可能近似真实的状态值。用梯度下降法求解这个目标函数的最优解,因为真实的状态值不知道,所以用TD算法来近似。
前面介绍了对状态值的近似,找寻最优策略还需要行为值,行为值的近似一般用Saras算法。
Saras做近似的伪代码如下
类似于Saras算法,Q-Learning算法也能拓展一下用于值函数的近似。
用Q-Learning算法做值函数近似的伪代码如下
而Deep Q-Learning或者DQN,是利用神经网络来做一个非线性函数的近似,这也是深度学习在强化学习中比较成功的应用。
Deep Q-Learning的目的是使目标函数或者损失最小化
如何解决这个优化问题呢,用的是梯度下降。但是这个梯度下降不好计算,在这里引入了一个假设 ,w针对y是个固定值(至少是局部或者临时的)
为了解决这个优化问题,这里引入了两个网络-主网络(main network)和目标网络(target network)。 将目标函数中相加的两部分人为划分为主网络和目标网络,在求梯度的时候,固定住目标网络的参数,以简化梯度的计算。
双网络的模式本质上是计算梯度的一个技巧(为啥有用没看明白,这个假设是否成立,是否对真实结果有影响?)
另一个重要的概念叫做经验回放(Experience Replay),指的是采样到的样本不是直接用,而是先缓存到一个buffer里面。训练网络时,再从这个缓存buffer里面随机均匀采样,生成一个mini-batch用于训练网络。
这里采用经验回放的目的,是因为没有任何的先验知识,所以状态-行为对的分布被假设为均匀分布。
但是我们直接采样是依据某种策略产生的序列生成的,这个序列隐含了样本之间的相关性,所以用经验回放策略先进行缓存,再随机均匀采样生成mini-batch,从而消除样本之间的相关性。
这里又讨论了Q-Learning和Deep Q-Learning之间的差异,为什么有的需要经验回放
后面做了实验,Deep Q-Learning仅用了浅层的网络,就能达到很好的效果。

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

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

相关文章

[特殊字符] 2025蓝桥杯备赛Day7——B2117 整理药名

🔍 2025蓝桥杯备赛Day7——B2117 整理药名 题目难度:⭐️ 适合掌握字符串基础操作 考察重点:大小写转换、字符串遍历、边界条件处理 B2117 整理药名 题目描述 医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你…

笛卡尔轨迹规划之齐次变换矩阵与欧拉角、四元数的转化

一、笛卡尔轨迹规划需求 笛卡尔轨迹规划本质就是我们对机械臂的末端位置和姿态进行规划,其实也就是对末端坐标系的位姿进行规划。我们清楚末端坐标系的位姿是可以用齐次变换矩阵T来表示的,但这样表示的话,并不利于我们去做规划,所…

【PCIe 总线及设备入门学习专栏 3.1 -- PCIe 中为何只有 TLP 会被 Switch 和 RC 进行路由?】

文章目录 Overview为什么 DLLP 不需要路由呢?总结Overview 这里介绍些为什么在 PCIe 中只有 TLP(事务层数据包)会被 Switch 和 Root Complex(RC) 路由,而 DLLP(数据链路层数据包)和 Ordered Set 不会被路由。这是因为 TLP 起始于源端口的事务层,结束于目的端口的事务…

大摩闭门会:250321 学习总结报告

如果图片分辨率不足,可右键图片在新标签打开图片或者下载末尾源文件进行查看 本文只是针对视频做相应学术记录,进行学习讨论使用

深入理解 Spring Boot 应用的生命周期:从启动到关闭的全流程解析

引言 Spring Boot 是当今 Java 开发中最流行的框架之一,它以简化配置和快速开发著称。然而,要真正掌握 Spring Boot,理解其应用的生命周期是至关重要的。本文将深入探讨 Spring Boot 应用的生命周期,从启动到关闭的各个阶段&…

期刊分区表2025年名单下载(经济学、管理学)

2025年期刊分区表包括SCIE、SSCI、A&HCI、ESCI和OAJ,共设置了包括自然科学、社会科学和人文科学在内的21个大类 本次分享的是期刊分区表2025年名单经济学类、管理学类,一共7631025条 一、数据介绍 数据名称:期刊分区表2025年名单 数据…

梦回杭州...

她对我说,烟雨中的西湖更别有情趣,我也怀着对‘人间天堂’的憧憬踏上了向往之旅。第一次亲密接触没有感觉中那么好,现在想起来是那时的人和心情都没能安静下来,去慢慢品味它的美。 六下杭州,亲历每一片风景&#xff0c…

深度优先搜索(DFS)完全解析:从原理到 Java 实战

深度优先搜索(DFS)完全解析:从原理到 Java 实战 TOC 作为一名程序员,你是否遇到过需要在复杂的图结构中寻找路径、检测环,或者进行树遍历的问题?深度优先搜索(Depth-First Search, DFS&#xf…

【人工智能】如何理解transformer中的token?

如何理解transformer中的token? **一、Token在Transformer中的作用****二、文本分词的常见方法****1. 基于词典的分词(Dictionary-based Tokenization)****2. 子词分词(Subword Tokenization)****(1) WordPiece算法****(2) BPE&a…

AI风向标《AI与视频制作全攻略:从入门到精通实战课程》

课程信息 AI风向标《AI与视频制作全攻略:从入门到精通实战课程》,夸克网盘和百度网盘课程。 课程介绍 《AI与视频制作全攻略:从入门到精通实战课程》是一套全面融合AI技术与视频制作的实战课程,旨在帮助创作者从基础软件使用到高级视频剪辑…

mayfly-go开源的一站式 Web 管理平台

mayfly-go 是一款开源的一站式 Web 管理平台,旨在通过统一的界面简化 Linux 服务器、数据库(如 MySQL、PostgreSQL、Redis、MongoDB 等)的运维管理。以下从多个维度对其核心特性、技术架构、应用场景及生态进行详细解析: 一、核心…

车辆模型——运动学模型

文章目录 约束及系统移动机器人运动学模型(Kinematic Model)自行车模型含有加速度 a a a 的自行车模型系统偏差模型 在机器人的研究领域中,移动机器人的系统建模与分析是极为关键的基础环节,本文以非完整约束的轮式移动机器人为研…

go命令使用

查看配置信息 go env配置go国内源 export GO111MODULEon export GOPROXYhttps://goproxy.cn测试 go install github.com/jesseduffield/lazydockerlatesthttps://github.com/jesseduffield/lazydocker

Chrome-Edge-IDEA-Win 常用插件-工具包

Chrome-Edge-IDEA-Win 常用插件-工具包 Chrome-Edge-IDEA-Win 常用插件-工具包谷歌插件chropathJSONViewOctotree - GitHub code treeXPath Helper书签侧边栏篡改猴Print Edit WEEdge浏览器插件IDEA插件CodeGlance Pro 代码迷你缩放图插件Alibaba Cloud ToolkitAlibaba Java Co…

西门子V90伺服系统介绍

深入浅出地了解V90伺服驱动系统的核心特性和优势,掌握其自动优化功能,使设备获得更高的动态性能;同时,了解其自动抑制机械谐振频率的特性,有助于在实际应用中减少机械振动和噪音。 方便快捷地熟悉V90的使用方式。通过伺…

【FastGPT】利用知识库创建AI智能助手

【FastGPT】利用知识库创建AI智能助手 摘要创建知识库上传文档创建应用准备提示词准备开场白关联知识库AI回答效果 摘要 关于FastGPT的部署,官方提供了docker-compose方式的部署文档,如果使用的是podman和podman-compose的同学,可以参考这篇…

最新!Ubuntu Docker 安装教程

源自: AINLPer(每日干货分享!!) 编辑: ShuYini 校稿: ShuYini 时间: 2025-3-1 更多:>>>>大模型/AIGC、学术前沿的知识分享! 看到很多部署大模型的时候,都是基于docker安装部署的。…

html5炫酷3D立体文字效果实现详解

炫酷3D立体文字效果实现详解 这里写目录标题 炫酷3D立体文字效果实现详解项目概述技术实现要点1. 基础布局设置2. 动态背景效果3. 文字渐变效果4. 立体阴影效果5. 悬浮动画效果 技术难点及解决方案1. 文字渐变动画2. 立体阴影效果3. 性能优化 浏览器兼容性总结 项目概述 在这个…

电脑如何设置几分钟后自动关机

摘要:本文提供Windows、macOS和Linux系统设置定时自动关机的详细方法。 目录 一、Windows系统设置方法 设置定时关机 取消关机计划 二、macOS系统设置方法 设置定时关机取消关机计划 三、Linux系统设置方法 设置定时关机 取消关机计划 四、注意事项五、扩展&#x…

Android音视频多媒体开源库基础大全

从事音视频开发工作,需要了解哪些常见的开源库,从应用到底软系统,整理了九大类,这里一次帮你总结完。 包含了应用层的MediaRecorder、surfaceView,以及常见音视频处理库FFmpeg和OpenCV,还有视频渲染和音频…