强化学习笔记-07 n-step Bootstrapping 多步TD时分学习

article/2025/10/22 14:41:10

本文是博主对《Reinforcement Learning- An introduction》的阅读笔记,不涉及内容的翻译,主要为个人的理解和思考。

上一节介绍了TD算法,其采用了Bootstrapping方法,当前过去的预估以及即期收益来更新累积收益函数:

G_n(s,a)=R + \gamma Q_\pi (s', a')

前文我们提到,通过Bootstrapping TD算法,相比于蒙特卡罗法,可以加快学习速度,但另一方面在更新累积收益函数时会存在可能偏差。而n-step TD算法就是两种算法的中间结合,其在经过n步的蒙特卡罗法采样后,再通过Bootstrapping来预估后续收益,其累积收益函数的更新可以表示为:

G_{t:t+n}(s,a)=\sum_{i=0}^{n-1} \gamma^{i} R_{t+i} + \gamma^n Q_\pi (s', a')

在一些情况中,在单步中很难获得有意义的即时reward,另一方面又想要加快学习速度,n-step TD算法就非常适合,其可以在真实采样n步后,当到达一个有意义的状态后,再通过Bootstrapping来加快训练。n-step TD算法实际上是TD算法结合MC的一个变种。其价值函数的更新也可以改写为:

Q_{n}(s,a)=Q_{n-1}(s,a) + \alpha (G_n(s,a)-Q_{n-1}(s,a))

下图描述了n-step TD算法整体采样以及更新步骤,图中描述了在t时刻完成动作采样,转换下一状态后,更新t-n时刻的价值函数的过程。

 1. on-policy or offline-policy

on-policy和off-policy算法的不同主要不同在于采样动作时,是依赖于target-policy还是behavior-policy。简单来说,对于on-policy算法,采样是通过目标policy函数来选择的,而目标policy函数是在完成价值函数更新后进行修正的。

而off-policy定义了另一个behavior-policy来完成采样,其同价值函数更新后所修正的目标policy函数不同,其主要是为了explore。因此behavior-policy和target-policy之前的不同,会导致累积收益函数之前存在偏差,其需要通过重要性采样方式来修正。

\rho(A_t ,S_t )=\frac{\Pi^{n-1}_{i=0} \pi_\tau (A_{t+i}|S_{t+i})}{\Pi^{n-1}_{i=0} \pi_b(A_{t+i}|S_{t+i})}\\ Q(S_{t}, A_{t})=Q(S_{t}, A_{t}) +\alpha \rho(A_t ,S_t)(G_t^b-Q(S_{t}, A_{t}))

 2. n-step Tree Backup Algorithm

上节提到在off-policy策略,其引入了behavior-policy来完成样本采样,然后通过重要性采样来调整target-policy之间的偏差,本节所介绍Tree Backup方法,不是通过重要性采样来扭偏,而是直接通过target-policy来调整,下图介绍整体逻辑,其类似于上一篇所说的Expected on-policy方法。

上述的公式在求解G(S_t,A_t)时,需要用到G(S_{t+1},A_{t+1}),以及其他子路径的估计值Q(S_t,a),这种树形回溯计算的方式因此称之为Tree Backup算法。

3. 统一的算法

on-policy算法直接通过target-policy进行采样,而off-policy算法或者通过采用behavior-policy+重新性采样,或者类似于Tree Backup引入了期望估计的方法。on-policy方法收敛速度更快,但off-policy更可能找到最优点,因此一种统一算法是设定某个概率值\sigma来随机选择每步是用on-policy直接采样计算,还是通过off-policy算法进行更新,这种方式能综合两种策略的优点,称之为n-step Q(\sigma)算法。


http://chatgpt.dhexx.cn/article/5NR1eTNT.shtml

相关文章

BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Genera

Paper name BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation Paper Reading Note URL: https://arxiv.org/abs/2201.12086 TL;DR ICML 2022 文章,提出了BLIP,一种新的 Vision-Language…

2022: BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and

摘要 大多现有的视觉语言预训练好的模型只善于基于理解的任务或基于生成的任务,而且,性能的提高很大程度上是通过扩大来自web上收集的有噪声的图像-文本对的数据集,这是一个次优的监督来源。本文,提出BLIP,一种新的VLP…

同态加密:以CKKS为例的Bootstrapping操作介绍(不定期更新)

同态加密的Bootstrapping操作最早由Gentry在他的博士论文里提出,是实现分级同态加密到全同态加密之间转换的关键步骤。目前所有的bootstrapping工作都是基于Gentry的这个想法,未有出其右者。 这篇博客打算讲一下Bootstrapping的原理,同时看一…

TFHE拓展:Programmable Bootstrapping

Improved Programmable Bootstrapping with Larger Precision and Efficient Arithmetic Circuits for TFHE(对TFHE优化的可编程同态刷新的方案,拥有高精度和高效率) 索引 Improved Programmable Bootstrapping with Larger Precision and Ef…

十分流行自举法(Bootstrapping )为什么有效

我们的项目并不总是有充足的数据。通常,我们只有一个样本数据集可供使用,由于缺乏资源我们无法执行重复实验(例如A/B测试)。 幸运的是,我们有重采样的方法来充分利用我们所拥有的数据。自举法(Bootstrapping)是一种重…

《Hand Keypoint Detection in Single Images using Multiview Bootstrapping》及模型推理

论文:《Hand Keypoint Detection in Single Images using Multiview Bootstrapping》2017 链接:1704.07809.pdf (arxiv.org) code:Hand Keypoint Detection using Deep Learning and OpenCV | LearnOpenCV 论文略读 1.Introduction In th…

bootstraping

之前一位同学问及bootstrap,由此我查阅了几篇文献,初步知晓个皮毛:它是一种非参检验方法,利用重复抽样理论,来减少偏差、控制方差、得到有效置信区间等统计方法。国内bootstrap研究比较少,这里摘录了国外研…

CKKS自举笔记(CKKS Bootstrapping)

文章目录 CKKS Bootstrapping流程流程的框架如何做同态取模操作直接泰勒展开(naive idea)采用二倍角公式来拟合(欧密2018) 如何做同态编码或解码CKKS的编码和解码基础知识(明文下面怎么做)同态的旋转、共轭…

解决:‘config.status: error: Something went wrong bootstrapping makefile fragments......’问题

解决:‘config.status: error: Something went wrong bootstrapping makefile fragments......’问题 一、问题二、解决方法 一、问题 首先我们来看安装sqlite时报的这个错误: config.status: error: in ‘/home/dengyonghao/Downloads/sqlite-autoconf…

Bootstrapping的意义

一、原理解释 Bootstrapping 方法是种集成方法,通俗解释就是盲人摸象,很多盲人摸一头象,各自摸到的都不一样,但是都比较片面,当他们在一起讨论时,就得到了象的整体。 Bootstrap的过程,类似于重…

Bootstrapping method

Bootsrapping指的就是利用有限的样本资料经由多次重复抽样,重新建立起足以代表母体样本分布的新样本。 统计中我们常常需要做参数估计,具体问题可以描述为:给定一系列数据 假设它们是从分布F中采样得到的,参数估计就是希望估计分…

【强化学习】n步Bootstrapping

目录 n步TD 预测 n-step Sarsa n步off - policy学习 Per-reward Off - policy 方法 n步Tree Backup算法 BootStrapping原是推论统计学里的概念。所谓推论统计学,就是根据样本统计量来推算总体的统计量。n部方法通常会被用作eligibility trace思想的一个例子&am…

Bootstrapping

Bootstrapping从字面意思翻译是拔靴法,从其内容翻译又叫自助法,是一种再抽样的统计方法。自助法的名称来源于英文短语“to pull oneself up by one’s bootstrap”,表示完成一件不能自然完成的事情。1977年美国Standford大学统计学教授Efron提…

Bootstrapping?

一、什么是Bootstrapping? 中文翻译也叫“自助法(自举法)”。 类似于给鞋子穿鞋带,把鞋带穿进去在穿出来再穿进去。 举个例子,一个总体有五十人,没有办法直接测量总体的情况,我们就从总体中抽取一些样本,用…

华为机试题整理

1、整数反转后求和 #include <iostream> using namespace std; int reversenum(int x) {int a0;while (x>0) {aa*10x%10;x/10;}return a; } int reverseAdd(int a,int b) {if(a<1||a>70000||b<1||b>70000){return -1;}int num1reversenum(a);int num2re…

2021.华为机试某题

问题描述&#xff1a; 有M*N的节点矩阵&#xff0c;每个节点可以向8个方向&#xff08;上、下、左、右及四个斜线方向&#xff09;转发数据包&#xff0c;每个节点转发时会消耗固定时延&#xff0c;连续两个相同时延可以减少一个时延值&#xff08;即当有K个相同时延的节点连续…

牛客网华为机试题训练汇总(JavaScript)

牛客网华为机试题训练&#xff08;JavaScript Node环境&#xff09; 文章目录 牛客网华为机试题训练&#xff08;JavaScript Node环境&#xff09;前言一、题目1. HJ11 数字颠倒2. HJ22 汽水瓶3. HJ53 杨辉三角的变形4. HJ2 计算某字母出现次数5. HJ8 合并表记录6. HJ17 坐标移…

1、华为机试题记录

1、小型机通常采用RISC和unix操作系统。 RISC&#xff1a;精简指令集计算机&#xff0c;指令少&#xff0c;运行效率更高。 unix&#xff1a;商用UNIX现在主要是三大分支IBM的AIX,SUN的solaris&#xff0c;HP的hp-ux&#xff0c;运行在小型机上。金融电信等行业应用广泛&#x…

华为机试练习题汇总

华为机试练习广场&#xff1a; [华为机试练习题]1.周期串问题 - Yoona - 博客频道 - CSDN.NET[华为机试练习题]2.大数求和 - Yoona - 博客频道 - CSDN.NET[华为机试练习题]3.分解字符串 - Yoona - 博客频道 - CSDN.NET[华为机试练习题]4.简单密码破解 - Yoona - 博客频道 - CSD…

华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典

文章目录 2023 年用 Python 语言解华为 OD 机试题&#xff0c;一篇博客找全。华为 OD 机试题清单&#xff08;机试题库还在逐日更新&#xff09; 2023 年用 Python 语言解华为 OD 机试题&#xff0c;一篇博客找全。 在 2023 年&#xff0c;Python 已成为广泛使用的编程语言之一…