Axi's Blog
周记 Week55Blur image

这一次周记也不算很久之后吧,甚至可以说是越来越早了,某种程度上也是自己逐渐闲下来的一个侧面的体现,不过虽然说每天的负载还是纯粹的拉满,只是相对好了一些。

科研#

首先依然是科研,这部分基本上还是一心扑在了 IROS Benchmark 上面,这部分里面包括了对于之前造好的 RoboTiq 场景的进一步修缮,并且提供数据给负责模型的同学进行训练,同时还有接入最终的机械臂,也就是 Piper on Aloha Split。

从 Sapien 切换回到 Isaac,紧接着传来了一个不知道算好还是算坏的消息。因为同学在 Sapien 上进行了一定量的测试,结果在一个上面获得了百分百的成功率,从复现上来说自然是好事。我们的任务需要模型具有同时理解多个任务,甚至泛化的能力,在有的测试场景中,用有限的数据可以达到较高的成功率,一方面意味着我们的训练数据不存在显著的问题,另一方面也意味着模型可以进一步的在更难的挑战中继续优化。

不过坏事也就在于说我们打算切换回到 Isaac,最后的结果也并不是特别理想,导致陷入了一种复现漩涡,在某个环境下的结果,迁移到另一个环境之后并不作效,那么可能整个团队就会围绕复现这个效果而浪费大量的时间,毕竟假如无法探究性能损失的原因,长久来看肯定是一个隐患。

当然是事实上对于具身智能这个领域,大量的模型对数据敏感,并且本身在谈到预训练的时候,尽管大多数模型都包含一定的初始权重,但是并没有在动作空间上进行大规模的训练,因此这种训练是一个包含大量技巧与巧合的流程,而并非如在已有的大语言模型上面进行微调一样,在大多数情况下是稳定的。所谓是否会调一个 VLA 模型,有的时候就已经是一种技巧,看出数据或者模型训练时的问题,并且进行细微调整,作用在结果上可能是天差地别的,这就是没有本质上的大量预训练导致的。

毕竟目前的数据多样性其实也并不是很大,有的时候对于某一本体的某几个动作,模型已经充分掌握,但对于场景的视觉特征的学习却也已经使模型开始退化,很难说将一个这样的模型迁移到自己布置的场景下是否是一种合理的利用预训练的方式。综上所述,无论如何,我们在这上面又要开始进行大量的调试了。

与此同时,基本上可以理解为,当场景资产已经准备就绪,并且确保了正常数据和测试没有问题,在当前的流水线中就一部分内容就被交付给了后续的同学,自然我也就开始接入最终的机械臂,也就是松灵的 Aloha。

上周已经吐槽过 Piper 的动作空间,在这里也就不再赘述了,不过相关的看法还比较有意思,可以再说一遍。事实上对于双臂任务来说,就像之前曾经讲过的一样,我在短期研究中可能更加看重模型的能力,而不是执行某个特定的 primitive skill 的成功率。

在单臂任务中,通常使用的机械臂如 Franka,为模型提供了庞大的动作空间,因此在任务的设计上可能要更加偏向于如何让模型在这不太受到约束的动作空间中进行展现自己的泛化能力。

假如我们将 VLA 的能力从 VLM 延伸过来,为了证实 VLM 的能力可以成功迁移,一种理想的任务是 pick and place。模型不需要学到太多的动作能力或者动作特征,但是却需要具备这样的基本能力,同时我们几乎可以认为 VLA 需要继承的就是来自于 VLM 的 grounding 能力,一旦这种继承可以充分的体现,距离一个真正可以 zero shot pick anything to anyplace 的模型也就不远了,还有希望在这些模型中看到一些推理的可能性。

那么话题回到任务的设计中,我们其实只需要设计尽可能的刁钻的问题,比如更加丰富的背景扰动以及干扰物体的增加,或者对于物品描述的复杂化,比如说将「可口可乐」描述为「偶然间从止咳糖浆演化而来的美国汽水」或者「包装主题色为红色的黑色汽水」。

对于单臂任务来说,这些内容可以被这样设计得益于机械臂庞大的动作空间,而我们想要验证的也只是 VLM 到 VLA 的能力迁移,但是反观双臂,变化却出现了。

事实上,出于便携性以及一些设计的考量,不难发现大多数的双臂机器人的双臂各自的动作空间会明显小于单臂,这种动作空间变小带来的约束使得另一设计成为可能。

当我们在谈论具身智能的时候,除了想让一个可以输出动作的模型理解场景和指令之外,自然也想让他了解有关空间以及机器人本体的信息,这是很有意思的。在实际中自然也可以让机器人去理解什么叫做它能碰到的物体或者无法碰到的物体,但是对于 Benchmark 设计来说,一个前提是,「任务必须是可完成的」,同时只有一个夹爪和一个机械臂,这意味着当设计出「给我拿一瓶唯一我能碰到的饮料」这样的任务时,本质上会被退化为给我拿一瓶离我最近的饮料,或者说在画面上最大的饮料(假如饮料的尺寸相似),而这本质上依然是简单的 grounding 任务,毕竟还是那个前提,任务一定是可以完成的。

但是当视角放到双臂之后,事情变得有意思起来了,事实上某些任务可以用左臂或者右臂完成,但是另外一些任务只能用某一个机械臂,这迫使模型需要更加理解自己所处于的本体的动作空间这一概念。尽管这一设计依然可以被退化为,首先选择你的目标物体,接下来选择距离你目标物体最近的机械臂,让它动起来去抓取,但是伴随着抉择的变多,模型需要对距离、空间以及机械臂的存在的越发的敏锐。

另外一个有趣的任务设计是,有一个任务是把某个物体放到一个托盘上,托盘仅位于左臂的动作空间中,物体同时位于左右臂的动作空间,但是离右臂更近,这个时候完成任务存在两种可能性。第一种是遵循上文的规则,找到抓取的物体后,选择离他更近的右臂,但这也意味着想要将物体放到托盘中,需要把物体从右臂转移至左臂,也就是进行一个 handover 操作,而这一操作具有一定的难度,从目前来看,也意味着一定的失败率。另一选择则违背了上述原则,直接使用左臂进行抓取,这样自然带来了更高的成功率,但也意味着模型需要跳出某种固定的思维方式,而开始真正的理解机械臂之间的配合关系和动作空间之间的相互制约和整合。

当然,事实上现在我们的 Benchmark 中并没有太过于刻意的相关设计,但是确实说起来也比较有趣,因此聊一聊,不过本身对于让模型抉择用哪只手,这个设计确实广泛存在,而现有的大多数双臂 Benchmark,由于并不存在诸如大量的候选物体或者经过更好调整的动作空间,因此本质上依然是把双臂当作两个单臂来使用,最多加入一个双手拿起一个物体这样的事情,但是无论如何也并不本质。

这里值得一提的是,即使试图在背景中加入干扰物体,干扰物体的加入也有讲究。假如说加入的干扰物体位于模型的动作空间之外,尽管本质上存在这样一个干扰选项,但是在模型推理时因为无法触及那个区域,在进行部分训练之后,自然也就不太会选择过远的物体,这使得干扰物体本质上和将桌面贴图以及环境光照进行随机化没有本质的区别。而在动作空间中加入可以交互的干扰物体,则对于动作生成提出了挑战。

这周总的来说就是这样,还有一些对于 Isaac Sim 的细节理解,后续会在专门的博客中说一下。

生活#

生活依然是照常生活,似乎也没有什么好说的,平时和同学们一起吃饭,然后晚上下班之后回到公寓,躺在床上写一会儿代码,逛一逛 Github,心有余力也会刷一刷论文,再和我最爱的乐小姐电话聊上一会,大概就是这样的生活。

下周因为分散实习要结束了,所以还要回学校进行答辩,也就顺便再回一趟北京去拔个智齿,顺便陪陪家里人。想到差旅费,又是让人头疼,但也没有办法,继续生活吧。

周记 Week55
https://axi404.top/en/blog/week-55
Author 阿汐
Published at July 25, 2025
Comment seems to stuck. Try to refresh?✨