论文速读记录 | 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}\))。怎么办呢?你请了一位懂行的专家(知道什么是“向前移动”),每次给专家看一小把豆子(轨迹样本),让他把最接近目标任务的豆子(最偏好的轨迹)挑出来。
- 这是一篇 AAAI 2019 的文章,关注如何使用 human preference 来做 RL 的 transfer learning。
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
- arxiv:https://www.arxiv.org/abs/2009.07888
- ieee xplore:https://ieeexplore.ieee.org/abstract/document/10172347
- 来源:[mask]
- 主要内容:
- 这是一篇 2023 年发表在 TPAMI 上的 RL 的 transfer learning 的综述,我好像不太擅长看综述。
- 以下是 deepseek 生成的总结。
以下是对强化学习(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 最终性能)。
当前研究趋势是多方法融合(如奖励塑形 + 演示学习)和鲁棒表示学习。

浙公网安备 33010602011771号