【第四十一周】VLN
目录
- 前言
- 内容
前言
这周主要细看《PLANNING WITH AN EMBODIED LEARNABLE MEMORY》,以下简称EPM,EPM这篇论文主要是一个可学习记忆,直接输出文本化的环境表示(物体列表、坐标、描述),大语言模型可以直接读懂这个记忆,无需中间查询,VLM能够对记忆进行ADD、UPDATE、Remove、No update 四个操作,我的想法主要是让EPM作为一个高层的规划器,通过用户输入的自然语言指令(比如去客厅沙发旁边的茶几上拿遥控器),EPM可解析指令中的目标物体和空间约束,生成子任务序列(先导航到客厅,在到沙发,再到茶几,最后寻找遥控器),然后将EPM的文本查询转换为CUS能理解的特征向量,在CUS地图中检索坐标,最后执行导航动作,并更新EPM的内部记忆。
内容
EPM 直接生成描述实体及实体间关系的文本,可与大语言模型规划器无缝集成
短时序规划,可通过将当前场景转换为目标图像或利用可微场景表征实现;但长时序上下文特征规划,最常用方法是借助预训练大语言模型:通过大语言模型生成查询、余弦相似度匹配位置,而EPM采用的是后一种思路,直接将模型生成的描述文本输入大语言模型上下文
EPM的定义动作a=(verb,args),verb为高层动词,args为实体ID列表。完整的动作空间如下:
1、Navigate(id):导航至实体 id 附近(距离 < 1.5m)
2、Open(id):打开可打开实体(柜门、抽屉)
3、Close(id):关闭可打开实体
4、Pick(id):抓取实体id(物体)
5、Place(id_target, id_receptacle):将 id_target 放置到 id_receptacle(家具 / 容器)
6、Explore():随机探索未知区域
7、Done():任务完成
动作失败的条件:
Navigate:目标不可达、被遮挡
Open/Close:实体不可打开、已开 / 关
Pick:物体太远、被遮挡、已被抓取
Place:容器已满、位置无效
系统架构采用的是双层控制架构,首先是感知层(EPM),感知层是输入RGB-D+位姿,输出一个更新状态进而维护环境状态,然后是高层规划器(LLM),输入一个任务指令和环境状态进而输出高层动作。最后是技能层,输入高层动作和原始观测输出低层控制
对于高层规划器的训练,EPM主要是用两种方式获取数据:一是将模拟环境中的人类操作演示数据转换为机器人兼容规划轨迹;二是采用全新在线强化学习方法,利用环境交互经验优化规划器
对于人类操作演示数据,在模拟环境中回放人类遥操作轨迹,同时实时运行感知模块,生成适配当前感知系统的规划轨迹,无需为不同感知系统单独采集演示数据;采用 LoRA(胡等人,2022)微调大语言模型,完成训练。
核心流程是:
1、推到探索目标:需探索那些家具?
2、采样探索动作:探索次数?
3、将物体信息注入EPM,移除无法推进任务的交互步骤并生成实例轨迹
关于EPM工作在哪个环境跑,根据论文,是仿真和真机两者都有,仿真平台是Habitat(Meta的具身智能仿真平台),数据集来源于PARTNR benchmark 和HSSD,一共12个验证场景,10w个训练集,1000个验证集
真机配置上,机器人选择的是Spot robot(Boston Dynamics的四足机器人),测试环境是室内公寓,约155平方米,数据集来源于Spot-indoor(30个交互序列,一共1100帧,每段序列中目标与干扰物体在不同容器间重新放置,半数序列中人类也会改变环境)
对于算力要求,原文中并没有明确给出算力要求,只能根据他们使用的模型做了推测,实际情况可能会有变化:
1、视觉语言模型,EPM用的是LLaVa-OneVision-7B,算力大概是16-24GB显存,该模型用LoRA微调
2、大语言模型用的是Llama3.3-70B(零样本)或者Llama3.1-8B(微调过后的),70B应该需要多张卡(约140B),8B约16B,他们对比了两种,8B微调后的模型,在功率上超过了70B的零样本模型,并且参数小了近九倍,这个其实告诉我们不需要盲目追求大模型,训练数据比模型规模更重要
3、训练用的是LoRA和DDAFT,单卡24GB,训练没有进行微调
