PbRL | Preference Transformer:反正感觉 transformer 很强大
- 论文题目:Preference Transformer: Modeling Human Preferences using Transformers for RL,ICLR 2023,5 6 6 8,poster。
- pdf:https://arxiv.org/pdf/2303.00957.pdf
- html:https://ar5iv.labs.arxiv.org/html/2303.00957
- open review:https://openreview.net/forum?id=Peot1SFDX0
- 项目网站:https://sites.google.com/view/preference-transformer
- GitHub:https://github.com/csmile-1006/PreferenceTransformer
内容总结
- (为什么感觉挺 A+B 的,有点想不明白为何会中…… 不过 writing 貌似很好)
- 提出了新的 preference model,σ0>σ1 的概率仍然是 exp / (exp + exp) 的形式,但 exp[] 里面的内容从 reward 求和(discounted reward 求和)变成 Σ r · w,其中 w 是一个 importance weight。
- 这里的 motivation:
- ① human preference 可能基于 non-Markovian reward,因此用 transformer 建模 trajectory,作为 reward model 的一部分;
- ② human 可能会关注关键帧,因此需要一个 importance weight,为先前提到的 non-Markovian reward 加权。
- 然后,利用 attention layer 的 key query value 形式,将 value 作为 reward,softmax(key · query) 作为 importance weight。(正好跟 attention 的形式 match 上)
0 abstract
Preference-based reinforcement learning (RL) provides a framework to train agents using human preferences between two behaviors. However, preference-based RL has been challenging to scale since it requires a large amount of human feedback to learn a reward function aligned with human intent. In this paper, we present Preference Transformer, a neural architecture that models human preferences using transformers. Unlike prior approaches assuming human judgment is based on the Markovian rewards which contribute to the decision equally, we introduce a new preference model based on the weighted sum of non-Markovian rewards. We then design the proposed preference model using a transformer architecture that stacks causal and bidirectional self-attention layers. We demonstrate that Preference Transformer can solve a variety of control tasks using real human preferences, while prior approaches fail to work. We also show that Preference Transformer can induce a well-specified reward and attend to critical events in the trajectory by automatically capturing the temporal dependencies in human decision-making.
- background:
- PbRL 框架用于在两种行为之间使用 human preference 来训练 agent。然而,需要大量 human feedback,来学习与人类意图一致的 reward model。
- method:
- 在本文中,我们介绍了 preference transformer,使用 transformer 架构模拟 human preference。
- 以前方法假设,人类判断基于 Markovian reward,而 Markovian reward 对决策的贡献相同。与先前工作不同,我们引入了一种 preference model,该模型基于 non-Markovian reward 的加权和。
- 然后,我们在 preference model 的 transformer 设计里,堆叠 causal self-attention layers 和 bidrectional self-attention layers。
- results:
- Preference Transformer 可以使用真实 human feedback 来解决各种控制任务,而以前的方法无法奏效。
- Preference Transformer 可以通过自动捕获人类决策中的时间依赖性(temporal dependencies),来得到一个 well-specified reward 并关注轨迹中的关键事件。
open review 与项目网站
- open review:
- 主要贡献:① 提出了一个基于 non-Markovian reward 加权和的新 preference model,② 引入 PT 来模拟所提出的 preference model。
- 如果奖励实际上是 non-Markovian 的,那么 Transformer 的想法是有动机的(well motivated)。
- The paper is well written. 论文写得很好。
- scripted evaluation(大概是 scripted teacher)使用 Markovian reward,但 NMR(non-Markovian reward)和 PT 仍能在多个领域优于 MR(Markovian reward)变体。这需要得到更好的解释和评估。事实上,应该使用 non-Markovian reward 进行评估。
- 项目网站:
- Preference Transformer 将 trajectory segment 作为输入,从而提取与任务相关的历史信息。
- 通过堆叠 bidirectional 和 causal self-attention layers,Preference Transformer 生成 non-Markovian reward 和重要性权重(importance weights)作为输出。(貌似 importance weight 越高,某帧在整个 trajectory 里越重要)
- 我们利用它们来定义 preference model,并发现 PT 可以得到 better-shaped reward,并从 human preference 中关注关键事件。
- 实验证明,PT 可用于学习复杂的新行为(Hopper 多次后空翻),这很难设计合适的奖励函数。与单个后空翻相比,这项任务更具挑战性,因为奖励函数必须捕获 non-Markovian 上下文,包括旋转次数(有必要嘛?)。观察到,PT agent 在稳定着陆的情况下执行多个后空翻,而基于 MLP 的 Markovian reward 的 agent 很难着陆。
1 基于 non-Markovian reward 的 preference model
- motivation:
- 首先,在许多情况下,很难使用 Markovian reward 来给出任务的描述。
- 此外,由于人类对于非凡的时刻很敏感,因此可能需要在轨迹内分配 credit(大概是权重的意思)。
- non-Markovian reward function:
- reward function 的输入:先前的完整的 sub-trajectory。
- 同时再整一个权重函数 w = w({s, a, s, ...}),其输入也是 t 时刻之前的完整 sub-trajectory。
- 用 r(τ) · w(τ) 来改写 \(P(\sigma^1\succ\sigma^0)=\bigg[\exp\big(\sum_tr(\tau_t)\cdot w(\tau_t)\big)\bigg]/\bigg[\exp(\sum r\cdot w)_{\sigma^0}+\exp(\sum r\cdot w)_{\sigma^1} \bigg]\) 的公式。
2 PT 的架构
- 感觉 causal transformer 相对好理解,以及 GPT 具有 causally masked self-attention。
- preference attention layer:
- causal transformer 生成的 {x, x, ...} sequence,过一个线性层,会得到它们的 key query value。
- 认为得到的这个 value 就是 reward,而 key 与 query 相乘再 softmax(保证>0)则是权重。
- 好像这只是一个 reward model,而非 RL policy(?)
- 学到 reward model 后,还需要使用 IQL 学 policy…

3 PT 的训练与 inference
- training:最小化 cross-entropy loss \(L=-\mathbb E[(1-y)\log P[\sigma^0\succ\sigma^1]+y\log P[\sigma^1\succ\sigma^0]]\) ,其中 y 是 label,P 是我们训练的概率。
- inference:如何得出 agent 的 reward。
- 好像是直接拿 reward(而非 reward · importance weight)来做。
- 大致流程:拿 st, at, s, ... 送进 causal transformer,然后得到 xt, ...,送进 preference attention layer,得到 r hat,单独取出 r hat。
4 experiments
关注的问题:
- Preference Transformer 能否使用真实的人类偏好解决复杂的控制任务?
- PT 能否 induce 一致(consistent)的 reward 并关注关键事件?
- PT 在合成偏好(synthetic preferences,即 scripted teacher setting)中的表现如何?
baseline:
- 技术路线:preference → reward model → IQL。
- 1 MLP 的 Markovian reward。
- 2 基于 LSTM 的 non-Markovian reward。
results:
- PT 在几乎所有任务中,都始终优于所有 baselines。特别的,只有 PT 几乎将 IQL 的性能与使用 ground-truth reward 相匹配,而 baselines 在困难的任务中基本不 work。
- 让 PT 和 Markovian 或 LSTM agent 分别生成 trajectory,让 human 评价哪个更好,human 评价 PT 更好。
- 在所谓的“PT 是否可以诱导(induce)一个明确(well-specified)的奖励”这一段,好像也只是感性分析了一下…
- 在比较 scripted teacher 和 human 时,因为 scripted teacher 不能理解 contex,所以 human preference 反而在简单任务上表现更好;并且,它们的 preference 会在简单的 grid-world 中发生分歧。
- 学习复杂的新行为:很炫酷的 hopper 空中多个后空翻的 demo。
5 好像很有道理的 future work
- 在 RL 或 PbRL 中利用重要性权重,或许可以用于对信息量更大的 query / samples 进行采样,这可以提高 sample-efficiency。
- 使用重要性权重,通过加权更新,来稳定 Q 学习。
- 与其他偏好模型结合:例如 Knox et al.(2022)的基于 regret 的 preference model(title: Models of human preference for learning reward functions),尽管他们提出的方法基于几个假设(例如,生成后续特征(Dayan,1993;Barreto et al., 2017)),与基于遗憾的模型相结合会很有趣。(这个暂时没看懂如何做)
PbRL | Preference Transformer:反正感觉 transformer 很强大的更多相关文章
- 开发快很重要——如果只看法语或者产品结果C++似乎很强大,但是参与这个C++的开发过程,就会感觉到这种痛苦(Google也是这个看法)
开发快很重要——如果只看语法或者产品结果C++似乎很强大,但是参与这个C++的开发过程,就会感觉到这种痛苦,太慢了,太麻烦了,虽然在反复调试和优化之后,最后产品的结果可能还不错. Delphi的最大特 ...
- postgresql很强大,为何在中国,mysql成为主流?
你找一个能安装起来的数据库,都可以学,不管什么版本. 数据库的基本功,是那些基本概念(SQL,表,存储过程,索引,锁,连接配置等等),这些在任何一个版本中都是一样的. 目录 postgresql很强大 ...
- js中的console很强大
今天闲来没事,瞎逛, 发现了淘宝首页的这个: 想起来之前在百度的 页面中也曾看到过.于是乎自己试一试. 于是便见识到了console对象其实很强大,用好它对调试真的有很大帮助. 代码: <!DO ...
- (转)iOS被开发者遗忘在角落的NSException-其实它很强大
转载自 http://www.jianshu.com/p/05aad21e319e iOS被开发者遗忘在角落的NSException-其实它很强大 字数597 阅读968 评论4 喜欢28 NSExc ...
- 感觉tbceditor很不错,如果作者能坚持下来,非常非常看好啊
感觉tbceditor很不错,如果作者能坚持下来,非常非常看好啊 你技术好,可以做个自用的IDE慢慢加功能 ,很方便的用这个控件,写个支持Delphi和html混编的编辑器,要不到2个小时
- android:分享 一个很强大的LOG开关---Log.isLoggable
标签:android分享 一个很强大的log开 1.API亮点: 此API可以实现不更换APK,在出问题的手机上就直接能抓到有效log,能提升不少工作效率. 2.API介绍 最近在解决短信问题时,看到 ...
- 值得推荐的C/C++框架和库 (真的很强大) c
http://m.blog.csdn.net/mfcing/article/details/49001887 值得推荐的C/C++框架和库 (真的很强大) 发表于2015/10/9 21:13:14 ...
- Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件
Aspose是一个很强大的控件,可以用来操作word,excel,ppt等文件,用这个控件来导入.导出数据非常方便.其中Aspose.Cells就是用来操作Excel的,功能有很多.我所用的是最基本的 ...
- firebug定位工具很强大
firebug这个工具很强大,如果实在找不到自己想要的元素,就安装firebug这个定位工具妥妥的
- 曾经很强大的免费 ERP 2BizBox
曾经很强大的免费 ERP 2BizBox 整个功能很强大,特别是生产,工单也很完善,有损耗,有反冲等功能. 流程比较规矩,需要先采购后才能使用,只有生产后才能销售,工单有组装和拆装,工程有工程更改,也 ...
随机推荐
- gRPC如何保障数据安全传输
什么是 gRPC? gRPC 是由 Google 开发的高性能.开源的 RPC(Remote Procedure Call)框架,用于在客户端和服务器之间进行通信.它基于 Protocol Buffe ...
- Leetcode 42题 接雨水(Trapping Rain Water) Java语言求解
题目链接 https://leetcode-cn.com/problems/trapping-rain-water/ 题目内容 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱 ...
- 从零开始配置 vim(5)——本地设置与全局设置
在前面的一系列文章中,我们介绍了使用 :noremap 进行键盘映射,使用 set 来设置选项和 vim 的变量.并且已经在配置文件中对他们进行了相关配置. 在介绍设置那一篇文章中我们提到了,lua ...
- MySQL常用操作指令大全
前言: 一.基础概念 二.子句顺序 三.使用MySQL(USE.SHOW) 四.检索数据(SELECT) 五.排序检索数据(ORDER BY) 六.过滤数据(WHERE) 七.数据过滤(AND.OR. ...
- 【Trento】遥感图像数据集提供下载
遥感图像处理学习(11)之Trento数据集 前言 遥感系列第11篇.遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2024年1月18日 2024年1月25日搬运至本人博客园平台 最近在复现论 ...
- 编译Assimp时出现“warning C4819”的解决方案
最近又重新捣鼓起了OpenGL, 使用Assimp库加载3D模型,最新(2023/12/9)的版本是5.3.1. 使用cmake编译本是一件简单的事情: cmake . cmake --build ...
- 【题解】P9749 [CSP-J 2023] 公路
\(Meaning\) \(Solution\) 这道题我来讲一个不一样的解法:\(dp\) 在写 \(dp\) 之前,我们需要明确以下几个东西:状态的表示,状态转移方程,边界条件和答案的表示. 状态 ...
- 使用了未经检查或不安全的操作。 有关详细信息, 请使用 -Xlint:unchecked 重新编译
- Java并发编程-CompletableFuture(上)
大家好,我是小高先生,这篇文章我将和大家一起学习Java并发编程中很重要的一个类-CompletableFuture. 在Java的并发编程领域,Future接口一直扮演着关键的角色,它定义了一组与异 ...
- NC19429 红球进黑洞
题目链接 题目 题目描述 在心理疏导室中有一种奇特的疏导工具,叫做红球.红球被提前分为了许多正方形小方格. 每当有人来找ATB做心理疏导时,ATB就会让他去先玩红球,然后通过红球小格方的高度来判断一个 ...