简介

想象一下,你手里拿着一个光滑的球形物体,比如一个橙子。现在,闭上眼睛转动它。尽管看不见物体,你依然可以轻松地操作它。你完全依赖于触觉——皮肤上的摩擦力、指尖的压力以及重量的细微变化。

对人类来说,这是直觉。对机器人来说,这是一个工程噩梦。

实现“灵巧的手内操作” (dexterous in-hand manipulation) ——比如在不掉落物体的情况下转动它——需要复杂的控制策略。从历史上看,训练机器人做这件事最难的部分不是制造机械手,而是定义奖励函数 (reward function) 。 在强化学习 (RL) 中,奖励函数是告诉机器人“做得好”或“那是错的”的数学公式。

为触觉任务设计这些函数是出了名的困难。它通常涉及“炼金术”般的调试——专家手动调整几十个参数 (例如,“接触物体的奖励”、“掉落的惩罚”、“速度奖励”) ,直到某组参数奏效。

Text2Touch 登场了,这是最近一篇研究论文中提出的新框架,它提出了一个大胆的问题: 大语言模型 (LLM) 能否取代人类专家来设计这些触觉奖励函数?

Figure 1: Text2Touch improves upon previous reward function design methods to increase the performance of robotic in-hand object rotation in rotation speed and grasp stability. We evaluate the performance of LLM-generated reward functions using only tactile and proprioceptive information in the real world.

答案似乎是肯定的。如图 1 所示,研究人员成功利用 LLM 生成了奖励函数,使一个四指机械手能够利用基于视觉的触觉传感器旋转物体。最令人印象深刻的是,LLM 设计的奖励在现实世界中的表现优于人类工程设计的基线。

在这篇文章中,我们将剖析 Text2Touch 论文。我们将探讨为什么触觉感知会打破传统的自动化奖励方法,作者如何通过提示工程 (prompt engineering) 来解决这个问题,以及他们如何成功地将这些策略从仿真迁移到现实世界。

背景: “奖励工程”的瓶颈

要理解 Text2Touch 的重要性,我们需要了解现代机器人学习中的痛点。

强化学习与奖励

在强化学习中,智能体 (机器人) 探索环境。它执行动作并获得一个奖励 (一个标量数值) 。目标是最大化累积奖励。

  • 如果奖励函数太简单 (例如,“成功得 1 分,否则得 0 分”) ,机器人学习速度会太慢,因为成功很少发生。
  • 如果奖励函数太复杂 (密集奖励) ,则需要繁琐的手动调整系数。如果你把“不要掉落物体”的权重设得太高,机器人可能会僵住不动。如果你把“移动速度”的权重设得太高,它可能会把物体扔过房间。

LLM 的介入: “Eureka”时刻

最近,研究人员意识到 LLM (如 GPT-4) 非常擅长编写代码。一个名为 Eureka 的框架展示了 LLM 可以迭代地编写奖励函数代码,在仿真中训练机器人,读取性能统计数据,然后重写代码以使其变得更好。

然而,像 Eureka 这样的先前工作主要集中在本体感觉 (知道关节在哪里) 和视觉 (看到物体) 上。

触觉鸿沟

触觉感知提出了独特的挑战。基于视觉的触觉传感器 (如本文中使用的 TacTip) 提供高维、嘈杂且物理复杂的数据。它们检测滑动、剪切力和接触面。将这些融入 LLM 设计的工作流程很难,因为“状态空间” (机器人知道的变量列表) 的大小会爆炸式增长。

Text2Touch 是弥合这一鸿沟的首次尝试,证明了 LLM 可以处理触觉操作中混乱、高维的现实情况。

核心方法: Text2Touch 框架

Text2Touch 框架作为一个循环运行,在仿真中生成、评估和优化奖励函数,最终提炼出最好的一个用于现实世界。

其架构如下图所示:

Figure 2: Text2Touch training and deployment pipeline. The left and middle columns comprise the reward generation pipeline with our novel prompting strategy components in green, and the right column denoting the model distillation and deployment phase. The teacher model (yellow) is the final output of the reward generation phase and the student (lilac) is the distilled teacher using only real-world observations.

让我们分解图 2 中显示的两个主要阶段: 奖励生成流程 (左/中) 和模型蒸馏 (右) 。

1. 利用 LLM 进行迭代式奖励设计

该方法的核心是一个迭代循环。系统向 LLM 提供任务描述 (例如,“旋转物体”) 和环境代码。LLM 编写一个 Python 函数 compute_reward()。该函数用于在仿真中使用 PPO (近端策略优化) 训练策略。结果反馈给 LLM 以提示其进行改进。

在数学上,这个循环如下所示:

Equation showing the iterative process of RL policy generation and selection.

这里,\(R\) 是奖励函数,\(\pi\) 是策略,\(F\) 是适应度 (成功率) 。

“普通”提示的问题

当作者尝试将标准提示 (如 Eureka 中的提示) 用于此触觉任务时,它们失败了。环境包含超过 70 个状态变量——诸如 fingertip_pos (指尖位置) 、contact_force_mags (接触力大小) 、obj_orientation (物体方向) 、tactile_patch_deformation (触觉斑块变形) 等。

LLM 感到困惑。它们会产生不存在的变量幻觉,或搞错数据类型,导致代码崩溃。为了解决这个问题,作者引入了修改后的提示结构 (Modified Prompt Structuring)

他们不仅仅给出环境代码,而是明确传递了一个“奖励函数签名”——一个列出所有可用变量及其类型的严格模板。

Equation defining the modified prompt structure M_modified.

通过严格定义 \(S_{detailed}\) (签名) ,他们大幅减少了语法错误。LLM 不需要猜测变量名;它有一个菜单可供选择。

创新点: 可缩放的奖励

该方法的第二个主要创新涉及奖励缩放

在以前的工作中,总奖励通常计算为 LLM 的输出加上固定的成功二元奖励:

Equation showing the total reward as R_LLM plus a fixed Bonus B.

问题在于 LLM 从头开始生成奖励逻辑 (\(R_{LLM}\)) 。它输出的值可能在 0.1 到 1.0 的范围内,也可能在 100 到 1000 之间。如果 LLM 输出 1000 的奖励,固定的成功奖励 (\(B\)) +1 就可以忽略不计——机器人不会在乎是否成功。如果 LLM 输出 0.01,+1 的奖励就太大了,机器人会忽略其他所有因素。

为了解决这个问题,Text2Touch 强制 LLM 将成功奖励 (\(B\)) 和失败惩罚 (\(P\)) 作为参数包含在代码中。

Equation showing the new reward formulation where B and P are inputs to the LLM function.

这允许 LLM 对 \(B\) 和 \(P\) 应用数学运算。LLM 可能会决定将奖励乘以 10 或将惩罚除以 5,以使它们与其他奖励项 (如速度或接触稳定性) 的规模相匹配。这个小小的改变对收敛至关重要。

2. 仿真到现实的蒸馏

一旦 LLM 设计出了一个很棒的奖励函数,我们就拥有了一个在仿真中有效的策略。然而,这个策略通常会“作弊”。奖励函数 (以及在其上训练的“教师”策略) 可以访问特权信息——精确的物体速度、精确的质心和完美的摩擦系数。

在现实世界中你无法获得这些数据。真正的机器人只知道它的感觉 (触觉) 和它的关节在哪里 (本体感觉) 。

为了弥合这一差距,作者使用了教师-学生 (Teacher-Student) 方法:

  1. 教师: 在仿真中使用 LLM 设计的奖励和特权数据进行训练。
  2. 学生: 第二个神经网络,仅将现实世界可用的数据 (触觉 + 本体感觉) 作为输入。
  3. 蒸馏: 学生试图模仿教师的动作。它最小化“教师会做什么”和“学生正在做什么”之间的差异。

这个学生策略就是最终部署到物理机器人上的策略。

实验与结果

作者使用配备 TacTip 传感器的 Allegro Hand (一种四指机械手) 测试了他们的框架。任务是多轴手内旋转 : 让物体脱离手掌并在 X、Y 或 Z 轴上连续旋转。

仿真性能与代码质量

作者将各种 LLM (GPT-4o、Gemini-1.5、Llama-3.1 等) 生成的奖励与经过高度调整的人类工程基线进行了比较。该基线由专家制作,包含用于平滑度、稳定性和方向的复杂项。

仿真结果说明了一切:

Table 2: Comparison of LLM-generated and human-designed reward functions when used to train models with privileged information in simulation.

查看 表 2 , 我们可以看到两个主要结论:

  1. 性能: 最好的 LLM 奖励 (例如,来自 Gemini-1.5-Flash 或 GPT-4o) 实现的“每回合旋转次数” (Rots/Ep) 显著高于人类基线 (5.48 对比 4.92) 。
  2. 简洁性: “代码质量”一栏令人着迷。人类代码使用了 66 个变量111 行代码 。 LLM 奖励平均仅使用 7 个变量20-30 行代码

LLM 发现你不需要复杂的、相互关联的项。通常只需要几个简洁的组件: 接触物体、保持方向,以及稀疏的成功奖励。LLM 代码更具可解释性且计算效率更高。

现实世界部署

仿真很有用,但现实世界才是真正的考验。作者将蒸馏后的学生策略部署到了物理 Allegro Hand 上。他们测试了不同的物体——有些与训练集相似,有些是具有不同形状和重量的“分布外” (OOD) 物体。

Figure 4: Top: Objects used to evaluate distilled Student tactile model in simulation. Bottom: Objects used to evaluate distilled models in the real world.

实验涵盖了不同的手部方向,特别是“手心向上”和“手心向下”,这改变了重力对操作的影响。

Figure 3: Real-world deployment using various objects in palm-up & palm-down configurations.

“激进”的优势

在转移到现实世界时,一个惊人的发现出现了。在仿真中,人类基线看起来非常稳定。然而,在物理机器人上, LLM 策略在旋转速度和稳定性方面都优于人类基线

为什么?

作者推测,LLM 策略在仿真中更“快”、更具侵略性。在模拟器的刚性物理环境中,快速移动可能有风险 (脆弱) 。但在现实世界中,TacTip 传感器是柔软且柔顺的。它们提供丰富、连续的摩擦数据。

LLM 训练的智能体利用这种速度变得具有反应力 。 当物体开始滑动时,快速的 LLM 策略可以迅速重新抓取或调整。而人类工程策略被调整为“平滑”和“谨慎”,太慢而无法在发生动态滑动时抓住物体。

最终,与人类基线相比,LLM 衍生的策略实现了 38% 的旋转次数增加25% 的更长回合持续时间 (掉落前) 。

结论与启示

Text2Touch 代表了机器人操作向前迈出的重要一步。它表明,即使是对于涉及复杂触觉感知的任务,手动调整奖励这种乏味的“炼金术”也可以交给大语言模型。

以下是给学生和研究人员的关键要点:

  1. LLM 能处理触觉: 通过将环境转换为结构化的代码上下文,LLM 可以推理出它们从未物理“感觉”过的触觉变量。
  2. 提示工程很重要: 你不能简单地将一个包含 70 个变量的环境粘贴到提示中。需要构建输入 (函数签名) 和输出 (可缩放奖励) 的结构才能获得有效的代码。
  3. 简单致胜: LLM 自然收敛于更简单、更稀疏的奖励函数,这些函数比复杂的人类精心制作的函数能更好地迁移到现实中。
  4. 更好的仿真到现实迁移: 由此产生的策略不仅在仿真中表现良好;它们的动态、激进的特性使它们在现实世界中更加稳健。

这篇论文预示着一个机器人学习更容易获得的未来。工程师们可能不再需要花费数周时间调整参数,而是花费时间用自然语言描述任务,让 AI 来解决如何感知和操作世界的数学细节。