首页 > 数据库 >强化学习SQL算法(soft q leanring)中的squash_correction是否存疑?

强化学习SQL算法(soft q leanring)中的squash_correction是否存疑?

时间:2024-12-22 14:31:52浏览次数:4  
标签:采样 tanh correction squash leanring SQL softlearning

SQL算法的官方实现地址:

https://openi.pcl.ac.cn/devilmaycry812839668/softlearning



提两个问题:

  1. SQL算法的原始论文中在计算Q loss function的时候建议使用重要性采样,而实际代码中却使用的是均匀采样,同时也没有采样重要性采样的方法进行修正,而原始论文中在这一步的推导公式中也没有加入重要性采样的分布比重这一参数项;

  2. SQL的官方实现中进行了squash_correction,也就是加入了log_det_jacobian,关于squash_correction这部分的理论知识,见:

https://www.cnblogs.com/xyz/p/18621025

重要的数学推导为:

image



由于在官方实现中https://openi.pcl.ac.cn/devilmaycry812839668/softlearning已经对policy的tanh变换进行了Bijector,那么在进行policy loss function计算的时候是不应该在进行squash_correction的,但是官方实现中却进行了squash_correction,见:

https://openi.pcl.ac.cn/devilmaycry812839668/softlearning/src/branch/master/softlearning/algorithms/sql.py


image


因为在代码的policy实现部分已经对tanh进行了Bijector,那么policy在进行sample的时候获得的action是squash之后的,也就是说我们获得的action就是Y,而不是X,因此不需要再考虑Y=tanh(X)所带来的squash校准问题,代码地址:

https://openi.pcl.ac.cn/devilmaycry812839668/softlearning/src/branch/master/softlearning/policies/base_policy.py

image


根据数学推导:

image

之所以强化学习中很多代码在采样后tanh变换后进行squash修正,是因为其都是在tanh变换之前采样的,如:
https://colab.research.google.com/github/google/brax/blob/main/notebooks/training_torch.ipynb 中就是进行的X采样,而不是Y采样,因此其需要进行squash_correction,因此引入log_det_jacobian,而在SQL算法的实现中由于采用了tfp.bijectors.Tanh(),因此其采样是对Y进行的采样,因此不应该进行squash_correction。

而SQL代码中进行的squash_correction从形式上看更像是对logP(X=x)的求解,而其进行KL计算时源分布是tanh变换后的分布,因此目标分布部分的logP应该是logP(Y=y)而不应该是logP(X=x)。



PS:

以上只是个人的一些理解,是否正确没有定论,只是阐述下个人的代码理解和数学推导理解和强化学习算法的一些理解。



标签:采样,tanh,correction,squash,leanring,SQL,softlearning
From: https://www.cnblogs.com/xyz/p/18622101

相关文章

  • PVE系统下——OpenWRT一键扩容脚本(x86下EXT4&SquashFS)
    扩容了x86上的OpenWrt根分区和文件系统。1.PVE上增加硬盘大小2.执行脚本安装依赖opkgupdateopkginstallpartedlosetupresize2fs下载脚本并一键执行wget-U""-Oexpand-root.sh"https://openwrt.org/_export/code/docs/guide-user/advanced/expand_root?......
  • 强化学习:人形机器人 —— soft-q-leanring的官方实现的配置环境
    项目源码地址:https://github.com/rail-berkeley/softlearningmujoco版本为200,地址:https://www.roboti.us/download.htmlpython版本3.8具体配置环境如下:(softlearning)root@I1e4c53bdf900b01340:~/softlearning#piplistPackageVersionLo......
  • rockchip刷机,更换rootfs后系统卡死,提示unable to read squashfs_super_block,mounting
     rochchippx30刷机后卡在系统引导界面。具体系统引导日志为:[2.812287]device-mapper:verity:sha256usingimplementation"sha256-ce"VerityOK[2.824325]EXT4-fs(mmcblk1p11):recoverycomplete[2.824840]EXT4-fs(mmcblk1p11):mountedfilesyste......
  • Dockerfile说明-镜像最小化-docker-squash镜像压缩工具
     概述很多时候,构建的镜像总是在构建完之后分了好几个镜像层,有些镜像层还是因为只改变了一点东西,就多了整个目录的大小。那么,如何让镜像在构建的时候保持最小化,就是我们运维需要关心的问题。毕竟,有时候镜像太大,可能会被某些厂家的云仓库给限制上传的问题。 Dockerfile用法介......
  • 嵌入式文件系统介绍合集:FAT32、exFAT、ext3、ext4、jffs2、yaffs2、ubifs、squashf
    liwen012024.07.21前言在嵌入式Linux系统中常用的文件系统有:FAT32、exFAT、ext3、ext4、jffs2、yaffs2、ubifs、squashfs。不管是在文件系统类型选型还是嵌入式应用软件面试中,关于文件系统的问题都会经常被提起。就目前而言,并没有哪款文件系统可以适用于所有应用场景,它们各......
  • 文件系统(十一):Linux Squashfs只读文件系统介绍
    liwen012024.07.21前言嵌入式Linux系统中,squashfs文件系统使用非常广泛。它主要的特性是只读,文件压缩比例高。对于flash空间紧张的系统,可以将一些不需要修改的资源打包成压缩的只读文件系统格式,从而达到节省空间的目的。另外还有个特性就是它可以分块解压缩,使用数据会更加灵活......
  • 论文解读——CVPR2024《Learning by Correction: Efficient Tuning Task for Zero-Sho
    一、研究背景  视觉-语言模型是一类能够处理和理解图像及其相关文本信息的模型,它们在多种视觉-语言任务中展示了卓越的性能。这些任务包括图像描述(imagecaptioning)、视觉问题回答(visualquestionanswering)、图像-文本检索(image-textretrieval)等。这些模型通常经过大规......
  • [论文阅读] Aligner@ Achieving Efficient Alignment through Weak-to-Strong Correct
    Pretitle:Aligner:AchievingEfficientAlignmentthroughWeak-to-StrongCorrectionsource:Arxiv2024paper:https://arxiv.org/abs/2402.02416code:https://aligner2024.github.io/ref:https://mp.weixin.qq.com/s/O9PP4Oc_Ee3R_HxKyd31Qg关键词:LLM,align,fin......
  • 【已解决】squashfs4.3编译过程中的一些问题
    Q:执行./build.sh时,mksquashfs.c和unsquashfs.c报错找不到major()和minor()函数的定义,找不到‘makedev’cc-O2-I.-D_FILE_OFFSET_BITS=64-D_LARGEFILE_SOURCE-D_GNU_SOURCE-DCOMP_DEFAULT=\"gzip\"-Wall-DGZIP_SUPPORT-DXATTR_SUPPORT-DXATTR_DEFAULT-c-omksqua......
  • 《Codes With Local Regeneration and Erasure Correction》论文解读
    首先确立自己读这篇论文期待收获什么:1.最重要的:懂作者如何将Local和Regeneration结合,通过什么样的方法,得到了什么样的结果2.理清作者的写作思路,尽量看懂作者引经据典的背后代表了什么 然后分析论文的结构和过程,看看作者是怎么写的:1.先从局部性出发,介绍什么是LocallyRe......