当前位置: 首页 > news >正文

强化学习(赵世钰版)-学习笔记(7.时序差分学习)

本章是课程算法与方法中的第四章,介绍的时序差分学习算法是基于随机近似方法设计的强化学习方法,也是model-free的方法。

时序差分算法是一种近似估计策略状态值的算法,具体的形式如下:

本质上是在当前t时刻,被访问到的状态采用近似迭代的策略(即上一章讲的RM算法)估计出一个状态值,没被访问到的维持不变。TD算法更新状态值的公式,可以展开来看。

TD Target是状态值的定义,当前回报加上打折后的后续状态值。TD Error是相关估计误差,类似于SGD里面的梯度。这里证明了随着迭代的持续,估计值会慢慢想真实值靠拢。

而TD Error是用于衡量t时刻的状态值与真实的状态值,如果相等皆大欢喜,如果不相等,则提供了策略修改的信息。

这里引入了一个贝尔曼方程的另一种形式-贝尔曼期望方程。

因为是Model-free,所以只能获取到相关的采样输入,代进贝尔曼期望方程,则为

所以,用RM算法计算状态值,可以表现为一下的一个迭代公式

TD算法的公式再次贴过了,方便两者的对比(即公式3和公式6)。

两个公式有一下差异,对RM算法的表达形式(即公式三)进行对应的修改,就变成了TD算法(公式六)。

这里对比了MC算法和TD算法,TD的算法快一些,不需要等所有抽样结束才开始算。

TD算法适用于计算状态值的算法,对应计算行为值的类似算法叫做Saras(state-action-reward-state-action的缩写),其表达式为

通过Saras算法,可以计算出行为值的期望值,并进一步找到最优策略,具体的方式如下伪代码所示;

介绍完Saras算法,后续是n-step Saras算法,这是Saras和MC算法的结合体。

n是这个算法的一个超参数,设为1变成原版的Saras算法,设为无穷则变成了MC算法。

n-step Saras结合了Saras和MC算法的特点,通过n来调整算法的倾向性。

然后是大名鼎鼎的Q-Learning,Saras的思路是估算出一个策略的行为值,并结合策略改进找到最优策略。而Q-Learning的策略是一步到位。

Q-Learning算法的数学模型如下所示,与Saras算法的形式类似,唯一区别就是TD Target(红框部分)

Q-Learning本质上就是用贝尔曼最优方程计算最优行为值。后面提到了On-policy和Off-policy,如果行为策略和目标策略一致,就是On-policy,否则就是Off-policy。

Off-policy的优点就在于,可以通过另一个策略的采样结果,来找到目标策略的最优情况。

那么怎么判断一个TD算法是On-policy还是Off-policy呢?第一个是看要解决的数学问题,第二个是看算法对实验样本的要求。

Q-Learning是Off-policy,而Saras和MC都是On-policy,因为需要计算的策略,用到的数据都是相同的策略生成的,同时也是个策略问题,都是通过迭代找到最优策略的。

Q-Learning完全不一样

Q-Learning分别可以用On-policy和Off-policy实现,下面是两种方法的伪代码

本章介绍的几个算法,数学模型的架构都是一样的,唯一的区别就是TD Target不一样。

这几个算法都是随机近似法来解决贝尔曼方程或贝尔曼最优方程(Q-Learning)。

个人感觉Monte Carlo、Saras和n-step Saras,分别类似于随机梯度下降、梯度下降、小批量梯度下降。

相关文章:

  • 在 Windows 上快速部署 OpenManus:从安装到运行
  • (七)使用X99主板搭配双XEON E5-2660 V4或同系列CPU+NVIDIA P106-100部署Deepseek的可行性
  • 简单5位验证码+快捷键的使用
  • 配置普通链接二维码规则 校验文件检查失败
  • 将后缀为GGUF 模型,运行在Ollama
  • 如何自己做奶茶,从此告别奶茶店
  • 基于Spring Boot的小区疫情购物系统的设计与实现(LW+源码+讲解)
  • 【从零开始学习计算机科学】数据库系统(三)关系数据库设计
  • 2024年第十五届蓝桥杯软件C/C++大学A组——五子棋对弈
  • Pandas真实案例进阶:从数据清洗到高性能分析的完整指南
  • 数据结构与算法——哈希表,数组加强哈希表,双链表加强哈希表
  • 【算法day9】回文数-给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。
  • Python和FastAPI框架开发和容器化部署AWS上支持多种LLM和向量数据库的微服务API
  • Mysql的utf8mb4_general_ci 与 utf8mb4_bin 的具体区别是什么?中文适合哪个?
  • 如何使用 ONLYOFFICE 宏对 PDF 表单中的特定字段执行计算
  • Gemini Robotics:Google DeepMind 让 AI 机器人真正“动”起来!
  • DeepSeek模型本地化部署方案及Python实现
  • Linux笔记---文件系统硬件部分
  • 大语言模型学习及复习笔记(1)语言模型的发展历程
  • TTL肖特基触发器
  • 中青报:“猿辅导员工猝死”事件上热搜,是对健康职场环境的共同关切
  • 美联储官员:货币政策不会立即改变,金融市场波动或致美国经济增长承压
  • 贵州通报9起群众身边不正之风和腐败问题典型案例
  • 农贸美学、业态再构、智能管理,今天的菜市场不止有菜
  • 我国风电光伏装机历史性超过火电
  • 新华视点丨广西抗旱一线调查