论文速读记录 | 2025.05




Mixing corrupted preferences for robust and feedback-efficient preference-based reinforcement learning

  • url:https://www.sciencedirect.com/science/article/pii/S0950705124014588
  • open review:https://openreview.net/forum?id=kCcIYc98ho
  • 来源:偶然得知的文章。
  • 主要内容:
    • 这篇文章最初投稿在 ICLR 2024,6 6 5 reject,后来于 2025 年 1 月发表在 Knowledge-Based Systems 期刊,不太了解这个期刊。
    • 主要 method:提出了 MCP(Mixing corrupted preferences)方法,用于应对 PbRL 里的 noisy preference label,其中 noisy label 从 B-Pref 的模型里生成。
    • MCP 貌似是 mixup 方法在 PbRL 里的直接应用,具体是把两个 query \((\sigma_0, \sigma_1, p), (\sigma_0', \sigma_1', p')\) 进行线性组合,得到两个新的假 query:\([\lambda\sigma_0 + (1-\lambda)\sigma_0', ~ \lambda\sigma_1 +(1-\lambda)\sigma_1', ~ \lambda p + (1-\lambda)p']\) 和另一个对称生成的 query,其中 \(\lambda\sim\text{Beta}(\beta,\beta)\),我也不懂 beta 分布,貌似 λ 会是 0 1 之间的值,且比较贴近 0 或 1。
    • 这篇文章希望通过这样的方式,让 reward model 在每个 preference 数据点的邻域周围,都有一定泛化性。

XSkill: Cross Embodiment Skill Discovery

  • arxiv:https://arxiv.org/abs/2307.09955
  • website:https://xskill.cs.columbia.edu/
  • open review:https://openreview.net/forum?id=8L6pHd9aS6w
  • GitHub:https://github.com/real-stanford/xskill
  • 来源:[mask]
  • 主要内容:
    • 这是一篇 CoRL 2023 的论文,关注 robotics 方向。
    • 这篇论文提出了 XSkill(cross embodiment skill discovery)方法,包含非常吸引人的框架:
      • 可以通过对齐 human 和 robot 的动作,从 human 的轨迹中学到可重用的技能(skill),比如开门 开灯 拉抽屉;
      • 然后,让 robot 学会这些技能;
      • 最后,对于一个新 task,我们只需要给一条 human 轨迹,就可以通过先识别其中的 skill,再让 robot 进行规划、执行 skill,这样 one-shot 学会新 task。
    • 主要 setting:可用的数据集有 ① human expert demo 的轨迹数据集,② robot 遥操作轨迹数据集。这两个数据集都是未分割和未对齐的。

XSkill 分为三个阶段:discover、transfer 和 compose。

① discover:

  • 首先,对于 human demo 和 robot demo 数据集里的视频,我们使用一个长度为 L 的滑动窗口,从窗口里均匀采样 M 帧,构成 frame 序列,并输入到一个 encoder \(f_\text{temporal}\) 里,得到 embedding \(z_{ij}\)。这个 encoder 由 3 层 CNN + transformer 组成,需要从头开始训练,而不是预训练的。
  • 然后,把学到的 embedding \(z_{ij}\) 映射到一组 skill \(\{c_k\}_{k=1}^K\) 里,skill 的数量 K 是预定义的超参数。为了训练 \(f_\text{temporal}\),将 frame 序列随机裁剪 旋转 或加噪声,做数据增强,然后让增强前后的 embedding 映射到 \(c_k\) 的概率分布 \(p_{ij}\) 尽可能相似。具体的,对于两个从同一个 frame 序列变换得到的 embedding,其中一个概率分布是用一个 线性层 + softmax 得到的,而另一个是通过 Sinkhorn-Knopp 聚类方法得到的(我并不懂这个聚类方法)。
  • 为了让不同 embodiment 共享相同的 skill space,XSkill 使用 data sampling 和 entropy regularization 和 Sinkhorn-Knopp 聚类等神秘技术,对齐不同 embodiment 的 embedding space。(这一块没看懂)
  • time contrastive learning:XSkill 假设处于长度为 \(w_p\) 的时间窗口内的两个 frame 序列,它们的 embedding 映射到 skill 空间的概率分布 \(p_{ij}\) 应该尽可能相似,而处于长度 \(w_n\) 的时间窗口外两个 frame 序列的 \(p_{ij}\) 应该尽可能不相似,从而构造了 InfoNCE loss。

② transfer:

  • 用 imitation learning 学一个 diffusion policy \(p(\boldsymbol{a_t} | s_t,z_t)\),其中 \(\boldsymbol{a_t}\) 是长度为 L 的动作序列,\(z_t\) 是得到的 embedding,而状态 \(s_t\) 包含机器人本体感觉和 visual observation。
  • 这个 imitation learning 应该直接在 robot demo 轨迹数据集上学。

③ compose:

  • 在 compose 阶段,我们得到一条新 task 的 human demo 轨迹,需要 ① 从里面分出 skill,② 操作机器人完成各个 skill。
  • 在 discover 步骤训练的 线性层 + softmax skill 分类器,可以用来从 human 新轨迹中提取出 task 序列 \(\tilde z\)
  • 为了避免 robot 执行某个 skil 失败,但是 robot 仍然按照 skill 序列继续执行,导致后续操作都失败的问题,(以及 robot 无意中完成了某些后续 skill,但 robot 不知道自己完成了,仍然按照 skill 序列继续执行,从而浪费时间的问题),这篇文章使用一个 skill alignment transformer \(\phi(z_t | o_t,\tilde z)\),它根据目前的 observation 输出下一个应该执行的 skill,使用 robot demo 轨迹数据集训练。

(Sinkhorn-Knopp 聚类方法:

  • 给定一个 embedding space,Sinkhorn-Knopp 聚类方法将所有点分为 K 类,每一类的样本数量相同。
  • 它能同时学到 1. K 个聚类中心的位置,2. 所有点的分类概率。
  • 它的核心思想是求解一个最优传输矩阵,通过一个比喻来理解:把每个聚类中心比作工厂位置,每个 embedding 点比作一个商品,embedding 离聚类中心的距离比作商品运往工厂的距离。
  • 参考博客:https://zhuanlan.zhihu.com/p/10971105566

Task Transfer by Preference-Based Cost Learning

  • arxiv:https://arxiv.org/abs/1805.04686
  • 来源:[mask]
  • 主要内容:
    • 这是一篇 AAAI 2019 的文章,关注如何使用 human preference 来做 RL 的 transfer learning。
      • 这篇文章的 preference 形式,不是成对比较 \((\sigma_0, \sigma_1, p)\),而是给定一批轨迹或 (s,a),挑出一个或几个好的。
      • 并且,这篇文章用 cost 来代替 reward,希望最小化 cost,这与最大化 reward 等价。
      • 核心创新点:① 引入 preference 来学 transfer RL 的 cost function,② 改进了 adversarial MaxEnt IRL。
    • 什么是 transfer learning:
      • 我们有一些 source task 上的数据,需要训练一个完成 target task 的策略。
    • (deepseek 总结的)故事:
      • 在任务迁移(Task Transfer)中,我们有一个“基础任务”(比如让机器人往任意方向移动)的专家演示样本(轨迹集合 \(B_i\)),但我们想学会一个“目标任务”(比如让机器人只向前移动)。问题在于:
      • ① 我们没有目标任务的精确专家演示(只有基础任务的)。
      • ② 我们也不知道目标任务的具体成本函数 \(c_{tar}\)(只知道基础任务的 \(c_i\))。
      • 解决方案:用专家偏好当“筛子”。想象你有一堆基础任务演示(各种方向的移动轨迹),像一堆混合的豆子。你的目标是只留下“向前移动”的豆子(目标任务相关的轨迹)。但你自己不会分豆子(不知道 \(c_{tar}\))。怎么办呢?你请了一位懂行的专家(知道什么是“向前移动”),每次给专家看一小把豆子(轨迹样本),让他把最接近目标任务的豆子(最偏好的轨迹)挑出来。

01 MaxEnt IRL

  • Inverse RL(逆强化学习):给定一些专家轨迹,希望学出一个 cost function,使得专家轨迹的 cost 最小。
  • MaxEnt IRL:它最大化策略 \(p(\tau)\) 的熵,同时保证策略的 cost 与 expert 策略 \(p_E(\tau)\) 的 cost 一致。优化问题如下:

\[\begin{align*} \max_{\theta} \quad & -\sum_{\tau} p(\tau) \log p(\tau) \\ \text{s.t.} \quad & \mathbb{E}_{p(\tau)}[C_{\theta}(\tau_i)] = \mathbb{E}_{p_{E}(\tau)}[C_{\theta}(\tau_i)], \tau_i \in B, \\ & \sum_{i} p(\tau_i) = 1, \quad p(\tau_i) \geq 0. \end{align*} \]

  • 可以推导出,最优 \(p(\tau)\) 是 cost \(- C_\theta(\tau)\) 的玻尔兹曼分布,即 \(p(\tau) = \frac1Z \exp(- C_\theta(\tau))\)

02 Adversarial MaxEnt IRL

  • 如果最优 \(p(\tau) = \frac1Z \exp(- C_\theta(\tau))\),问题可以转化成,用 expert 轨迹数据集 \(B\) 上的最大似然估计,求解最优 \(\theta\),即 \(max_\theta \mathbb E_{\tau\sim B} [\log p(\tau)]\)
  • 这个最大似然估计可以变成一个 GAN 的形式,其中 discriminator 的形式为

\[D(\tau) = \frac{p(\tau)}{p(\tau) + G(\tau)} = \frac{\frac{1}{Z} \exp(-C(\tau))}{\frac{1}{Z} \exp(-C(\tau)) + G(\tau)} \]

  • 个人理解,discriminator 试图从真数据(\(p(\tau)\))和假数据(\(G(\tau)\))中分辨真数据,这对应了 \(D(\tau)\) 分母和分子。
  • 模型训练到最优时,generator G 将会训成 \(p(\tau) = \frac{1}{Z} \exp(-C(\tau))\),即完全训成生成专家轨迹的分布。
  • 似乎 GAN 方法有理论保证,以前并不知道。

03 神秘 preference cost 方法

  • 论文把给定一批 trajectory,选择其中专家满意的 trajectory 的过程,看作拒绝抽样。
  • 对于基础任务样本集 \(B_i\) 中的每一条轨迹 \(\tau\),它被专家“接受”(选中留下来)的概率 \(p_{sel}(\tau)\) 是多少?
    • 作者提出了一个核心假设:这个概率应该和 \(\tau\) 在目标任务下的“好”程度成正比,同时反比于它在当前基础任务下的“好”程度(因为当前任务可能产生很多与目标无关的轨迹)。
    • 感觉这个假设,是为了后面的结论凑出来的。
  • 用成本函数解释“好”程度:在强化学习中,“好”通常意味着成本低(或奖励高)。假设基础任务的真实成本是 \(C_i(\tau)\),目标任务的真实成本是 \(C_{tar}(\tau)\)。因此,轨迹 \(\tau\) 被专家接受的概率可以建模为:

\[p_{sel}(\tau) \propto \exp(-C_{tar}(\tau) + C_i(\tau)) \]

  • 其中,\(\exp(-C_{tar}(\tau))\):代表 \tau 在目标任务下的“好”程度(成本越低,指数值越大)。\(\exp(C_i(\tau))\):代表 \tau 在当前基础任务下的“普遍”程度。
  • 定义 \(C_h(\tau) = C_{tar}(\tau) - C_i(\tau)\),称之为 Hidden Cost (隐形成本) 轨迹。
    • \(C_h(\tau)\) 衡量了轨迹 \(\tau\) 从当前基础任务迁移到目标任务需要付出的额外代价。值越大,说明这条轨迹离目标任务要求越远。
    • 代入后,接受概率变为:\(p_{sel}(\tau) \propto \exp(-C_h(\tau))\)
  • 假设基础任务样本集 \(B_i\) 的轨迹分布是 \(p_i(\tau)\),经过专家按照 \(p_{sel}(\tau) \propto \exp(-C_h(\tau)) = \exp(-(C_{tar}(\tau) - C_i(\tau)))\) 筛选后,保留下来的新样本集 \(B_{i+1}\) 的分布 \(p_{i+1}(\tau)\) 会是什么?
    • 一条轨迹 \tau 能留在新集合中的概率 = 它原本在 \(B_i\) 中的概率 \(p_i(\tau)\) * 它被专家选中的概率 \(p_{sel}(\tau)\),即
    • \(p_{i+1}(\tau) \propto p_i(\tau) * p_{sel}(\tau) \propto p_i(\tau) * \exp(-(C_{tar}(\tau) - C_i(\tau)))\)
    • 根据 MaxEnt IRL 的假设,\(p_i(\tau) \propto \exp(-C_i(\tau))\)(基础任务的轨迹服从玻尔兹曼分布)。
    • 代入:\(p_{i+1}(\tau) \propto \exp(-C_i(\tau)) * \exp(-(C_{tar}(\tau) - C_i(\tau))) = \exp(-C_{tar}(\tau))\)
  • 核心结论:\(p_{i+1}(\tau) \propto \exp(-C_{tar}(\tau))\)
  • 即,经过这次专家偏好筛选,保留下来样本的分布 \(p_{i+1}(\tau)\) 直接变成了目标任务轨迹的理想分布。

04 基于 (s,a) pair 的 Adversarial MaxEnt IRL

  • 作者声称,Adversarial MaxEnt IRL 难以得到 cost function \(c(s,a)\),如果魔改一下,让 generator 生成 action,discriminator 分辨 (s,a) pair 是否是真的,则可以解决这个问题。
  • 把 discriminator 的形式修改成基于 (s,a) pair 的:

\[D(\tau) = \frac{\frac{1}{Z} \exp(-c(s,a))}{\frac{1}{Z} \exp(-c(s,a)) + G(s,a)} \]

  • 可以由上式推出一个 \(\tilde c(s, a)\),相比 cost \(c(s, a)\) 只差一个常数:

\[\begin{aligned} \tilde c(s, a) & = \log(1 - D(s, a)) - \log D(s, a) - \log G(s, a) \\ & = c(s, a) + \log Z \end{aligned} \]

  • 总之,这种生成 (s,a) pair 的方法,也能得到最优轨迹,论文有证明。

实验:

  • 实验主要比的 baseline 是 GAIL(Generative Adversarial Imitation Learning)。
    • GAIL 貌似是一种基于 GAN 思想的 imitation learning 方法。
    • Discriminator 负责区分真假样本,用 cross-entropy loss 来学。
    • Generator 是一个策略 \(\pi(a|s)\),用 RL 来学,reward 是 \(r(s, a) = log(D(s, a)) - log(1 - D(s, a))\)
    • 这篇文章推出来的 reward 是 \(- [\log(1 - D(s, a)) - \log D(s, a) - \log G(s, a)]\),多了一项。\(\log G(s, a)\) 其实是策略 \(G(s, a)\) 的熵,所以 reward 相当于鼓励最大化策略的熵。
  • 实验跟 MAML 比了,但 MAML 是 1. 学一个最好的参数初始点,2. 让参数快速学到新任务,不知道第 1 步在这篇文章是怎么做的。

Transfer Learning in Deep Reinforcement Learning: A Survey

以下是对强化学习(RL)中迁移学习(Transfer Learning)的总结,按方法分类梳理核心思路与关键工作:

📌 1 奖励塑形(Reward Shaping)

核心思想:通过外部知识修改奖励函数,引导智能体学习更高效。
关键工作

  • PBRS(Potential-Based Reward Shaping)
    基于状态的静态势函数(Potential Function)生成附加奖励:F = γΦ(s') - Φ(s),保证策略不变性。
  • PBA(Potential-Based Advice)
    扩展势函数到状态-动作空间:F = γΦ(s',a') - Φ(s,a),需在线学习。
  • DPBA(Dynamic Value Function Advice)
    动态学习势函数(作为额外Q函数),允许任意外部知识(如专家策略)转化为奖励。

应用场景:机器人控制、对话系统(如激励符合人类期望的行为)。

📌 2 从演示中学习(Learning from Demonstrations, LfD)

(上一篇 preference-based transfer learning 就是这种思想。)

核心思想:利用专家演示数据(如人类操作记录)加速探索。
关键工作

  • DQfD(Deep Q-Learning from Demonstrations)
    在经验池中混合演示数据和自生成数据,优先采样专家数据。
  • GAIL(Generative Adversarial Imitation Learning)
    通过对抗训练匹配专家分布:判别器区分专家与智能体行为,生成器模仿专家。
  • SAIL(Self-Adaptive Imitation Learning)
    逐步用高质量自生成轨迹替代次优演示,解决非完美专家问题。

挑战:演示数据有限、覆盖状态不全(需引入熵正则化鼓励探索)。

📌 3 策略迁移(Policy Transfer)

核心思想:直接复用或蒸馏源策略到目标域。
关键方法

  • 策略蒸馏(Policy Distillation)
    将多个教师策略的知识压缩到单一学生策略(如最小化策略间KL散度)。
  • Distral算法
    多任务策略共享一个中心策略,通过熵正则化平衡模仿与探索。
  • 策略复用(Policy Reuse)
    动态组合多个源策略(如按性能加权选择),需评估策略在目标域的期望收益。

优势:适用于多教师策略迁移(如不同机器人共享技能)。

📌 4 任务间映射(Inter-Task Mapping)

核心思想:学习源域与目标域的状态/动作/动态映射函数
关键工作

  • 状态映射
    将源域状态映射到目标域(如机器人形态不同但任务相似)。
  • UMA(无监督流形对齐)
    自动对齐跨域轨迹,生成目标域“伪专家轨迹”指导学习。
  • 动态映射
    学习转移动态的潜在表示(如 <s,a,s'> 三元组的隐空间对齐)。

应用:迷宫导航等低维空间任务,需领域间存在结构相似性。

📌 5 表示迁移(Representation Transfer)

核心思想:迁移共享的潜在表示(如解耦状态、奖励、动态)。
关键方法

  • 渐进网络(Progressive Networks)
    冻结旧任务网络参数,逐步扩展新列(Column)并复用旧特征。
  • 后继表示(Successor Representations, SR)
    将状态价值分解为后继状态分布(与任务无关)奖励映射(任务相关),实现快速适应新奖励。
  • 通用价值函数(UVFA)
    解耦状态与目标(Goal),同一网络处理多目标任务(如迷宫导航到不同终点)。

优势:支持零样本迁移(如目标变化无需重新训练)。

📌 总结对比:

方法 核心知识形式 适用场景
奖励塑形 修改后的奖励函数 需外部引导(如专家规则)
从演示中学习 专家轨迹数据 模仿学习、稀疏奖励任务
策略迁移 源策略参数 多教师策略复用
任务间映射 跨域映射函数 领域间存在显式对应关系
表示迁移 解耦的潜在表示 多任务学习、跨目标泛化

关键挑战:领域差异过大、次优知识利用、评估指标统一(如泛化性 vs 最终性能)。
当前研究趋势是多方法融合(如奖励塑形 + 演示学习)和鲁棒表示学习


posted @ 2025-05-02 17:47  MoonOut  阅读(134)  评论(0)    收藏  举报