最近世界模型的火热似乎能在机器人操作中起到一些至关重要的作用。而对于具身智能来说,现阶段manipulation是最需要突破的点。特别是针对以下long horizon的任务,如何构建机器人“小脑”,来实现各种复杂的操作要求,是当下最需要解决的问题。
是否需要通过拆分skill为原子操作?
在把LLM应用在机器人上时,比较常用的做法是把各种API提供在context里面,然后让LLM根据任务prompt自动编写planning代码,可以参考文章:
这种方法优点是非常直观,可以比较清晰地把握任务的拆解逻辑,比如移动到A,抓起B,移动到C,放下B。但是这种操作的前提是能够把整个任务拆分成原子操作(移动、抓取、放置等)。但是如果是一些比较复杂的任务,比如叠衣服这种任务,其是天然难以进行任务拆分的,那这个时候应该怎么办?其实对于manipulation来说,我们大量面对的应该是这种long horizon且难以进行拆分的任务。
世界模型可以作为关键突破点
针对long horizon且难以进行拆分的manipulation任务,比较好的处理方法是研究模仿学习,比如diffusion policy或者ACT这种,对整个操作trajectory进行建模拟合。但是这种方法都会遇到一个问题,就是没有办法很好的处理累积误差——而这个问题的本质就是缺乏一套有效地反馈机制。
还是以叠衣服为例,人在叠衣服的时候,其实会根据视觉获取的衣服变化,不断地调整操作策略,最终将衣服叠到想要的样子。那这个里面其实有一个比较隐含但是非常重要的点:人大概知道什么样的操作,会导致衣物发生什么样的变化。那么进一步,就是人其实具备一个关于衣物变形的模型,能够大概知道什么样的输入,会导致状态(衣物摆放)的变化(视觉层面就是像素级别),更加具体的可以表示为:
SORA其实给了一剂强心针,就是只要数据够多,我能用transformer+diffusion layer,硬train一个可以理解并预测变化的模型f。假设我们已经有了一个非常强的预测衣物随操作变化的模型f,那这个时候叠衣服就可以通过像素级别的衣物状态反馈,通过Model Predictive Control的思路,构建一个视觉伺服(Visual Servo)的策略,将衣服叠到我们想要的状态。这一点其实在LeCun最近的一些“暴论”上也得到了验证: