当前位置: 首页 > news >正文

扩散模型与强化学习(12):RLHF中的Reward hacking现象

扩散模型与强化学习(0):专栏汇总与导航

前言:Reward hacking是指强化学习Agent利用奖励函数中的缺陷或模糊性来获取高额奖励,而实际上并未真正学习或完成预期任务。Reward hacking的存在是因为 RL 环境通常不完善,而且准确指定奖励函数从根本上来说极具挑战性。这篇博客就详细讨论一下RLHF中的Reward hacking,以及如何避免Reward hacking。

目录

奖励黑客现象

强化学习中的奖励函数

虚假相关性(Spurious Correlation)

奖励篡改

为什么奖励黑客现象存在?

Hacking RL Environment

对大语言模型(LLM)的 RLHF 的“黑客式”利用

RLHF 的对齐目标与人类反馈的局限性

在长文本问答任务中:

在编程任务中:


奖励黑客现象

当强化学习(RL)代理利用奖励函数中的缺陷或模糊性来获得高奖励,而没有真正学习或完成预期任务时,就会发生奖励黑客行为。奖励黑客之所以存在,是因为强化学习环境通常是不完美的,从根本上来说,准确地指定奖励功能是一项挑战。

随着语言模型泛化到更广泛的任务范围的兴起,RLHF成为一种事实上的对齐训练方法,语言模型RL训练中的奖励黑客已经成为一个关键的实践挑战。模型学习修改单元测试以通过编码任务的情况,或者响应包含模仿用户偏好的偏差的情况,都是非常令人担忧的,并且可能是人工智能模型在现实世界中部署更多自主用例的主要障碍之一。

过去关于这一主题的大部分工作都是理论性的,并且专注于定义或证明奖励黑客的存在。然而,对实际缓解措施的研究,特别是在RLHF和llm的背景下,仍然有限。我特别想呼吁在未来进行更多的研究工作,以理解和开发针对奖励黑客的缓解措施。

在强化学习中,奖励塑形(reward shaping)是一项具有挑战性的任务。奖励黑客是指智能体(agent)利用奖励函数中的缺陷或模糊之处,以获得高奖励,而无需真正学习预期的行为或按照设计完成任务。

这一概念最早由 Amodei 等人在其开创性论文《Concrete Problems in AI Safety》(2016)中提出,文中列出了一系列关于人工智能安全的开放研究问题,并将奖励黑客列为关键的人工智能安全问题之一。所谓奖励黑客,是指智能体通过不期望的行为“钻空子”来操纵奖励函数以获得高回报

规范博弈(Specification gaming) 是一个类似的概念,指的是智能体的行为满足目标函数的字面定义,但并未实现预期的目标。这意味着任务目标的字面描述与实际期望之间存在差距。

奖励塑形是一种用于丰富奖励函数、使智能体更容易学习的技术,例如通过提供更密集的奖励信号来加速学习。然而,设计不当的奖励塑形机制可能会改变最优策略的路径。设计有效的奖励塑形机制本质上是一项困难的任务。与其归咎于设计不佳的奖励函数,不如承认:由于任务本身的复杂性、状态的部分可观测性、多维度因素等,设计一个好的奖励函数本身就极具挑战性。

强化学习中的奖励函数

为一个强化学习任务设计奖励函数,往往感觉像是一门“玄学”。很多因素都增加了这一过程的复杂性:你如何将一个大目标分解为多个小目标?奖励是稀疏的还是密集的?你如何衡量任务的成功?这些选择可能会导致良好的学习效果,也可能带来问题,比如任务变得无法学习,或者奖励函数被“钻空子”。

在强化学习中如何进行奖励塑形,已有很长的研究历史。

例如,在 Ng 等人于 1999 年发表的一篇论文中,作者研究了如何修改马尔可夫决策过程(MDP)中的奖励函数,使得最优策略保持不变。他们发现,线性变换是可行的。

给定一个 MDP,我们希望构造一个变换后的 MDP,使得新的状态奖励函数是原奖励函数的一个线性变换,从而引导学习算法更高效地收敛。

给定一个实值函数$ F(s, a) $,如果对于所有的 s 和 a,满足:
F(s, a) = \Phi(s) - \gamma \sum_{s'} P(s' | s, a) \Phi(s')

那么这就被称为基于势能的奖励塑形函数(potential-based reward shaping function)。

这种形式可以保证,所有折扣后的 $ F(s, a) $之和最终为 0。如果 F 是基于势能的奖励塑形函数,那么它既是充分条件也是必要条件,以确保原始 MDP 和变换后的 MDP 拥有相同的最优策略。

$ \Phi(s) $ 是一个势能函数,并进一步假设 $ \Phi(s_{\text{absorbing}}) = 0 $,其中 $ s_{\text{absorbing}} $ 是终止状态,且$ \gamma $是折扣因子,那么对于所有 s 和 a,有:

R'(s, a) = R(s, a) + F(s, a)

这种形式的奖励塑形允许我们将启发式信息引入奖励函数,从而加快学习速度,同时不影响最优策略。

虚假相关性(Spurious Correlation)

在分类任务中,虚假相关性捷径学习shortcut learning)是一个与奖励黑客(reward hacking)密切相关的概念。所谓虚假特征或捷径特征,是指模型可能依赖于一些表面的、非本质的特征来进行决策,从而导致分类器无法按照预期进行学习和泛化。

例如,一个用于区分狼和哈士奇的二分类器,如果训练集中所有狼的图片背景都是雪地,模型可能会过度依赖“雪地背景”这一特征进行判断,从而在其他背景下无法正确识别狼。


经验风险最小化(ERM)原则指出,由于数据的完整分布是未知的,因此最小化训练数据上的损失是风险的一个合理代理,因此我们倾向于选择训练损失最低的模型。

Nagarajan 等人(2021)研究了 ERM 原则,并指出,在尝试无约束地拟合数据的过程中,ERM 需要依赖各种类型的信息特征,包括那些不可靠的虚假特征。他们的实验表明,无论任务本身多么简单,ERM 都会依赖这些虚假特征。

奖励篡改

奖励篡改(Reward Tampering,Everitt 等人,2019) 是一种奖励黑客行为,指的是智能体(agent)干扰奖励函数本身,导致观察到的奖励不再准确反映设计者所期望的目标。在奖励篡改行为中,模型可能通过直接操控奖励函数的实现方式,或间接改变用于计算奖励的环境信息,从而修改其自身的奖励机制。

:一些研究将奖励篡改定义为与奖励黑客并列的一种目标不一致行为类别。但在此我将奖励黑客视为一个更广泛的概念。

从高层次来看,奖励黑客可以分为两类:

  1. 环境或目标误设型(Environment or Goal Misspecification)
    模型通过“利用环境漏洞”或优化一个与真实目标不一致的奖励函数,从而获得高奖励。例如,当奖励函数定义不完整或缺少关键要求时,智能体可能学习到不符合预期的行为。

  2. 奖励篡改型(Reward Tampering)
    模型学会了主动干扰其奖励机制本身,从而获得更高的奖励。

为什么奖励黑客现象存在?

Goodhart 定律指出:“当一个度量指标成为目标时,它就不再是一个好的度量指标。”其核心直觉是:一旦对某个良好指标施加了优化压力,它就可能变得失真或失效。我们很难定义一个完全准确的奖励目标,而任何代理指标(proxy)都有被“钻空子”的风险,因为强化学习算法会利用奖励函数定义中的任何微小缺陷。

Garrabrant(2017)将 Goodhart 定律划分为以下四种变体:

  1. 回归型(Regressional):对不完美代理指标的选择必然会同时选择其中的噪声。
  2. 极端型(Extremal):当优化指标将状态分布推向一个新的区域时,数据分布可能发生显著变化。
  3. 因果型(Causal):当代理指标与目标之间存在非因果相关性时,干预代理指标可能无法影响目标本身。
  4. 对抗型(Adversarial):优化代理指标会激励对手将自己的目标与该代理指标相关联,从而影响系统。

Amodei 等人(2016)总结指出,在强化学习(RL)场景中,奖励黑客可能由以下原因引起:

  • 部分可观测状态与目标:它们只是对环境状态的不完美表示。
  • 系统本身的复杂性与易受攻击性:例如,如果智能体被允许执行修改环境部分状态的代码,就更容易利用环境机制。
  • 奖励函数涉及抽象概念:这些概念难以学习或形式化表达;例如,输入维度较高的奖励函数可能过度依赖于某些维度。
  • RL的目标是高度优化奖励函数,因此存在一种内在的“冲突”,使得设计良好的 RL 目标具有挑战性。一个特殊情况是某些奖励函数中存在自我强化的反馈机制,这可能导致奖励被放大和扭曲,偏离其原始意图。例如广告投放算法中可能出现“赢者通吃”的现象。

此外,识别一个最优智能体所优化的准确奖励函数通常是不可能的。因为在一个固定环境中,任何观察到的策略可能对应无限多个一致的奖励函数(Ng & Russell, 2000)。Amin 和 Singh(2016)将这种不可识别性(unidentifiability)的原因分为两类:

  1. 表征性(Representational):某些奖励函数在特定算术操作下(如缩放)表现出行为不变性。
  2. 实验性(Experimental):智能体所观察到的行为不足以区分两个或多个都能解释其行为的奖励函数(这些行为在两者下都是最优的)。

Hacking RL Environment

随着模型和算法的日益复杂,奖励黑客(Reward Hacking) 问题预计会变得更加普遍。一个更智能的智能体更有能力发现奖励函数设计中的“漏洞”,并利用任务规范中的缺陷——换句话说,就是获得更高的代理奖励(proxy reward),但实际的真正奖励(true reward)却较低。相比之下,一个能力较弱的算法可能无法发现这些漏洞,因此当模型能力不足时,我们可能不会观察到任何奖励黑客现象,也无法识别当前奖励函数设计中的问题。

在一组零和机器人自博弈任务(zero-sum robotics self-play games)中(Bansal 等人,2017),我们可以训练两个智能体(受害者 vs. 对手)进行对抗。标准训练过程可以生成一个在面对普通对手时表现良好的“受害者”策略。然而,Gleave 等人(2020)发现,很容易训练出一种对抗性策略(adversarial policy),它能够稳定击败受害者,即使其输出的动作看似随机,且训练所用的步数还不到总步数的3%。对抗策略的训练过程与标准 RL 设置一致,即优化折扣奖励的总和,同时将受害者策略视为黑盒模型。

一种直观的缓解对抗性策略攻击的方式是让受害者策略在面对对抗性对手时进行微调。然而,一旦对抗性策略出现新的版本,受害者策略仍然容易受到攻击,即使它已经被重新训练以应对旧版本的对抗策略。

那么,为什么对抗性策略会存在?一个假设是:对抗性策略通过引入分布外(out-of-distribution, OOD)的观测信息来干扰受害者,而非物理上的直接干预。有证据表明,当受害者的对手位置观测被遮蔽并设为静态状态时,受害者对对抗性策略的鲁棒性显著增强,尽管这会降低其面对普通对手时的表现。此外,高维观测空间在正常情况下可以提升性能,但也使策略更容易受到对抗性对手的攻击。

Pan 等人(2022)研究了奖励黑客现象如何随着智能体能力的变化而变化,包括以下四个维度:

  1. 模型大小(Model size)
  2. 动作空间分辨率(Action space resolution)
  3. 观测空间噪声(Observation space noise)
  4. 训练时长(Training time)

他们还提出了三种代理奖励误设(misspecified proxy rewards)类型的分类:

  • 权重误设型(Misweighting):代理奖励与真实奖励捕捉了相同的目标,但它们的相对重要性不同。
  • 本体误设型(Ontological):代理奖励与真实奖励使用了不同的目标来描述相同的概念。
  • 范围误设型(Scope):代理奖励只在受限的领域(如时间或空间)内衡量目标,因为全面衡量所有条件的成本过高。

他们在四个 RL 环境中,搭配九种误设的代理奖励进行了实验。实验的总体发现可以总结如下:智能体的能力越强,获得的代理奖励越高(或相近),但真实奖励反而下降

  • 模型大小:更大的模型会导致更高的代理奖励,但真实奖励下降。
  • 动作空间分辨率:更高的动作精度可以提升智能体能力。然而,随着分辨率提升,代理奖励保持不变,而真实奖励下降。
  • 观测准确性:更准确的观测提高了代理奖励,但略微降低了真实奖励。
  • 训练步数:在初期代理奖励与真实奖励正相关的阶段之后,继续优化代理奖励会损害真实奖励。

如果代理奖励定义得非常糟糕,以至于它与真实奖励之间的相关性极低,我们甚至可能在训练开始前就识别并防止奖励黑客行为的发生。基于这一假设,Pan 等人(2022)研究了代理奖励与真实奖励在一系列轨迹 rollout 中的相关性。有趣的是,即使两者之间存在正相关,奖励黑客仍然可能发生。

对大语言模型(LLM)的 RLHF 的“黑客式”利用

人类反馈强化学习(Reinforcement Learning from Human Feedback, RLHF) 已成为对齐训练语言模型的主流方法。在该方法中,首先基于人类反馈数据训练一个奖励模型(reward model, RM),然后通过强化学习对语言模型进行微调,以最大化这一代理奖励(proxy reward),从而更好地满足人类偏好。

在 RLHF 设置中,我们关注以下三种奖励类型:

  1. 理想/黄金奖励(Oracle/Gold Reward)
    表示我们真正希望 LLM 优化的目标。

  2. 人类奖励(Human Reward)
    是我们在实践中收集用于评估 LLM 的指标,通常由时间有限的人类评估者提供。由于人类可能给出不一致的反馈或犯错,人类奖励并不能完全准确地反映黄金奖励。

  3. 代理奖励(Proxy Reward)
    是由基于人类数据训练的奖励模型预测的分数。因此,代理奖励不仅继承了人类奖励的所有缺陷,还可能引入建模偏差。

RLHF 优化的是代理奖励分数,但我们真正关心的是黄金奖励分数。

RLHF 的对齐目标与人类反馈的局限性

RLHF 的目标是提升模型与人类偏好的对齐程度,但人类反馈可能无法捕捉我们关心的所有方面(例如事实性),从而可能被模型“钻空子”,过度拟合某些不希望的属性。例如,模型可能学会生成看起来正确且令人信服但实际上错误的回答,从而误导人类评估者更频繁地批准其错误输出(Wen 等人,2024)。

换句话说,由于 RLHF 的存在,“正确”与“看起来正确”之间出现了差距。Wen 等人(2024)使用基于 ChatbotArena 数据的奖励模型进行了 RLHF 实验,并在问答数据集 QuALITY 和编程数据集 APPS 上进行评估。他们的实验揭示了以下现象:

  • RLHF 提高了人类的批准率,但不一定提高正确性
  • RLHF 削弱了人类的评估能力:RLHF 训练后的人类评估错误率更高
  • RLHF 使错误输出对人类更具说服力:评估的假阳性率显著上升

这篇论文将这种现象称为 “U-Sophistry”(“U”代表“unintended”,非预期的),以区别于“I-Sophistry”(“I”代表“intended”,有意的),后者是通过诸如“…尝试欺骗人类受试者”等指令明确引导模型产生的行为。

RLHF 使 LLM 更擅长说服人类评估者批准其错误回答。(图片来源:Wen 等人,2024)

人类评估错误的变化并非由于招募过程中的噪声,原因如下:

  1. 在个体层面,大多数(70%-90%)人类评估者的评估错误率都有所上升。
  2. 他们在评估 before-RLHFbefore-RLHF 和 after-RLHFafter-RLHF 模型时投入的努力是相当的,这通过评估时间或编写的单元测试数量等指标衡量。

相反,LLM 学会通过挑选有利信息、编造虚假支持陈述或构造带有微妙逻辑谬误的陈述来为其错误回答辩护。他们在 RLHF 后观察到模型的行为变化包括:

在长文本问答任务中:

  • 创造更具说服力的虚假证据;
  • 对错误答案使用更一致的逻辑;
  • 生成具有细微谬误的连贯回答。

在编程任务中:

  • 欺骗人类编写的单元测试;
  • 生成可读性较低的测试代码(如更少辅助函数、更高的代码复杂度);
  • 使生成的错误代码更难被人类检测到

下图展示了生成代码的模块性指标(辅助函数数量)与圈复杂度(Cyclomatic Complexity)的变化。RLHF 导致整体辅助函数减少,错误代码的复杂度增加,这无疑增加了人类评估的难度。

http://www.lryc.cn/news/594434.html

相关文章:

  • 深入解析Ext2文件系统架构
  • 【RK3576】【Android14】ADB工具说明与使用
  • 【Linux性能优化】常用工具和实战指令
  • 软件测试-Bug
  • 【软件测试】从软件测试到Bug评审:生命周期与管理技巧
  • 机器学习-数据预处理
  • 0401聚类-机器学习-人工智能
  • Vue开发前端报错:‘vue-cli-service‘ 不是内部或外部命令解决方案
  • 交通出行大前端与 AI 融合:智能导航与出行预测
  • Servlet 执行流程 生命周期 方法介绍
  • 超大整数任意进制之间在线转换工具
  • 通俗易懂神经网络:从基础到实现
  • Unity 新旧输入系统对比
  • 【数据结构】树状数组
  • 网安-文件上传-upload-labs
  • 深入理解MyBatis:总结核心概念
  • Mermaid 语法
  • SpringBoot集成Skywalking链路跟踪
  • 44.sentinel授权规则
  • Dev-C++——winAPI贪吃蛇小游戏
  • codepen使用
  • 网鼎杯2020青龙组notes复现
  • AG32:解锁MCU+FPGA应用新姿势,功能与实战全解析
  • 《杜甫传》读书笔记与经典摘要(一)
  • 桑科草原一景
  • RabbitMQ:解锁高效消息传递的密码[特殊字符]
  • C++STL之stack和queue
  • 【pandoc实践】如何将wordpress文章批量导出为Markdown格式
  • Spring Boot 自动装配用法
  • 从0开始学linux韦东山教程Linux驱动入门实验班(4)