首页 > 其他分享 >Striving for Simplicity and Performance in Off-Policy DRL: Output Normalization and Non-Uniform Samp

Striving for Simplicity and Performance in Off-Policy DRL: Output Normalization and Non-Uniform Samp

时间:2023-08-12 09:03:33浏览次数:35  
标签:Simplicity Non Off SAC batch 作者 entropy Policy


发表时间:2020(ICML 2020)
文章要点:这篇文章基于SAC做简单并且有效的改进来提升效果。作者首先认为SAC里面的entropy是为了解决action saturation due to the bounded nature of the action spaces,这个意思就是说动作空间假如约束到[0-1],动作通常会在0和1两个端点处,而加了entropy可以很好缓解这个问题。然后作者提出了一个streamlined algorithm with a simple normalization scheme or with inverted gradients,可以在没有entropy的情况下达到SAC一样的效果。接着又提出了一个新的experience replay方法来重点采recent的样本(ERE),整个算法叫做Streamlined Off Policy with Emphasizing Recent Experience。
对于Bounded Action Spaces,通常的做法是用clip

或者是用tanh作为最后一层,然后再放缩

DDPG和TD3用的前者,SAC用的后者。作者想说,这两种方式都会有可能造成动作太接近两个端点值,并且由于tanh,如果网络输出的μ一开始比较大的话,其实很难再回到一个合理的范围内

作者把这个问题叫做squashing exploration problem。作者提出了一个简单的方法来缓解这个问题,就是对输出的均值\(\mu\)先做归一化

另一个改进是Inverting Gradients,就是不去归一化均值,而是在计算梯度的时候根据均值的量级来调整梯度大小

最后一个改进就是Emphasizing Recent Experience,大致思路就是在采batch的时候,第一个batch从所有样本里采,后面的batch的采样范围逐渐缩小到最近的样本

看起来效果都很一般

总结:拼凑的痕迹挺重的,而且感觉就没有啥提升,不知道为啥就能中。
疑问:ERE里面假设会采样很多个mini-batch,但是同时不是每个step就采一个batch更新吗,从伪代码里看的话应该是每个episode更新一下,而不是每个step更新。

标签:Simplicity,Non,Off,SAC,batch,作者,entropy,Policy
From: https://www.cnblogs.com/initial-h/p/17624300.html

相关文章

  • 【剑指Offer】25、复杂链表的复制
    【剑指Offer】25、复杂链表的复制题目描述:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。解题思路:本题有以下三种解......
  • 【剑指Offer】16、合并两个排序的链表
    【剑指Offer】16、合并两个排序的链表题目描述:输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。解题思路:首先需要判断几个特殊情况,即判断输入的两个指针是否为空。如果第一个链表为空,则直接返回第二个链表;如果第二个链表为空,则直接......
  • 金三银四送offer,大厂高薪,仅限50名
    又到了一年一度的金三银四求职季,不过今年实在有些诡异,已经3月下旬了,各互联网大厂不见招人,反倒有不少被爆裁员的。脉脉上每天都在更新“上午还在改Bug,下午就被HR通知走人”的恐怖故事。       尽管有些危言耸听,但也说明了目前就业形势的严峻。。。我知道关注我公号的......
  • 剑指 Offer 13. 机器人的运动范围(中等)
    题目:classSolution{//本题的思路为递归法public:intcal(inti){//先写个计算位数和的函数calintsum=0;while(i){sum+=i%10;i/=10;}returnsum;}voidtraversal(inti,i......
  • 《剑指Offer》-57-和为 s 的两个数字
    双指针 vector<int>twoSum(vector<int>&nums,inttarget){ //题目中说了这是一个递增数组,而且我需要两个数字组成s vector<int>res; intsmallDigit=0,bigDigit=nums.size()-1; //这要结果存在,这两个指针就不会相等 //也不能相等,相等就是同一个数字用两......
  • 文档控件DevExpress Office File API v23.1新版亮点 - 支持.NET MAUI
    DevExpressOfficeFileAPI是一个专为C#,VB.NET和ASP.NET等开发人员提供的非可视化.NET库。有了这个库,不用安装MicrosoftOffice,就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS,XLSx,DOC,DOCx,RTF,CSV和SnapReport等企业级文......
  • 《剑指Offer》-48-最长不含重复字符串的子字符串
    这题以前做过,和力扣-3重复 intlengthOfLongestSubstring(strings){ //本来应该是用map,但是其实可以使用数组替代,下标对应了字母 unordered_map<char,int>map; intlen=s.size(),maxLen=0;//初始化为0是因为可能字符串长度为0 vector<int>dp(len+1,0);//多......
  • 剑指 Offer 12. 矩阵中的路径(中等)
    题目:classSolution{public:introw,col;booltraversal(vector<vector<char>>&board,stringword,inti,intj,intk){//传入棋盘,字符串,当前棋盘元素坐标,字符串索引if(i<0||i>=row||j<0||j>=col||board[i][j]!=word[k])retu......
  • ethereum错误之nonce too low
    根据提供的错误信息error(*github.com/ethereum/go-ethereum/rpc.jsonError)*{Code:-32000,Message:"noncetoolow",Data:interface{}nil},这是一个来自以太坊的JSON-RPC错误。该错误的含义是“noncetoolow”,即“交易序号(nonce)过低”。在以太坊中,每个账户都有一个交......
  • PageOffice——实现Word文档指定内容可编辑,其他内容只读
    pageoffice实现word文件部分区域可编辑依赖word中的书签1.文件在本地打开将需要用户在线编辑的内容设置为数据区域DateRegion(数据区域:word中以PO_开头的书签)注意:书签的两个中括号是office本地设置的,如果不显示可以手动设置一下2.使用pageoffice的表单提交模式docSubmitForm打......