逆强化学习与偏好学习
强化学习假设奖励是现成的,可真实机器人的奖励几乎总要人来写,而且很难写对。本节换一个方向:让机器人从人的示教或人的偏好里学出奖励。先看清这个逆问题为什么天生有歧义(缩放、势函数整形、一整片都能解释示教的奖励),再在地形格子世界里实时训练最大熵 IRL,看它为什么只能学到示教“暴露”出来的那部分;然后把 GAIL 理解为“判别器当奖励”的占用度量匹配,并用一张新地图检验:学到的奖励能迁移,克隆来的策略不能。最后转向偏好:Bradley–Terry 模型从“A 比 B 好”里拟合奖励模型,RLHF 和 DPO 用它微调策略,KL 约束与奖励模型被“过度优化”的代价都可以在图中亲手调出来。
1为什么机器人需要它
20.1 节到 20.5 节的所有算法都从一个奖励函数 \(r(s,a)\) 出发:值迭代、Q-learning、PPO、SAC 都只是在最大化它的期望回报。可是在真实任务里,奖励不是环境给的,而是工程师写的。一台越野小车该怎样在“走草地”“绕远路”“冒险穿过泥坑”之间权衡?一只机械臂把杯子递给人时,“动作自然”怎么写成公式?手写的奖励常常漏掉某个条件,强化学习又极其擅长钻这种空子:它会找到一种让数字变大、却完全不是你想要的行为(reward hacking)。
另一方面,人往往做得出来或者评判得出来,只是说不清楚。司机会开,却说不出自己给泥坑的权重是多少;你分不清两段抓取动作各自得几分,却能马上说出哪一段更好。于是有两条路:
- 逆强化学习(IRL):给定专家的示教轨迹,反推一个奖励,使专家的行为在这个奖励下是(近似)最优的;然后用这个奖励在新环境里重新规划或训练策略。GAIL 是它的一个近亲:不显式输出奖励,而是用一个判别器(19.2 节)当奖励直接训练策略。
- 偏好学习:让人比较两段行为“哪个更好”,用 Bradley–Terry 模型拟合一个奖励模型,再用强化学习(RLHF)或直接用偏好对(DPO)微调策略。今天的大语言模型就是这样对齐的,同样的工具也正在用于机器人策略。
和行为克隆(22.1 节)相比,学奖励多绕了一步,换来的是“为什么”:奖励描述的是目标,而不是在某个地方该往哪走,所以地图变了、障碍物挪了,机器人可以用同一个奖励重新规划(FIG 4)。
2直觉:一个逆问题,很多个答案
正向的强化学习是“给定奖励,求最优行为”;逆强化学习是“给定行为,求奖励”。逆问题的通病是解不唯一。本节贯穿全篇的例子是一台越野小车:在 10×7 的格子地图上从左边的 S 开到右边的 G,每一步走到上下左右相邻的格子。地面有三种:铺装路面、草地、泥地。我们假设奖励是地形特征的线性组合,每走进一个格子 \(s'\) 得到
其中 \(\phi_{\mathrm g}(s')\) 在 \(s'\) 是草地时为 1、否则为 0,\(\phi_{\mathrm m}\) 对泥地同理,\(w_{\mathrm s}\) 是每走一步的奖励(负数就是时间代价)。\(\mathbf f(\tau)\) 是轨迹的特征计数:走了几步、踩了几格草、几格泥。到达 G 就结束(回报不打折,\(\gamma=1\))。下图左边紫色是专家的路线:先往上一格,沿着草带绕过泥地,共 11 步、踩了 8 格草。右边是奖励权重的平面(横轴 \(w_{\mathrm g}\),纵轴 \(w_{\mathrm m}\),\(w_{\mathrm s}\) 固定为 −1),拖动蓝点改变奖励,左图的蓝色路线就是这个奖励下的最优路线(6.12 节的值迭代)。青色区域是所有“让专家路线成为最优”的奖励,也就是 IRL 的全部候选答案。
- 蓝点从原点出发:此时草和泥都不扣分,最短的路线径直穿过泥地。把它拖进青色区域(读数里“专家回报 − 最优回报”变为 0),再在青色区域里找两个奖励,它们的 \(w_{\mathrm m}\) 相差至少 3(例如 −1 和 −4.5):两者都完美解释了示教。“泥有多糟”这件事,示教根本没有告诉你。
- 让蓝点停在青色区域里,把势函数整形强度 \(k\) 调到 2 或以上:每一步的奖励都变了(朝 G 走一步多得 \(k\),背离 G 少得 \(k\)),可最优路线一格都没变,青色区域也不变。
青色区域的边界可以直接从三条路线的回报读出来(\(w_{\mathrm s}=-1\)):专家的草带路线回报是 \(-11+8w_{\mathrm g}\),直穿泥地是 \(-9+2w_{\mathrm g}+4w_{\mathrm m}\),最上面的铺装绕行是 \(-13\)。专家路线最优,当且仅当 \(w_{\mathrm g}>-0.25\)(否则铺装绕行更好)且 \(w_{\mathrm m}<-0.5+1.5\,w_{\mathrm g}\)(否则直穿更好)。这是一个无界的楔形:只要泥“足够糟”,再糟多少都一样;草甚至可以是加分的。
IRL 的歧义有三层。(1) 缩放:把 \(\mathbf w\) 乘以任何正数,最优路线不变,所以图里干脆固定了 \(w_{\mathrm s}=-1\)。(2) 整形:给奖励加上 \(\Phi(s')-\Phi(s)\) 这样的势函数差(Ng、Harada 与 Russell,1999),任何从 S 到 G 的路线回报都只差同一个常数 \(\Phi(G)-\Phi(S)\),排序完全不变。(3) 一整片:即便去掉前两种,示教也只能把奖励限制在一个区域里(青色楔形),而 \(\mathbf w=\mathbf 0\) 这种“什么都无所谓”的奖励让任何行为都是最优的,永远在候选集里。所以每一种实用的 IRL 算法都要额外加一条原则来挑出一个答案:最大间隔、最大熵、对抗训练……下一节的最大熵 IRL 就是其中最常用的一种。
3动手:最大熵 IRL
真实的示教不是一条完美路线,而是很多条有点随意的路线:有人多拐了一下,有人偶尔抄近路。Ziebart 等(2008)的最大熵 IRL 把这种随意性写进模型:专家按回报的指数挑路线,回报越高越常走,但每条路线都有可能,
这是一个指数族分布(19.5 节的能量模型,能量就是 \(-R_{\mathbf w}\)),它的对数似然对 \(\mathbf w\) 是凹的,梯度只有一句话:示教的平均特征计数减去模型的期望特征计数。梯度为零时两者相等,这叫特征匹配:学到的模型平均走的步数、踩的草、踩的泥和示教一模一样。期望特征计数不用枚举所有路线,用两遍动态规划就能精确算出:一遍向后的“软”值迭代(max 换成 log-sum-exp),得到每一步的随机策略;一遍向前传播状态分布,数出每种特征的期望次数(第 7 节)。
下图用 \(\mathbf w^{\star}=(-2,-0.3,-4)\)(步数、草、泥)按上式随机生成 \(N\) 条示教,然后从 \(\mathbf w=\mathbf 0\)(所有在 24 步内到得了 G 的路线等可能)开始梯度上升。注意这里 \(w_{\mathrm s}\) 也要学:最大熵模型里奖励的大小有意义,它决定专家有多“随意”。
- 用默认的 20 条示教按“训练”,直到三种特征计数的差都小于 0.05(约 270 次迭代)。这时 \(w_{\mathrm s}\approx-1.98\)、\(w_{\mathrm g}\approx-0.23\),离真值 \(-2\)、\(-0.3\) 已经很近。
- 继续用这 20 条示教训练到至少 1000 次迭代:步数和草的权重早已不动,泥的权重却一直在往下掉(读数给出最近 100 次迭代的变化)。原因:这 20 条示教一格泥都没踩过。
(1) 最大熵原则把 FIG 1 的楔形“压”成了一个点:在所有让特征计数匹配的分布里,它挑熵最大的那个(第 7 节证明两种说法等价),步数和草的权重因此都能确定,连缩放也确定了;换成 500 条示教训练 300 次迭代以上,\(w_{\mathrm s}\) 和 \(w_{\mathrm g}\) 都落在真值 ±0.05 以内。(2) 但它只能学到示教暴露出来的东西。默认的 20 条示教泥的计数是 0,“模型期望泥的次数等于 0”只能靠 \(w_{\mathrm m}\to-\infty\) 做到,所以这个权重永远收敛不了;换一组恰好踩过一格泥的示教(按“换一组示教”找找看),它会停在一个有限值上。真实专家 \(w_{\mathrm m}=-4\) 时平均每条示教只踩 0.011 格泥,即便 500 条示教,泥的权重也要很久才挪到 −4 附近。(3) 收敛后模型对这 20 条示教的平均负对数似然(约 8.5 nat)比真实奖励给出的还略低一点:它拟合的是这一份样本,样本的偶然性也一并学了进去。
4另一个视角:GAIL,判别器当奖励
最大熵 IRL 的内循环要反复“在当前奖励下求最优策略”,这在格子世界里是两遍动态规划,在一台连续控制的机器人上就是一整轮强化学习。Ho 与 Ermon(2016)注意到,如果最终要的只是一个会模仿的策略,奖励只是中间产物,那么“IRL 之后再 RL”可以合并成一个问题:让策略的状态-动作占用度量 \(\rho_\pi(s,a)\) 和专家的 \(\rho_E(s,a)\) 一样。度量两个分布的差别,正是 19.2 节判别器的本事:
判别器 \(D(s,a)\) 学“这个状态-动作对来自专家的概率”;策略用强化学习最大化一个由 \(D\) 给出的奖励,做得越像专家,得分越高。这里写的是 FIG 3 用的 \(\log D\);原论文用的是 \(-\log(1-D)\),两者的平衡点相同,区别见第 7 节。它就是 19.2 节的 GAN,只不过“生成器”是一个在环境里行动的策略,样本要靠执行策略得到,梯度不能穿过环境传回来,所以要用强化学习(原文用 TRPO)而不是反向传播来更新策略。
下图在同一张地图上运行 GAIL。为了让图里没有采样噪声,占用度量是精确算出来的(真实的 GAIL 从执行策略得到的样本里估计),每次迭代:判别器(2→24→24→1 的 MLP,输入是格子坐标和移动方向,看不到地形,就像真实的 GAIL 只看原始状态)做 2 步 Adam;策略向当前奖励 \(\log D\) 下的熵正则最优策略(温度 \(\lambda=0.3\) 的软值迭代)迈半步。
- 按“训练”,直到 TV 低于 0.15(默认设置约 230 次迭代):蓝圈和紫圆基本重合,策略走草带、平均约 13 步,和示教相近。注意判别器从头到尾都不太“确定”(背景颜色很淡,\(D\) 大多在 0.35 到 0.65 之间):策略每一步都在追它,它刚学到一点区别,策略就把这点区别消掉了。
IRL 视角:GAIL 等于“先用某种正则化的 IRL 求奖励,再用 RL 求策略”,Ho 与 Ermon 证明了这个复合正好是占用度量匹配;选不同的奖励正则化,就得到不同的“距离”:线性奖励类对应特征匹配(Abbeel 与 Ng,2004,以及 FIG 2),GAN 判别器对应 JS 散度。GAN 视角:判别器的最优解 \(D^*=\rho_E/(\rho_E+\rho_\pi)\)(19.2 节),所以 \(\log D^*-\log(1-D^*)=\log\rho_E-\log\rho_\pi\):奖励在“专家常去、策略少去”的地方高。收敛时 \(\rho_\pi=\rho_E\),\(D^*\equiv\tfrac12\),奖励退化成常数。这正是 GAIL 不适合当“奖励学习”用的原因:它输出的是一个会模仿的策略,不是一个能拿到别处重用的奖励(FIG 4)。AIRL(Fu、Luo 与 Levine,2018)改造了判别器的结构,使它在收敛时仍保留一个可迁移的奖励。
5为什么要学奖励:换一张地图
在训练用的地图上,行为克隆、GAIL 和 IRL 给出的路线一样好。区别出现在新环境里。下图把三样东西都搬到一张新地图上:行为克隆(每个格子取示教里最常见的移动,没去过的格子照抄最近的去过的格子)、FIG 3 那样训练 300 次迭代的 GAIL 策略、以及用 FIG 2 那样学到的奖励 \(\mathbf w=(-1.98,-0.23,-2.92)\)(20 条示教、400 次迭代)在新地图上重新规划的路线。三者用的是同一份 20 条示教。
- 先选地图 B:克隆策略和 GAIL 照旧往上走,一头扎进泥里(真实回报 −54),重新规划的路线改走下面的草带,回报 −24.4,正好是最优。再选地图 C:中间出现了一条笔直的路面,重新规划立刻抄近路(−18,最优),克隆策略和 GAIL 还在绕草带(−24.1)。
- 自己设计一张地图:在任意地图上点击格子,让克隆策略的真实回报比重新规划的路线低至少 30(例如把它的路线铺满泥)。
克隆策略和 GAIL 学到的是“在这个格子往哪走”,地形一变,它们的路线一格都不变,只是代价变了;学到的奖励说的是“步数、草、泥各值多少”,配上一个规划器,在任何用同样特征描述的地图上都能给出新的行为。这是 IRL 最初的动机(Russell,1998;Ng 与 Russell,2000):奖励是对任务最简洁、最可迁移的描述。代价是需要规划器或强化学习、需要合适的特征,而且奖励只在示教覆盖到的方向上可信:如果新地图逼着机器人在“泥”和别的东西之间做 FIG 2 里从没学准的权衡,重新规划也可能出错。(这里的行为克隆只以格子编号为输入,是最极端的情形;以地形为输入的克隆策略会好一些,但它仍然学不到“绕远路是为了躲泥”这一层。)
6偏好:从“A 比 B 好”学奖励
示教要求人会做,偏好只要求人会比。Bradley–Terry 模型(1952)假设每段行为有一个潜在的分数 \(R\),人选 A 而不选 B 的概率是分数差的 sigmoid:
拟合 \(\psi\) 就是在“分数差”上做逻辑回归(16.1 节)。它也是 FIG 2 的最大熵模型在“只有两个候选”时的特例:在 A、B 两条轨迹之间按 \(e^{R}\) 挑一条。下图里一台移动机器人要从左到右绕过一个障碍物,候选路线有 80 条,各自的偏移和抖动不同。每条路线有三个特征:比直线多走的长度 \(\phi_1\)、靠近障碍物的风险 \(\phi_2\)(最小间隙越小越接近 1,撞上时为 1)、抖动程度 \(\phi_3\)。一个“模拟的人”心里的分数是 \(R^*=-5\phi_1-8\phi_2-5\phi_3\),按 \(P(A\succ B)=\sigma(\beta(R^*_A-R^*_B))\) 回答,\(\beta\) 越大这个人越一致。奖励模型 \(R_\psi=\psi^\top\boldsymbol\phi\) 对三个特征线性,每来一个标注就用牛顿法重新拟合(带一个很小的 L2 正则 \(0.01\|\psi\|^2\),避免数据完全可分时 \(\psi\) 无界)。你也可以自己当标注员。
- 自己当标注员:用“A 更好”“B 更好”标注 8 对路线。奖励模型学到的是你的偏好,读数里的 \(\psi\) 告诉你它认为你最在意哪个特征。
- 按“重置”,用默认的 \(\beta=1\) 让模拟的人标注,直到测试一致率达到 95%(默认种子约 30 个标注)。
- 把 \(\beta\) 降到 0.2(一个很随意的标注员;任务要求 \(\beta\le0.3\)),按“重置”,再让它标注 40 对:默认种子下一致率停在 72% 左右,而 \(\beta=1\) 时 40 个标注已经到 97%。
注意 BT 模型只看分数差:给所有路线的分数加同一个常数,似然不变,所以奖励模型的零点永远无法确定(FIG 1 的歧义在这里又出现了一次)。缩放也和标注员的一致性 \(\beta\) 纠缠在一起:一致的人(\(\beta\) 大)让 \(\psi\) 的绝对值变大,随意的人让它变小。能可靠学到的只有方向,也就是各特征之间的相对权重。
RLHF 与 DPO:用偏好微调策略
有了奖励模型 \(\hat r\),就可以优化策略。但如果直接最大化 \(\hat r\),策略会跑到奖励模型从没见过、因而估得不准的地方去。Christiano 等(2017)最早把“从比较里学奖励模型、再用深度 RL 优化它”做成了可行的流程;用于语言模型时,标准做法(Ziegler 等,2019;Ouyang 等,2022)是再加一个 KL 约束,让策略不要离一个参考策略 \(\pi_{\mathrm{ref}}\)(通常是监督微调或行为克隆得到的策略)太远:
右边的闭式解(第 7 节推导)说明 KL 正则的最优策略就是把参考策略按 \(e^{\hat r/\beta}\) 重新加权。在语言模型或机器人策略上 \(a\) 的空间太大,没法归一化,所以 RLHF 用 PPO(20.4 节)去逼近它。DPO(Rafailov 等,2023)反过来用:既然 \(\hat r(a)=\beta\log\frac{\pi^*(a)}{\pi_{\mathrm{ref}}(a)}+\beta\log Z\),就把这个式子代进 BT 损失,\(Z\) 在分数差里消掉,直接在偏好对上训练策略,不需要单独的奖励模型,也不需要强化学习:
下图是一个最小的例子:同一个杯子有 6 个候选抓取,参考策略(从示教克隆来的)偏爱前两个,而真正成功率最高的是抓取 4。偏好数据是从参考策略里成对抽取抓取,再按 BT 模型和真实奖励 \(r^*\) 随机标注“哪个更好”。RLHF 一侧先拟合表格形式的奖励模型 \(\hat r\),再用上面的闭式解得到 \(\pi^*\)(相当于 PPO 完美收敛);DPO 一侧从 \(\pi_{\mathrm{ref}}\) 出发,用 Adam 直接最小化 \(\mathcal L_{\mathrm{DPO}}\)。两边用同一份数据、同一个极小的 L2 正则(\(0.001\sum_a(r(a)-\bar r)^2\),DPO 加在它隐含的奖励 \(\beta\log\frac{\pi_\theta}{\pi_{\mathrm{ref}}}\) 上)。
- 用 4000 个比较、\(\beta=0.5\),按“训练 DPO”,直到琥珀柱和蓝柱几乎一样(总变差 TV < 0.01,约 120 次迭代):DPO 没有奖励模型、没有强化学习,却到达了同一个策略。
- 换成只有 40 个比较的默认数据:抓取 6(参考策略只给它 5%)只出现了 4 次,碰巧 4 次全赢,奖励模型把它排成第一。把 \(\beta\) 从 1 降到 0.2 以下:奖励模型的打分从 1.68 涨到 2.91,真实奖励却从 0.91 跌到 0.50。这就是奖励模型被过度优化。
\(\beta\) 的代价也可以直接读出来:用 4000 个比较,把 \(\beta\) 降到约 0.4,RLHF 策略才把 80% 的概率放到抓取 4 上,此时 KL 约 1.4 nat。
(1) DPO 和“BT 奖励模型 + KL 正则 RL”优化的是同一个目标,只是参数化不同:DPO 的策略本身就隐含着一个奖励 \(\beta\log\frac{\pi_\theta}{\pi_{\mathrm{ref}}}\)。在这个表格例子里两者的最优解完全一样;在大模型上,两者的差别来自优化与泛化(PPO 能在新采样的回答上用奖励模型打分,DPO 只看固定的偏好对)。(2) \(\beta\) 是信任奖励模型的程度。真实奖励对 KL 的曲线先升后降(Gao、Schulman 与 Hilton,2023 在语言模型上系统地测过这种曲线):奖励模型在数据少的地方会出错,策略越自由,越会钻到这些错误里。DPO 也逃不掉:它隐含的奖励来自同一份偏好数据,在 40 个比较的数据上同样会把概率推到抓取 6 上。
7再看数学
提示:把鼠标悬停在公式中带底色的符号上,图中对应的元素会被高亮(FIG 1 的青色区域和势函数,FIG 2 的特征柱和权重曲线,FIG 3 的判别器背景与两种访问圆,FIG 5 的路线对,FIG 6 的三组柱子和 KL 曲线)。
问题的表述与 Ng–Russell 条件
MDP \((\mathcal S,\mathcal A,P,\gamma)\) 已知,奖励 \(r\) 未知;给定专家策略 \(\pi_E\)(或它的示教)。IRL 要找 \(r\),使 \(\pi_E\) 在 \(r\) 下最优,即对每个状态,专家的动作的 \(Q\) 值不低于任何别的动作(20.1 节的 Bellman 最优方程):
对有限 MDP,\(Q^{\pi_E}_r\) 对 \(r\) 是线性的(\(V^{\pi}=(I-\gamma P_\pi)^{-1}r_\pi\)),所以 \(\mathcal R(\pi_E)\) 是由线性不等式围成的凸锥:它包含 \(r=0\),对正数缩放封闭,这就是 FIG 1 的青色楔形。Ng 与 Russell(2000)对状态奖励写出了这组不等式,并用线性规划在其中挑一个“让专家动作领先得最多”的奖励(最大间隔),再加 L1 正则偏好简单的奖励。最大间隔规划(Ratliff、Bagnell 与 Zinkevich,2006)把同样的思想推广到结构化输出:专家路径的回报要比其他每条路径高出一个与“差多少”成比例的间隔。
势函数整形不改变最优策略
对任何函数 \(\Phi:\mathcal S\to\mathbb R\),令 \(r'(s,a,s')=r(s,a,s')+\hl{shape}{\gamma\Phi(s')-\Phi(s)}\)。沿一条轨迹求和,中间项两两抵消:
每个状态的所有动作的 \(Q\) 值减去同一个数,\(\arg\max\) 不变(Ng、Harada 与 Russell,1999;他们还证明了:在不知道转移模型的前提下,势函数形式是唯一一种保证不改变最优策略的整形)。FIG 1 用 \(\gamma=1\)、\(\Phi(s)=-k\,d(s)\),\(d\) 是到 G 的曼哈顿距离,于是每条从 S 到 G 的路线的回报都恰好加了 \(\Phi(G)-\Phi(S)=9k\)。所以 IRL 从示教里最多只能把奖励确定到“差一个整形项”。Skalse 等(2023)系统地刻画了不同数据源(最优示教、玻尔兹曼示教、偏好)能确定奖励到什么程度。
最大熵 IRL:从原则到算法
原则。在所有满足特征匹配 \(\mathbb E_p[\mathbf f]=\bar{\mathbf f}_{\mathcal D}\) 的路线分布 \(p\) 里,选熵最大的那个(4.11 节的熵:除了数据要求的,不多假设任何东西)。写拉格朗日函数 \(\mathcal L=-\sum_\tau p\log p+\mathbf w^\top(\sum_\tau p\,\mathbf f-\bar{\mathbf f}_{\mathcal D})+\mu(\sum_\tau p-1)\),对 \(p(\tau)\) 求导置零,得 \(\log p(\tau)=\mathbf w^\top\mathbf f(\tau)+\mu-1\),也就是第 3 节的 \(p_{\mathbf w}\propto e^{\mathbf w^\top\mathbf f}\):拉格朗日乘子 \(\mathbf w\) 就是奖励权重。它的对偶问题恰好是最大化示教的对数似然,
Hessian 是负的特征协方差,所以 \(\ell\) 是凹的,梯度上升不会卡在局部最优。协方差在某个方向上为零(例如示教和模型都几乎不踩泥)时,\(\ell\) 在那个方向上几乎是平的,这就是 FIG 2 里泥的权重一直漂的原因。
计算 \(\mathbb E_{p_{\mathbf w}}[\mathbf f]\)。对确定性转移,“按 \(e^{R}\) 挑动作序列”可以分解成一个随时间变化的策略。FIG 2 和 FIG 3 用长度 \(T=24\) 的视界,并要求在最后一步时位于 G(G 是吸收状态,留在 G 不再得奖励):
向后这一遍就是 6.12 节的值迭代把 \(\max\) 换成了 \(\log\sum\exp\)(“软”最大值),\(V_0(S)=\log Z(\mathbf w)\);向前这一遍是把起点的概率质量沿策略推开。两遍的代价都是 \(O(T\,|\mathcal S|\,|\mathcal A|)\),FIG 2 每次迭代不到 1 ms。对随机转移,直接按 \(e^{R}\) 给轨迹加权会让智能体“相信自己能挑运气”;Ziebart 等(2010)的最大因果熵改为只对策略的因果熵最大化,结果是同样的软 Bellman 递推,只是 \(V_{t+1}(s')\) 换成 \(\mathbb E_{s'}[V_{t+1}(s')]\)。这也正是 SAC(20.4 节)里的软 Bellman 方程:最大熵 IRL 和最大熵 RL 是同一个模型的逆问题与正问题。
深度版本。把 \(\mathbf w^\top\boldsymbol\phi\) 换成神经网络 \(r_\theta(s)\)(Wulfmeier 等,2015),梯度变成 \(\sum_s(\bar d_{\mathcal D}(s)-d_{\theta}(s))\nabla_\theta r_\theta(s)\):示教访问多于模型的状态奖励上调,反之下调。在连续空间里没法精确算 \(d_\theta\),引导代价学习(Finn、Levine 与 Abbeel,2016)用当前策略的样本做重要性采样来估计 \(\log Z\),策略同时用 RL 更新,这已经和下面的 GAIL 很像了。
GAIL:占用度量匹配
策略的占用度量 \(\rho_\pi(s,a)=\sum_t\gamma^t P(s_t=s,a_t=a\mid\pi)\) 和策略一一对应(\(\pi(a|s)=\rho_\pi(s,a)/\sum_{a'}\rho_\pi(s,a')\)),任何奖励的期望回报都是它的线性函数 \(\sum_{s,a}\rho_\pi(s,a)r(s,a)\)。Ho 与 Ermon(2016)证明:用凸正则 \(\psi(r)\) 的最大因果熵 IRL 再接 RL,所得策略等于
其中 \(\psi^*\) 是 \(\psi\) 的凸共轭,它就是度量“两个占用度量差多少”的距离。选一个特定的 \(\psi\),\(\psi^*\) 就变成(差一个常数的)\(\max_D\mathbb E_{\rho_\pi}[\log(1-D)]+\mathbb E_{\rho_E}[\log D]\),也就是 19.2 节的 GAN 目标与 JS 散度;选“奖励在某个线性特征类里”,就退化成特征匹配。实际算法交替:判别器在专家样本和策略样本上做二分类,策略用 TRPO/PPO 最大化判别器给的奖励。
奖励的符号与偏置。原文的判别器输出“来自策略”的概率,策略的代价是 \(\log D_\pi\),换成本页的写法就是奖励 \(-\log(1-D)\ge0\)。另一种常见选择是本页 FIG 3 用的 \(\log D\le0\),还有 AIRL 风格的 \(\log D-\log(1-D)\)。三者的不动点相同,但在会提前结束的任务里偏置不同:恒正的奖励鼓励“活得越久越好”,恒负的奖励鼓励尽快结束(Kostrikov 等,2019 详细分析了这一点,并给出处理吸收状态的办法)。FIG 3 要求在 24 步内到达 G,选 \(\log D\) 时策略不会故意绕圈子。
Bradley–Terry 的最大似然
记 \(\Delta\boldsymbol\phi=\boldsymbol\phi(A)-\boldsymbol\phi(B)\),\(y=1\) 表示选了 A。线性奖励模型下 BT 的负对数似然就是以 \(\Delta\boldsymbol\phi\) 为输入的逻辑回归:
Hessian \(\sum_i\sigma(1-\sigma)\Delta\boldsymbol\phi_i\Delta\boldsymbol\phi_i^\top+2\lambda I\) 正定,FIG 5 每次用牛顿法几步就收敛。BT 等价于假设人看到的分数带有独立的 Gumbel 噪声后取较大者(随机效用模型),它推出“偏好可传递”:若 \(P(A\succ B)>\tfrac12\) 且 \(P(B\succ C)>\tfrac12\) 则 \(P(A\succ C)>\tfrac12\)。真实的人、尤其是多个标注员的集合,常常违反这一点,这是第 9 节一个误区的来源。对神经网络奖励模型(RLHF 里通常是一个去掉输出头、加一个标量头的语言模型),损失的形式完全相同,只是 \(\psi^\top\boldsymbol\phi\) 换成了网络输出。
KL 正则最优策略与 DPO
对固定的 \(\hat r\),把目标改写成一个 KL:
KL 非负、只在两分布相同时为 0,所以最优解唯一,就是 \(\pi^*\)(这是 Gibbs 变分原理,第 3 节的最大熵模型是 \(\pi_{\mathrm{ref}}\) 均匀时的特例)。取对数:\(\hat r(a)=\beta\log\frac{\pi^*(a)}{\pi_{\mathrm{ref}}(a)}+\beta\log Z\)。把它代入 BT 的似然,\(\beta\log Z\) 在 \(\hat r(a_w)-\hat r(a_l)\) 里抵消,就得到第 6 节的 \(\mathcal L_{\mathrm{DPO}}\):对奖励模型做 BT 最大似然,和对策略做 DPO,是同一个优化问题的两种参数化。DPO 对 \(\theta\) 的梯度是
每一对的权重是“隐含奖励把这一对排错的程度”:排错得越厉害,越用力地抬高赢家、压低输家。如果某个动作在数据里从没输过,BT 的最大似然要求它的奖励趋于无穷,DPO 就会把别的动作的概率一路压向 0。这是 Azar 等(2024)提出 IPO 的动机;FIG 6 里一个很小的 L2 正则把它挡住了,但 40 个比较时抓取 6 的“四战全胜”仍然把它的奖励估计推到了最高。
8机器人中的它
越野导航的代价地图:FIG 1–4 的例子并不是虚构的。卡内基梅隆大学的 Ratliff、Silver、Bagnell 等人用最大间隔规划及其函数梯度版本 LEARCH,从人驾驶的路线里学习“各种地形值多少代价”,再交给规划器使用,用在 Crusher 这类越野无人车上(Silver、Bagnell 与 Stentz,IJRR 2010);Wulfmeier 等后来用深度最大熵 IRL 从大量驾驶数据学习城市驾驶的代价地图。驾驶风格与路线预测:Ziebart 等用最大熵 IRL 从匹兹堡出租车司机的 GPS 轨迹里学到路线偏好,用来预测司机会走哪条路;Abbeel、Dolgov、Ng 与 Thrun(2008)用学徒学习让一辆车学会人在停车场里的驾驶风格。学徒学习:Abbeel 与 Ng(2004)的特征期望匹配是这一系列工作的起点,斯坦福的自主直升机特技飞行也出自这一路线(Abbeel、Coates 与 Ng,IJRR 2010)。操作:引导代价学习(Finn 等,2016)在 PR2 上从示教学到了摆放盘子、倒水这类任务的代价函数。
对抗模仿:GAIL 在 MuJoCo 运动任务上用少量示教超过了行为克隆,此后的变体是仿真角色与腿式机器人的常用工具;AMP(Peng 等,2021)把它变成“风格奖励”加到任务奖励上,Escontrela 等(2022)用它在四足机器人上替代了一堆手调的步态奖励项(见 19.2 节)。偏好与人类反馈:Sadigh 等(2017)主动挑选最有信息量的成对比较来学习驾驶行为的奖励;Christiano 等(2017)从人对短视频片段的比较里训练奖励模型,让仿真的 Hopper 学会后空翻,所需的人工反馈不到一小时;PEBBLE(Lee、Smith 与 Abbeel,2021)把这条路线和离策略 RL 结合以减少所需反馈。InstructGPT(Ouyang 等,2022)的三步流程(监督微调 → 奖励模型 → 带 KL 罚项的 PPO)成为大语言模型对齐的标准做法,DPO 是它最常用的简化;同样的偏好损失也开始被用来微调机器人策略。
用语言和 VLM 写奖励:大模型让“说清楚奖励”这件事变得便宜了一些。Language to Rewards(Yu 等,2023)让大语言模型把自然语言指令翻译成 MPC 的奖励参数;Eureka(Ma 等,2024)让大语言模型直接写奖励函数代码,在 GPU 仿真里训练、根据训练结果反复改写,学会了 Shadow 灵巧手转笔这样的技能;另一类工作直接用 CLIP 这类视觉-语言模型(18.3 节)给图像和任务描述的相似度打分,当作奖励(例如 Rocamonde 等,2024 的 VLM-RM)。这些奖励同样会被强化学习钻空子,所以通常和人的检查或偏好反馈一起使用。
9常见误区
示教最多把奖励确定到一个缩放、一个整形项和一片等价区域(FIG 1),最大熵之类的原则再从中挑一个。学到的奖励在示教覆盖到的权衡上可信,在没覆盖到的方向上只是外推:FIG 2 里泥的权重就是例子,它取决于你训练了多久,而不是专家怎么想。检验学到的奖励,要在新环境里用它规划、看行为是否合理(FIG 4),而不是和某个“真值”比数字。
每种方法都假设了专家“怎么犯错”:最优(Ng–Russell)、按 \(e^{R}\) 随机(最大熵)、按 \(\sigma(\beta\Delta R)\) 随机(BT)。示教者如果有系统性偏差,比如遥操作接口让人总是走得很慢、或者不敢靠近障碍物,这些偏差会被当成偏好学进奖励里,再被规划器忠实地执行。必要时要把示教者的限制(控制延迟、视野)建进模型,或者混合多种反馈(示教 + 纠正 + 偏好)。
奖励模型只是对人的偏好的一个有限样本拟合。策略优化得越狠(\(\beta\) 越小、PPO 跑得越久),越会找到奖励模型高估的地方:FIG 6 里 40 个比较时,真实奖励在 \(\beta\approx1\) 处最高,再往下调反而变差。实践中要保留 KL 约束、监控真实指标(人工评估、任务成功率)、在新采集的策略样本上继续收集偏好、或者用奖励模型集成估计不确定性(21.3 节)。
GAIL 的判别器是一个对当前策略的分类器,收敛时理论上处处为 ½;拿它在新环境里从头训练一个策略,得到的最多是噪声;而 GAIL 训练出的策略本身也不会迁移(FIG 4)。另外,奖励取 \(-\log(1-D)\) 还是 \(\log D\) 会带来“想活得久”或“想早结束”的偏置,在有终止条件的任务里要特别注意吸收状态的处理。需要可迁移的奖励时,用 AIRL 这类有结构约束的方法,或者直接用 IRL。
真实的偏好有噪声(FIG 5 的小 \(\beta\))、因人而异、会不可传递,还会受到与任务无关的因素影响(语言模型里著名的例子是标注员偏爱更长的回答,奖励模型于是学会了“越长越好”)。BT 把多个标注员的分歧压成一个平均分数,少数人的偏好会被抹掉。要记录标注员一致率、对比较对做去偏(如长度控制)、对困难或有分歧的对单独处理;对机器人,还要注意视频片段的长度和视角本身就会影响人的判断。
10小练习
11延伸阅读
- A. Y. Ng & S. Russell, Algorithms for Inverse Reinforcement Learning, ICML 2000 — IRL 问题的形式化、奖励集合与线性规划解法
- A. Y. Ng, D. Harada & S. Russell, Policy Invariance under Reward Transformations: Theory and Application to Reward Shaping, ICML 1999 — 势函数整形定理
- P. Abbeel & A. Y. Ng, Apprenticeship Learning via Inverse Reinforcement Learning, ICML 2004 — 特征期望匹配
- N. Ratliff, J. A. Bagnell & M. Zinkevich, Maximum Margin Planning, ICML 2006 — 结构化最大间隔 IRL,用于学习地形代价
- B. D. Ziebart, A. Maas, J. A. Bagnell & A. K. Dey, Maximum Entropy Inverse Reinforcement Learning, AAAI 2008 — 最大熵 IRL 与前后向算法(FIG 2)
- B. D. Ziebart, J. A. Bagnell & A. K. Dey, Modeling Interaction via the Principle of Maximum Causal Entropy, ICML 2010 — 随机转移下的最大因果熵
- C. Finn, S. Levine & P. Abbeel, Guided Cost Learning: Deep Inverse Optimal Control via Policy Optimization, ICML 2016 — 连续空间里的深度 IRL,PR2 实验
- J. Ho & S. Ermon, Generative Adversarial Imitation Learning, NeurIPS 2016 — GAIL 与 RL∘IRL 的占用度量刻画
- J. Fu, K. Luo & S. Levine, Learning Robust Rewards with Adversarial Inverse Reinforcement Learning, ICLR 2018 — AIRL:能迁移的对抗式奖励
- R. A. Bradley & M. E. Terry, Rank Analysis of Incomplete Block Designs: I. The Method of Paired Comparisons, Biometrika, 1952 — Bradley–Terry 模型
- D. Sadigh, A. D. Dragan, S. Sastry & S. A. Seshia, Active Preference-Based Learning of Reward Functions, RSS 2017 — 主动选择比较对来学习机器人奖励
- P. Christiano, J. Leike, T. Brown, M. Martic, S. Legg & D. Amodei, Deep Reinforcement Learning from Human Preferences, NeurIPS 2017 — 从人的比较训练奖励模型并做深度 RL
- L. Ouyang et al., Training Language Models to Follow Instructions with Human Feedback, NeurIPS 2022 — InstructGPT:SFT、奖励模型与带 KL 罚项的 PPO
- R. Rafailov, A. Sharma, E. Mitchell, S. Ermon, C. D. Manning & C. Finn, Direct Preference Optimization: Your Language Model is Secretly a Reward Model, NeurIPS 2023 — DPO 的推导
- L. Gao, J. Schulman & J. Hilton, Scaling Laws for Reward Model Overoptimization, ICML 2023 — 真实奖励随 KL 先升后降
- J. Skalse, M. Farrugia-Roberts, S. Russell, A. Abate & A. Gleave, Invariance in Policy Optimisation and Partial Identifiability in Reward Learning, ICML 2023 — 不同数据源能确定奖励到什么程度