RLHF · PbRL | QPA:选择 near on-policy query,加速 policy learning 收敛速度
- 论文题目:Query-Policy Misalignment in Preference-Based Reinforcement Learning,ICLR 2023 Spotlight(8 6 6)。
- pdf 版本:https://openreview.net/pdf?id=UoBymIwPJR
- html 版本:https://ar5iv.labs.arxiv.org/html/2305.17400
- open review:https://openreview.net/forum?id=UoBymIwPJR
0 abstract
Preference-based reinforcement learning (PbRL) provides a natural way to align RL agents’ behavior with human desired outcomes, but is often restrained by costly human feedback. To improve feedback efficiency, most existing PbRL methods focus on selecting queries to maximally improve the overall quality of the reward model, but counter-intuitively, we find that this may not necessarily lead to improved performance. To unravel this mystery, we identify a long-neglected issue in the query selection schemes of existing PbRL studies: Query-Policy Misalignment. We show that the seemingly informative queries selected to improve the overall quality of reward model actually may not align with RL agents’ interests, thus offering little help on policy learning and eventually resulting in poor feedback efficiency. We show that this issue can be effectively addressed via near on-policy query and a specially designed hybrid experience replay, which together enforce the bidirectional query-policy alignment. Simple yet elegant, our method can be easily incorporated into existing approaches by changing only a few lines of code. We showcase in comprehensive experiments that our method achieves substantial gains in both human feedback and RL sample efficiency, demonstrating the importance of addressing query-policy misalignment in PbRL tasks.
- background: PbRL 提供了一种自然的方法,使 RL agent 的行为与人类期望一致,但 human feedback 通常 expensive。为了提高 feedback-efficiency,现有的大多数 PbRL 方法,都侧重于 query selection 的优化,希望选择 reward model 质量提升的 queries,但与直觉相反,我们发现,这不一定会导致性能提高。
- 问题:为了解开这个谜团,我们在现有 PbRL 工作的 query selection 方案中,发现了一个长期被忽视的问题:query 与 policy 的 misalignment。我们发现,选择的看似 informative 的 query,实际上可能与 RL agent 的兴趣不一致,因此对 policy learning 几乎没有帮助,最终导致 feedback-efficiency 低下。
- method:我们表明,这个问题可以通过 ① near on-policy query + ② 专门设计的 hybrid experience replay 来有效解决,它们共同强制 query-policy 的 alignment。简单而优雅,只需更改几行代码,该技术即可轻松合并到现有方法中。
- result:实验表明,我们的方法在 human feedback-efficiency 和 RL sample-efficiency 方面,都取得了实质性的收益,这证明,解决 PbRL 任务中 query-policy misalignment 的问题,具有重要性。
4 query-policy misalignment & 5 query-policy alignment (QPA)
query-policy misalignment:
- a motivating example:在一个 agent 从坐标 (0,0) 跑到 (10,10) 的环境中,发现基于 disagreement 选取的 queries,都跟当前策略真正会访问的 state-action 分布不太一样。
- 相当于,teacher 提供了一些情况下的 preference,但 policy 根本不会遇到这些情况;reward function 可能全局上更好了,但对于 policy learning 没什么贡献。(感觉像我导会说的话,world model 更好了,但控制真的需要这么好的 world model 嘛,world model 更好会直接让控制更好嘛,之类的话)
near on-policy query selection:
- 直译:几乎 on-policy 的 query selection。
- 直接把当前 policy 最新生产的 trajectory,拿去当 queried segments。
- 作者声称很好实现,把存储 query selection 的 replay buffer 的 size 改小即可,这样 replay buffer 里就只能存下最新生产的 trajectory 了。
关键技术:
- ① near on-policy query selection,就像前面说的那样。
- ② hybrid experience replay。
- 在学 Q function 的时候,对于(比如说)DQN ,因为是 off-policy 算法,所以一般会随机采样一些 transition,来最小化 TD-error、更新 Q function。
- 这里提出了新的采样策略:一半数据直接从 near on-policy 的 replay buffer 里面采样,另一半则均匀随机 uniform 采样。
- 作者声称,这样可以实现 1. 提高 Q learning 效率、2. 让 Q function 不至于落入局部最优 的权衡。
理论 insight:
- 若 \(\|\hat r_\psi-r\|_{d^\pi}\le\epsilon\) 、 \(\|Q^\pi_{\hat r_\psi}-\hat Q^\pi_{\hat r_\psi}\|_{d^\pi}\le\alpha\) ,则有 upper bound \(\|Q_r^\pi-\hat Q^\pi_{\hat r_\psi}\|_{d^{\pi}} \le\frac{\epsilon}{1-\gamma}+\alpha\) 。
- hat r_ψ :学到的 reward model;r :ground truth reward;Q hat : Q-learning 学出来的 Q function;Q 真正的 Q value。
- Q value 需要在同一 policy 的 state-action 分布下计算( \(d^\pi\) 下标)。理论 insight:希望分布 \(d^\pi\) 下的 reward model 与 ground truth reward 尽可能接近,因此要多在分布 \(d^\pi\) 下学 reward。
关键技术:
- ③ 还使用了 reward learning 的 data augmentation(类似 这篇博客 4.2 节 记录的做法)。后面做了对 data augmentation 的 ablation。
(一个实验画图的细节: figure 6 中,黑色虚线表示最后一个 feedback 收集步骤)
RLHF · PbRL | QPA:选择 near on-policy query,加速 policy learning 收敛速度的更多相关文章
- 选择…Select…(Power Query 之 M 语言)
选择行: 筛选Table.SelectRows-文本与数值 筛选Table.SelectRows-日期与时间 保留错误行:= Table.SelectRowsWithErrors( 表, {" ...
- Policy Improvement and Policy Iteration
From the last post, we know how to evaluate a policy. But that's not enough, because the purpose of ...
- Provider Policy与Consumer Policy在bnd中的区别
首先需要了解的是bnd的相关知识: 1. API(也就是接口), 2. API Provider(接口的实现) 3. API Consumer( 接口的使用者) OSGi中的一个版本有4个部分: ...
- Jmeter之csv、用户自定义变量以及Query Type分析(八)
很多童鞋不知道对于Jmeter的Query Type 不知道选哪个,为什么选,怎么选! 下面这边做个简单的分析, 那么首先什么是CSV Data Set Config,有什么用呢? CSV Data ...
- trait与policy模板技术
trait与policy模板技术 我们知道,类有属性(即数据)和操作两个方面.同样模板也有自己的属性(特别是模板参数类型的一些具体特征,即trait)和算法策略(policy,即模板内部的操作逻辑). ...
- Network Policy - 每天5分钟玩转 Docker 容器技术(171)
Network Policy 是 Kubernetes 的一种资源.Network Policy 通过 Label 选择 Pod,并指定其他 Pod 或外界如何与这些 Pod 通信. 默认情况下,所有 ...
- 1.4 配置备份策略(Policy)
1.1 配置备份策略(Policy) 一个备份策略由四部分组成. Attributes(属性) Policy是否Active Policy类型 由此Policy产生的任务的优先级 使用的Storage ...
- 1.4 NBU配置备份策略(Policy)
1.4 配置备份策略(Policy) 一个备份策略由四部分组成. Attributes(属性) Policy是否Active Policy类型 由此Policy产生的任务的优先级 使用的Storage ...
- 强化学习七 - Policy Gradient Methods
一.前言 之前我们讨论的所有问题都是先学习action value,再根据action value 来选择action(无论是根据greedy policy选择使得action value 最大的ac ...
- Deep Learning专栏--强化学习之从 Policy Gradient 到 A3C(3)
在之前的强化学习文章里,我们讲到了经典的MDP模型来描述强化学习,其解法包括value iteration和policy iteration,这类经典解法基于已知的转移概率矩阵P,而在实际应用中,我们 ...
随机推荐
- 【C++】关于全局变量和局部变量问题
1 #include <iostream> 2 using namespace std; 3 4 void func(void); 5 6 static int count = 10; 7 ...
- MD5加密算法工具类创建
直接上代码 /** * 通用方法工具类 */ public class CrowdUtil { /** * 对明文字符串进行MD5加密 * @param source * @return */ pub ...
- 新一代通信协议 - Socket.D
一.简介 Socket.D 是一种二进制字节流传输协议,位于 OSI 模型中的5~6层,底层可以依赖 TCP.UDP.KCP.WebSocket 等传输层协议.由 Noear 开发.支持异步流处理.其 ...
- 理论+实践详解最热的LLM应用框架LangChain
本文分享自华为云社区<LangChain是什么?LangChain的详细介绍和使用场景>,作者:码上开花_Lancer . 一.概念介绍 1.1 Langchain 是什么? 官方定义是: ...
- 手把手教你在昇腾平台上搭建PyTorch训练环境
摘要:在昇腾平台上运行PyTorch业务时,需要搭建异构计算架构CANN软件开发环境,并安装PyTorch 框架,从而实现训练脚本的迁移.开发和调试. 本文分享自华为云社区<手把手教你在昇腾平台 ...
- 开发老人笔记:Git 常用命令清单
摘要:git是目前世界上最先进的分布式版本控制系统. 多人协作 master:此分支用来发布稳定的代码,合并一般是由管理员合并 dev:此分支用于团队开发,团队成员向此分支提交代码 bug:此分支用于 ...
- GaussDB(DWS)发生数据倾斜不要慌,一文教你轻松获取表倾斜率
摘要:GaussDB(DWS)是MPP并行架构,若表的数据存在倾斜情况,会引起一系列性能问题,影响用户体验,严重时可能会引起系统故障.因此能快速获取倾斜的表并整改是GaussDB(DWS)运维管理人员 ...
- 带你了解AKG正反向算子注册+关联流程
摘要:简要介绍一下akg正反向算子的注册和关联流程. 本文分享自华为云社区<AKG正反向算子注册+关联>,作者:木子_007 . 一.环境 硬件:eulerosv2r8.aarch64 m ...
- 火山引擎 DataTester 首推A/B实验经验库,帮助企业高效优化实验设计能力
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎 DataTester 推出了重要功能--A/B实验经验库. 基于在字节跳动已完成150万余次A/B ...
- 字节跳动基于DataLeap的DataOps实践
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 本文根据 ArchSummit 全球架构师峰会(深圳站)来自抖音数据研发负责人王洋的现场分享实录整理而成(有删减) ...