上一篇文章中,我们介绍了 Google robot 团队的 SayCan 工作,本次文章继续介绍他们在同年七月份发布的新文章 LM-Nav,可以控制小车左转右转拐弯等操作。
介绍
LM-Nav: Robotic Navigation with Large Pre-Trained Models of Language, Vision, and Action: arxiv.org/abs/2207.04…
这个方向比较难的是机器需要理解人类的指令,并且做出指令对应的最佳action序列。前期的工作方向主要集中在通过标注运动轨迹对应的文本描述,做监督学习,但是标注的成本太大。这篇文章提出 LM-Nav 框架,只利用大量无标注的轨迹图集训练robotic navigation,完全不需要任何标注数据,仅依靠无监督预训练模型,甚至不用做 fine tuning 就可以让 robot 在比较真实复杂的环境中,根据人类的语言指令完成运动轨迹。
方法
话不多说,直接上图:
整个系统主要依靠三个模块: LLM、VIM、VNM。其中 LLM 是一个 large language model,负责理解输入的复杂文本指令,将一个长的文本拆解为 n 个短的句子; VIM 是 visual-image model模块通过 clip 模型实现,完成image-language association,理解图片和短文本指令是否匹配; 还有最重要的 VNM 模块,负责根据真实场景图集序列,找到最佳的图片序列组合,从而完成指令动作,本文用的是导航中预训练好的 VING 模型。
整体的流程步骤大概就是:
- 用vnm 建模真实的环境;
- 通过 LLM 理解人类输入的复杂指令的语言描述;
- VLM 结合文本来理解环境;
- 用 vnm 和 vlm 一起搜索最佳的路径;
- 得到最佳路径之后,再通过 vnm 将结果反馈,在真实环境中得到执行。
总结
总体来看,效果还是很不错的。小车不仅能够按照目标路线行驶,当有多条路径的时候,还能够搜索出最佳路线。idea 想出来了就做,做完就真的能直接在显示里跑起来。想起之前读书的时候,导师非常执着于可视化,因为我们做 NLP,都是一些文本,embedding,看不见也摸不着,不像cv,能有很酷炫的结果,非常直观。现在看到 robot,突然觉得在巨佬面前都是渣渣hhhhh。
下一篇文章依然介绍这方面的工作,不过不是和真实世界环境交互,偏虚拟环境一些。
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 3 天,点击查看活动详情