首页 > 其他分享 >RLHF · PBRL | 发现部分 D4RL tasks 不适合做 offline reward learning 的 benchmark

RLHF · PBRL | 发现部分 D4RL tasks 不适合做 offline reward learning 的 benchmark

时间:2023-11-13 18:22:52浏览次数:47  
标签:tasks PBRL D4RL 学习 learning RL query offline reward



目录


阅前省流

  • 贡献:
    • 将 offline preference-based reward learning,确定为一个研究问题。
    • 比较了一些 比如说 query selection 和 reward uncertainty 度量的方法,比较它们的性能优劣。(无 novelty 的单纯实验)
    • 【重要】在 reward learning 这个任务 setting 上,评测了 D4RL benchmark 的各个任务:
      • 发现对于很多任务,(只要给出专家轨迹),将 reward 设为 0 或随机数,也是能学出很好 policy 的。这证明,这些任务不适合用来评测 reward learning 的性能好坏。
      • 定义了 degradation 作为评测“任务是否适合 reward learning” 的指标,选出了几个 degradation 较大的任务。
    • 【具有一定 novelty】发现,即使 offline data 里没有显式定义某些任务(或许指的是,offline data 不是为了完成这个任务而采集的?),也可以通过 human preference 评测散装片段,看 segments 哪些更符合这个未显式定义的任务,从而学到这个任务。

open review

  • TMLR(?)Transactions on Machine Learning Research,好像是期刊,据说不追求 novelty,知乎上说比较好中(?)。
  • 貌似期刊只会有一个最终决定,不像会议每个 reviewer 打一个分数。Accept with minor revision,小修。
  • 贡献:【待整理】
    • 提出方法:Offline Preference-based Apprenticeship Learning (OPAL),利用 offline data 做 reward learning。
    • 算法:① 从 dataset 的 trajectory segments 中选一些 queries 给 human rater 标注 preference;② 学习 reward model;③ 使用 reward model + offline transition data,跑 offline RL。
    • 还提出了一种方法,通过计算 reward model 的 uncertainty,来主动选择 informative query(听着好像 PEBBLE 的写作),发现,在 query selection 方面,基于集成的分歧查询(ensemble-based disagreement queries)outperform 了其他 baselines(现在更像 PEBBLE 了)。
    • 新 benchmark 是专门为 offline PBRL 而设计的。
    • 主要贡献:将 offline PBRL 确定为一个有趣的研究问题,评估一些自然的 baselines,并确定现有的 offline RL datasets 是否足以解决此类问题。
    • 他们提出的方法,结合了奖励不确定性(reward uncertainty)、查询选择(query selection)和策略优化(policy optimization)。
    • 工作:
      • 本文描述了一种基于 human preference 学习 reward function 的方法,假设访问 offline dataset,并从其中采样 episode segments,而非进行在线交互。
      • 如何对 paired trajectories 进行采样?使用了不同的主动学习(active learning)技术。
      • 如何估计主动学习(active learning)技术的不确定性(uncertainty)?比较集成(ensembles)与 Bayesian dropout。
      • 哪些环境适合评估 learned reward functions?比较 no-reward baselines,以检查 D4RL 中的哪些环境,似乎更能从良好的 learned reward 中受益。
      • 实验:主要使用 ground truth reward 来 answer queries,最后一部分是有 human feedback 的更加定性(qualitative)的任务。
  • 优点:
    • 作者在评估一些 D4RL 环境方面做得很好,以确定哪些环境非常适合 PBRL。
    • Appendix B 中的推导(derivation)非常好!
  • 缺点:
    • 实验 - 缺超参数的敏感性分析(Sensitivity analysis on the hyper-parameters),比如 section 5.2 中 query selection 的个数。(然后应该有补 ablation)
    • 应该在第 2 页的最后一段中澄清,为什么我们在寻找一种 tasks: reward function 的选择对 performance 影响很大的任务。其实是因为,否则,我们无法判断一种 reward learning 方法比另一种更好还是更差。
    • 整篇论文中反复出现,估计 / 表示不确定性(estimating / representing uncertainty.)的概念。论文可以更好地证明,为什么估计 / 表示不确定性很重要。目前,它似乎被认为是理所当然的。
    • 希望看到更多算法细节,说明我们如何有效识别要比较的最佳 trajectory pair;naive 方法的复杂度为 O(N^2),但 reviewer 认为作者没有这样做。回复:在 section 4.2 中添加了一个名为“在 offline dataset 中搜索 informative queries”的段落,其中讨论了效率。发现没有必要在实验中并行化信息增益(information gain)和集成分歧(ensemble disagreement)的计算,但我们确实利用了 GPU 并行化,来显著加快搜索速度。
    • 有点 incremental,像是 T-REX 的衍生品。
    • 实验 - 压 baselines(?):此外,ground truth reward + offline RL 的结果,明显低于原始论文中声称的 performance,尤其是 CQL。作者应该好好调整 backbone policy optimization algorithms,让 performance 与原始论文中的结果匹配。回答:就是很难复现那些结果,并且虽然有的 performance 低了,但也有 performance 高了。并且,我们的 main contribution 不是刷榜,而是 offline apprenticeship learning setting。
    • 实验 - 缺 baselines:还应该与其他 reward learning / imitation learning 方法(DemoDICE,IQ-Learn)比较。回答:比不了,因为 DemoDICE 和 IQ-learn 都假设可以访问专家演示,但我们只有普通的 offline dataset。

0 abstract

Learning a reward function from human preferences is challenging as it typically requires having a high-fidelity simulator or using expensive and potentially unsafe actual physical rollouts in the environment. However, in many tasks the agent might have access to offline data from related tasks in the same target environment. While offline data is increasingly being used to aid policy optimization via offline RL, our observation is that it can be a surprisingly rich source of information for preference learning as well. We propose an approach that uses an offline dataset to craft preference queries via pool-based active learning, learns a distribution over reward functions, and optimizes a corresponding policy via offline RL. Crucially, our proposed approach does not require actual physical rollouts or an accurate simulator for either the reward learning or policy optimization steps. To test our approach, we first evaluate existing offline RL benchmarks for their suitability for offline reward learning. Surprisingly, for many offline RL domains, we find that simply using a trivial reward function results good policy performance, making these domains ill-suited for evaluating learned rewards. To address this, we identify a subset of existing offline RL benchmarks that are well suited for offline reward learning and also propose new offline apprenticeship learning benchmarks which allow for more open-ended behaviors. When evaluated on this curated set of domains, our empirical results suggest that combining offline RL with learned human preferences can enable an agent to learn to perform novel tasks that were not explicitly shown in the offline data.

  • 背景:
    • 从人类偏好中学习 reward function 具有挑战性,因为它通常需要一个 high-fidelity simulator,或者在真实环境中,使用昂贵且可能不安全的 实际物理部署。
    • 但是,在许多任务中,agent 可以访问 同一目标环境中 相关任务的 offline data。虽然 offline data 越来越多被用于 offline RL 来帮助策略优化,但我们的观察是,它也可以成为 preference learning 的丰富信息来源。
  • method:
    • 我们提出了一种方法,该方法使用 offline dataset,通过基于池的主动学习(pool-based active learning)来制作 preference queries,学习 reward function 的分布,并通过 offline RL 优化相应的策略。
    • 至关重要的是,我们提出的方法不需要实际的物理部署,也不需要准确的模拟器来进行 reward learning 或 policy optimization steps。
  • benchmark:(?)
    • 为了测试我们的方法,首先评估现有的 offline RL benchmark 是否适合 offline reward learning。
    • 令人惊讶的是,对于许多 offline RL 领域,我们发现仅仅使用一个微不足道的(trivial ) reward function,就能产生良好的策略性能,这使得这些领域不适合(ill-suited)去评估 reward learning 的效果。(?)
    • 为了解决这个问题,我们确定了非常适合 offline reward learning 的现有 offline RL benchmark 的子集,并提出了新的 offline 学徒学习(apprenticeship learning)benchmarks,允许更多的开放式行为(open-ended behaviors)。
    • 当对这组精选(curated)领域进行评估时,实证结果表明,将 offline RL 与 learned human preference 相结合,可以使 agent 去学习执行 offline data 中未明确显示的新任务。

1 intro

  • Abbeel 组在 2004 年提出了 Apprenticeship learning 学徒学习,使用专家演示 expert demonstrations。
  • 本文:提出了 Offline Preference-based Reward Learning (OPRL) 的 setting,通过 human 给 offline segment pair 打出 preference,来学习 reward function。
  • 新颖贡献:agent 拥有在测试期间学习 unseen tasks 的能力,这是先前工作未探索的。
    • 例如,如图 2 所示,即使所有 demo 都是随机点对点导航的短段,我们也证明了 OPRL 可以恢复,绕整个迷宫逆时针无限行驶的策略。
    • 实现这一点的关键是,能够将原始数据集中的不完整片段拼在一起,以便在测试期间,为新任务创建一个长轨迹。
    • (goal-based RL,HER,有端联想。噢,好像也没有 goal-conditioned,就是单纯训出来了)
  • 关于 Offline PBRL baseline:
    • 最近的研究表明,简单地使用标准 RL benchmarks 并掩盖奖励,对 reward learning 或更广泛的 imitation learning 并不具有挑战性,因为经常在任何地方学习 +1 或 -1 奖励,就足以模仿 RL 策略(?)。
    • 因此,我们在 offline reward learning 的 setting 中,评估各种现有的 offline RL benchmarks,其中我们删除了对真实奖励函数的访问。
    • 令人惊讶的是,发现许多 offline RL benchmarks 并不适合比较不同的 reward learning 方法 —— 简单地用零或常数替换 offline dataset 中的所有 ground truth reward,performance 与使用真实 reward 的性能相似或更好!
    • 这意味着,这些领域的 high-performance 并不总是表明更好的 reward learning —— 相反,似乎许多领域的表现,主要受数据质量(专家轨迹与次优轨迹)的影响,而 transition dataset 中的实际奖励值,对 offline RL 的影响很小。
  • safe apprenticeship learning 安全学徒学习(是我没接触过的方向):
    • 先前关于安全学徒学习的工作,要么使 learner 能够 estimate risky actions 并请求人工协助 request human assistance,要么针对尾部风险 tail risk 而非 expected return 来 optimize policy,或在从 demonstrations 中学习时,对 agent policy 的 performance 设定 high-confidence bounds。
    • 然而,这些方法都依赖于精确的 env dynamic model,或与环境的直接交互。
    • 相比之下,我们的安全方法是 offline apprenticeship learning 算法,以避免在 reward 和 policy learning 期间,收集昂贵且可能不安全的物理数据。
    • (如果讲组会,exploration 的冷饭炒完了,可以炒 safe RL 的冷饭)
  • offline apprenticeship learning 离线学徒学习:
    • 先前工作集中在,具有 discrete action 和 hand-crafted reward features 的简单环境中,并要求数据集包含专家演示(相当于最优 trajectory?)。
    • 其他工作,大多也假设可以访问专家演示,或要求专家用明确的 reward value 标记 trajectory。
    • 我们专注于通过少量定性的 preference queries,进行完全离线的奖励学习;preference query 比细粒度的 reward label 或 near-optimal demonstrations 更容易提供。
  • offline imitation learning 离线模仿学习:
    • IR 方法,比如 behavioral cloning,存在 compounding errors 问题(引用了一篇 1988 年的文章)。
    • DemoDICE(2021 年):试图模仿 offline 专家演示,并通过利用 sub-optimal demonstration 数据集来提高稳定性。
    • IQ-Learn(2021 年):能够进行 offline 和 online 模仿学习,学习参数化的 Q 函数而非奖励函数。
    • 但是,它们都需要访问 expert demonstration。我们的方法不需要专家演示,只需要从 offline data 里学出 reward function。

4 Offline Preference-Based Reward Learning

离线 preference-based 奖励学习(经常幻视强化学习,因为都是 RL)。简称 OPRL。

4.1 Representing Reward Uncertainty

貌似是,寻找 reward uncertainty 最大的 query,以达到选取 informative query 的效果。

所以,现在要找一种方法,度量 reward uncertainty(?)

  • Ensemble Queries 集成查询
  • Bayesian Dropout

好像可以看 Alg 1 第四行(?)

(没有很明白,这一部分在 framework 中的位置)

4.2 Active Learning Query Selection

作者的逻辑是,首先估计一个 query 的价值(value),然后选择价值最大的 query。

所以现在要度量 query 的价值(?)Alg 1 第六行。

  • Disagreement 分歧:
    • 将分歧计算为二元比较预测中的方差:p(1-p) 。
    • 其中 p 是预测 σ0>σ1 的概率,抑或是得出这一结论的 ensemble models 的个数。
  • Information Gain Queries 信息获取查询:
    • 信息增益 \(I(θ;Y| D) = H(Y|D)- E_{θ\sim p(θ|D)}[H(Y~|~θ,D)]\) 。
    • 直观地说,当第一项高时,信息增益将最大化,这意味着整个模型具有高熵;但第二项低,这意味着后验的每个单独假设 θ 都为结果 Y 分配了低熵。当个人假设彼此强烈不同意并且没有明显的多数时,就会发生这种情况。(没看懂)

可以并行计算每个 candidate query 的信息增益或集成分歧,可以利用 GPU 并行化,将一个或多个轨迹中的所有状态,作为 batch 来输入 reward function network。

4.3 Policy Optimization

详见 Alg 1。

(读到这里感觉,或许真的没有 novelty;但评测 benchmark 的这部分工作,或许是值得一看的)

5 experiment

5.1 Evaluating Offline RL Benchmarks - 评估 offline RL 的 benchmark

四个(即将被用 0 或 ±1 的 reward 敷衍)的 offline RL 方法:

  • 优势加权回归 Advantage Weighted Regression(AWR) 2019
  • 批量约束深度 Q 学习 Batch-Constrained deep Q-learning(BCQ)2019
  • Bootstrapping Error Accumulation Reduction (BEAR) 2020
  • Conservative Q-Learning (CQL) 2020

表 1 是对 D4RL benchmark 的评测,关键指标是 degradation 降级 = GT ground truth - max(avg, zero, random) / GT - min(avg, zero, random) ,degradation 越大,task performance 就越能代表 reward function 的好坏。

5.2 Reward Learning on a Subset of D4RL - D4RL 子集的奖励学习

设 degradation 阈值为 20%,>20% 认为是可以做 reward learning 的任务。

选出了 5 个 env,在它们上面做 OPRL 的实验,介绍了一些训练细节。

比较了一下 query selection 方法。

5.3 New Offline Preference-Based Reward Learning Tasks - 新的基于偏好的离线奖励学习任务

  • 5.3.1 Maze Navigation with Constraint Region - 带约束区域的迷宫导航
  • 5.3.2 Open Maze Behaviors - 开放式迷宫行为
  • 5.3.3 Open-Ended CartPole Behaviors - 开放式 CartPole 行为

5.3.2 应该就是 reviewer 提到的,只学习过零散的 query segment,却能实现绕迷宫逆时针转圈的任务了。

5.3.3 新定义了 ① CartPole 顺时针转 ② 逆时针转 的任务。

结论:OPRL 能够利用 offline data,优化数据中未明确显示(explicitly shown)的任务。

(感觉就是 reviewer 提到的,把 segment 拼起来的原理)



标签:tasks,PBRL,D4RL,学习,learning,RL,query,offline,reward
From: https://www.cnblogs.com/moonout/p/17829801.html

相关文章

  • RLHF · PBRL | SURF:使用半监督学习,对 labeled segment pair 进行数据增强
    论文名称:SURF:Semi-supervisedrewardlearningwithdataaugmentationforfeedback-efficientpreference-basedreinforcementlearning,ICLR2022,分数666接收,又是PieterAbbeel组的(恼)。(最近的readinglist里全是他们组的文章,已经读过了PEBBLE和RUNE并撰写阅读......
  • RLHF · PBRL | PEBBLE:通过 human preference 学习 reward model
    论文题目:PEBBLE:Feedback-EfficientInteractiveReinforcementLearningviaRelabelingExperienceandUnsupervisedPre-training,貌似是ICML2021的文章。本博客为论文阅读笔记,【不能代替】阅读原文的工作量。原文写的也很好,是AI顶会的风格,相对容易读懂。阅读材料:p......
  • GraphPrompt: Unifying Pre-Training and Downstream Tasks for Graph Neural Network
    目录概符号说明GraphPrompt代码LiuZ.,YuX.,FangY.andZhangX.GraphPrompt:Unifyingpre-traininganddownstreamtasksforgraphneuralnetworks.WWW,2023.概统一的图预训练模型+Prompt微调.符号说明\(G=(V,E)\),图;\(\mathbf{X}\in\mathbb{R}^{|......
  • Cygwin/WSL调用Windows schtasks命令操作Windows计划任务系列函数(查询、启用、禁用、
    新增、删除、查询任务计划#wintask-query#根据任务名称关键词查询Windows计划任务#wintask-del#根据任务名称关键词删除Windows计划任务,也可以传递计划任务完整路径#wintask-run#根据任务名称关键词立即运行Windows计划任务#wintask-enable#根据任务名称......
  • hadoop中mapred.tasktracker.map.tasks.maximum的设置
    目前,我们邮件的一部分log已经迁移到Hadoop集群上并由Hive来执行相关的查询hadoop中默认的mapred.tasktracker.map.tasks.maximum设置是2也即:每一个tasktracker同时运行的map任务数为2照此默认设置,查询80天某用户的操作日志,耗时5mins,45sec经过测试,发现将mapred.tasktracker.map.ta......
  • 9-TaskSet测试任务集
    TaskSet官方介绍:ClassdefiningasetoftasksthataUserwillexecute.也就是一个把多个task集合起来的一个类,集合内的task的用法与在user类中的并没有多大差异,例如:fromlocustimportTaskSet,task,FastHttpUserclassMyTask1(TaskSet):@taskdeftask_001......
  • 10-SequentialTaskset有顺序的测试任务集
    SequentialTaskSet有顺序的任务集顾名思义,集合内的task是由上到下按顺序执行的,例如:fromlocustimportSequentialTaskSet,task,FastHttpUserclassMySTS(SequentialTaskSet):@taskdefstep_01(self):print(1)@taskdefstep_02(self):......
  • Schedule tasks on Linux using crontab
    Ifyou'vegotawebsitethat'sheavyonyourwebserver,youmightwanttorunsomeprocesseslikegeneratingthumbnailsorenrichingdatainthebackground.Thiswayitcannotinterferewiththeuserinterface.Linuxhasagreatprogramforth......
  • System.Threading.Tasks.Extensions介绍
    System.Threading.Tasks.Extensions是一个用于扩展.NET中任务(Task)的库,它提供了一些额外的功能,特别是在异步编程方面。这个库引入了一些新的方法和功能,包括:ConfigureAwait:它引入了ConfigureAwait方法,允许你在任务之间配置不同的上下文(例如,同步上下文或异步上下文),以便更好地......
  • Submit Tasks in Batch using ExecutorService
    SubmitTasksinBatchusingExecutorServicehttp://www.javabyexamples.com/submit-tasks-in-batch-using-executorservice1.OverviewInthistutorial,we'regoingtolookathowwecansubmittasksinbatchusingtheExecutorServiceimplementations.2.......