首页 > 编程语言 >offline RL | TD3+BC:在最大化 Q advantage 时添加 BC loss 的极简算法

offline RL | TD3+BC:在最大化 Q advantage 时添加 BC loss 的极简算法

时间:2023-11-19 17:11:18浏览次数:29  
标签:loss algorithm advantage BC 算法 RL offline Offline



目录


0 abstract

Offline reinforcement learning (RL) defines the task of learning from a fixed batch of data. Due to errors in value estimation from out-of-distribution actions, most offline RL algorithms take the approach of constraining or regularizing the policy with the actions contained in the dataset. Built on pre-existing RL algorithms, modifications to make an RL algorithm work offline comes at the cost of additional complexity. Offline RL algorithms introduce new hyperparameters and often leverage secondary components such as generative models, while adjusting the underlying RL algorithm. In this paper we aim to make a deep RL algorithm work while making minimal changes. We find that we can match the performance of state-of-the-art offline RL algorithms by simply adding a behavior cloning term to the policy update of an online RL algorithm and normalizing the data. The resulting algorithm is a simple to implement and tune baseline, while more than halving the overall run time by removing the additional computational overheads of previous methods.

  • 背景:
    • Offline RL 定义了从 a fixed batch of data 中学习的任务。
    • 由于 OOD action 的 value estimation error,大多数 offline RL 算法使用 ID action 去约束或正则化策略。
    • 因此,可以说建立在原来的 online RL 算法之上,让它变成 offline RL,是以增加复杂性为代价的: offline RL 算法引入了新的超参数,并且通常利用生成模型(generative models)等辅助组件,同时还会调整底层的 RL 算法。
  • method & result:
    • 本文的目标是,让 DRL 算法在最小更改下 work。
    • 我们发现,只需在 online RL 算法的策略更新中,添加行为克隆项(behavior cloning term)并 normalize 数据,就可匹配 sota offline RL 算法的性能。
    • 我们的算法是易于实现和 tune 的 baseline,同时,通过消除先前 offline 方法的额外计算开销,将总体运行时间缩短了一半以上。

4 Challenges in Offline RL - offline RL 中的挑战

  • Implementation and Tuning Complexities - 算法实现与微调的复杂度。
  • Extra Computation Requirement - 额外的计算需求。
    • CQL 好像会有 log sum exp 的操作,计算量大。
  • Instability of Trained Policies - 训出来的策略的不稳定性。
    • 在 online RL 中,如果当前策略不尽如人意,我们可以使用策略先前迭代的 checkpoint,或者干脆继续训练。
    • 但是,在 offline RL 中,根据定义,评估应该只发生一次,这大大增加了评估时单个策略的重要性。
    • 我们重点介绍了 offline RL 中的两种不稳定性。
    • 图 2 显示,offline trained policy 在单次评估期间表现出巨大的 performance 差异。因此,即使平均表现合理,agent 在某些 episode 上仍可能表现不佳。
    • 图 3 表示了一组评估(应该是同一 episode 内)的不稳定性,这意味着 agent 的 performance 可能取决于,为 evaluation 选择的特定停止点。(可能是猎豹跑着跑着就栽了嘛?)

5 A Minimalist Offline RL Algorithm - 极简 Offline RL 算法

  • 主要的 method 就是公式 3 4 5,其中:
    • 公式 3 纳入了一个 behavior cloning 的 loss;
    • 公式 4 是 observation 归一化;
    • 公式 5 让 Q advantage 跟 behavior cloning 的 loss 可比。

6 Experiments

  • settings:
    • 主要使用两个 baselines: CQL、Fisher-BRC。
    • 其他 baselines: BRAC 和 AWAC(据作者说算法简单)、Behavior Cloning。
    • benchmark: D4RL benchmark of OpenAI gym MuJoCo tasks。
  • results:
    • 看图就好了。
    • 比较了算法们的训练时间,TD3 + BC 训练时间最短。
    • 图 2 3 显示的稳定性问题。(见上面 section 4 的笔记)
  • ablation:
    • 师兄提到的一点:可以预见的是,删除 state normalization 的影响是最小的,但它仍然有好处,并且只是一个微小的调整。对应 Figure 5 最后一张图。


标签:loss,algorithm,advantage,BC,算法,RL,offline,Offline
From: https://www.cnblogs.com/moonout/p/17842272.html

相关文章

  • 【231119-1】如图,在正方形ABCD中,以AB为腰向正方形内部作等腰三角线ABE,点G在CD上,且CG=3
    【题目】如图,在正方形ABCD中,以AB为腰向正方形内部作等腰三角线ABE,点G在CD上,且CG=3DG,链接BG并延长,与AE交于F,与AD延长线交于H。连接DE交BH于点K,连接CK。若AE^2=BFBH,FG=13/5根号5.求:四边形EFKC的面积?【解答】......
  • [ABC326C] Peak 题解
    题目链接题目思路这个问题要求找到一个半开区间,使得在这个区间内包含尽可能多的礼物。首先,我们需要将输入的礼物坐标按照从小到大的顺序进行排序。然后,我们可以使用双指针的方法来寻找最佳的区间。代码以下是代码解释:#include<bits/stdc++.h>usingnamespacestd;constint......
  • [ABC328C] Consecutive 题解
    HelloWorld链接这道题是一个很明显的前缀和,我们把$sum_i$表示为前$i$个字符有多少个有重复,查询的时候就用$sum_{r-1}-sum_{l-1}$就行了。代码#include<bits/stdc++.h>usingnamespacestd;strings;intsum[300010];intmain(){ intn,q; cin>>n>>q>>s; for(in......
  • Java登陆第九天——JDBC
    JDBCJDBC本身是Java提供的一套标准接口,由不同数据库厂商提供接口的具体实现。至此,开发者只需调用JDBC就可以完成对各种数据库的操作。mysql-jdbc-maven坐标<!--Mysql版本:5.7.36--><dependency><groupId>mysql</groupId><artifactId>mys......
  • AtCoder Beginner Contest(abc) 329
    B-Next难度:⭐题目大意给定n个数,输出其去重后的次大值;解题思路暴力就行;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio(false),cin.tie(0),cout.tie(0)#defineendl'\n'usingnamespacestd;constintN=2e......
  • [ABC326D] ABC Puzzle 题解
    题目链接解法分析这个问题是一个经典的排列谜题,通过回溯算法来穷举所有可能的字符排列,然后验证是否满足行和列约束。这个解决方案可以用于解决类似的谜题,其中需要满足一定的排列条件。通过仔细考虑约束条件,可以加快解决问题的速度,减少不必要的计算。更详细的我写在代码里了。......
  • AtCoder Beginner Contest(abc) 296
    B-Chessboard难度:⭐题目大意给定一个8*8的字符矩阵,其中只有一个'*',输出它的坐标;其坐标的列用字母表示,行用数字表示,具体看样例解释;解题思路签到题不多嗦了;神秘代码#include<bits/stdc++.h>#defineintlonglong#defineIOSios::sync_with_stdio......
  • (08)类似Excel数据透视表功能的DBCross1
    其他参考(09)打印StringGrid第3步 如对name分组计数 ......
  • 出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbc in position 2: inva
    直接在代码第一行写下这段代码#-*-coding:utf-8-*-为什么这个有注释符号还是可以起作用?在Python中,`#-*-coding:utf-8-*-`这行代码并不是注释,而是一个特殊的声明,称为“编码声明”(encodingdeclaration)。它告诉Python解释器在载入源文件时使用UTF-8编码来解析源......
  • 【题解 ABC180F】 Unbranched
    [ABC180F]Unbranched题面翻译求\(N\)个点,\(M\)条边且满足以下条件的图的数量:图中无自环;每个点度数最多为\(2\);连通块大小的最大值恰好为\(L\)。答案对\(10^9+7\)取模。\(2\leN\le300\),\(1\leM,L\leN\)。题目描述頂点にラベルが付き辺にはラベルが付い......