论文阅读笔记——Learning Fine-Grained Bimanual Manipulation with Low-Cost Hardware

ALOHA 论文

ALOHA 解决了策略中的错误可能随时间累积,且人类演示可能是非平稳的,提出了 ACT(Action Chunking with Transformers) 方法。

Action Chunking

模仿学习中,compounding error 是致使任务失败的主要原因。具体来说,当智能体(agent)在测试时遇到训练集中未见过的情况时,可能会产生预测误差。这些误差会逐步累积,导致智能体进入未知状态,最终任务失败。ALOHA 通过引入 Action ChunkingCVAE(Conditional Variational Autoencoder)来解决这一问题,显著减少了错误累积的影响。

在传统的模仿学习中,策略模型通常预测单步动作 π θ ( a t ∣ s t ) \pi_\theta(a_t|s_t) πθ(atst),即根据当前状态 s t s_t st​ 预测下一个动作 a t a_t at。然而,这种单步预测的方式容易导致误差累积,尤其是在长时间任务中。
在这里插入图片描述
为了减小 compounding error,引入了 Action Chunking,具体来说,模型不再预测单步动作,而是预测一个动作序列。
具体步骤如下:

  • Chunk Size 设置:将动作序列划分为大小为 kk 的块(chunk),每 kk 步,智能体获取一次输入,并预测接下来的 k 步动作。
  • 轨迹长度缩减:轨迹长度被缩小到了 1 k \frac{1}{k} k1
  • 策略模型发生变化:由预测单步 π θ ( a t ∣ s t ) \pi_\theta(a_t|s_t) πθ(atst) 变为 π θ ( a t : t + k ∣ s i ) \pi_\theta(a_{t:t+k}|s_i) πθ(at:t+ksi)
    为使轨迹更平滑,ALOHA 提出 temporal ensemble,对 k 个对同一动作的预测,采取加权的方式求和,权重 w i = e x p − m ∗ i w_i = exp^{-m*i} wi=expmi 。这种方法可以有效减少动作序列中的抖动,使动作更加平滑。

CVAE

对于 Action Chunking 中的预测,采取 condition + VAE 的方式训练,并采用 encoder-decoder 架构(transformer)。

输入信息包括:(此处不使用图像输入时为了加速训练)

  • CLS 分类标签:表明类别,类似 BERT 的做法。
  • 关节角:机器人当前的关节状态
  • 动作序列:历史动作序列
  • 位置嵌入:表示时间步的位置信息
    不同之处这只是通过 encoder 来训练 decoder,在推理时丢弃 encoder 部分。

伪代码如下:

在这里插入图片描述

### 连接视觉语言模型与运动规划以实现细粒度机器人操作 为了实现通过语义关键点表示连接视觉语言模型(VLM)与运动规划(KMP),从而完成细粒度的机器人操作,可以考虑以下几个方面: #### 1. 高维决策到Meta-action的一对一映射 利用Meta-action Encoder \( \phi \),能够将大语言模型(LLM)输出的高维度决策转化为具体的元动作(meta-action)。这一过程依赖于可学习嵌入矩阵\( E_{\text{act}} \),它实现了从抽象的语言描述到具体物理行为的有效转换[^1]。 #### 2. 自然指导与自我指导相结合的方法 借鉴《Semi-Instruct: Bridging Natural-Instruct and Self-Instruct for Code Large Language Models》中的方法论,可以通过半监督的方式构建训练数据集。这种方法不仅增强了模型对于复杂任务的理解能力,还提高了其泛化性能[^2]。 #### 3. 数据驱动的知识获取机制 基于《Knowing When to Ask -- Bridging Large Language Models and Data》,提出了一个框架来决定何时向外部数据库查询额外的信息。这种策略有助于减少错误率并提升系统的可靠性[^3]。 #### 技术实现路径 以下是可能的技术路线图以及其实现方式: - **语义解析模块**:采用预训练好的多模态模型作为基础架构,输入图像或视频片段提取场景内的对象及其属性特征; - **关键点检测网络**:设计专门用于捕捉目标物体上特定部位位置关系的关键点预测算法; - **交互逻辑生成器**:借助强化学习或者模仿学习技术教导机械臂按照指定顺序执行一系列子任务直至达成最终目的。 ```python def execute_fine_grained_manipulation(vlm_output, kmp_plan): """ Execute fine-grained robotic manipulation based on VLM output and KMP plan. Args: vlm_output (dict): Output from the visual language model containing semantic keypoints. kmp_plan (list): Sequence of kinematic motion planning steps. Returns: bool: True if successful; False otherwise. """ meta_actions = [] for step in kmp_plan: action_embedding = phi(step) # Convert high-dimensional decision into a meta-action via φ meta_action = decode_meta_action(action_embedding) meta_actions.append(meta_action) success = perform_robotic_operations(meta_actions, vlm_output['keypoints']) return success def decode_meta_action(embedding_vector): """Decode an embedding vector back into its corresponding physical operation.""" pass # Placeholder function def perform_robotic_operations(operations, keypoints): """Perform operations according to given sequence while considering detected keypoints.""" pass # Placeholder function ``` 上述伪代码展示了如何结合来自VLM的结果与由KMP制定的动作序列共同指引实际设备运作的过程。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值