NavGPT-2 深度技术解读

Unleashing Navigational Reasoning Capability for Large Vision-Language Models
NeurIPS 2024 · Gengze Zhou, Yicong Hong, Zun Wang et al.
Adelaide + Adobe + Shanghai AI Lab + UCSC
arXiv · GitHub
← 返回 VLN 技术站

0. 30 秒速览

NavGPT-2 把 LLM 的推理能力和轻量导航策略网络结合:冻结 LLM 不动,只用 GPT-4V 生成的推理数据微调 Q-former,让 LLM 的 hidden state 同时驱动语言推理生成动作决策。5B 模型逼近 DUET(180M)的性能,同时保留对话式交互能力。

属性规格
VLM 架构InstructBLIP(EVA-02-G + Q-former + FlanT5)
LLM 变体FlanT5-XL (1.5B) 或 FlanT5-XXL (5B),均冻结
训练模块Q-former + 轻量策略网络(LLM 和 vision encoder 冻结)
数据增强GPT-4V 生成逐步导航推理文本
策略训练DAgger(迭代式专家示范采集)
核心卖点可解释推理 + 对话式导航

1. 背景:LLM 做 VLN 的两条死胡同

1.1 路径 A:Zero-shot LLM 导航(NavGPT-1)

不训练,直接给 LLM 喂文本描述来推理导航:

# NavGPT-1 的流程:
1. 把当前视角的图像用图像描述模型转成文字
   "You see a hallway with a door on the left and a window ahead."
2. 把语言指令 + 历史文字描述喂给 LLM
3. LLM 输出 "Turn left" 或 "Go forward"

问题:信息损失严重(图像→文字丢失大量视觉细节);无法建模完整导航历史;严重依赖 prompt engineering;成功率只有 ~30%。

1.2 路径 B:全量微调 LLM

直接微调 LLM 的所有参数来预测导航动作。

问题:VLN 训练数据量远不如 LLM 预训练数据大(R2R 只有 ~14K 条路径 vs LLM 的万亿 token),微调会遗忘 LLM 的通用语言能力。而且 7B LLM 在 R2R 上的表现竟然不如 180M 的 DUET——数据量不足以支撑大模型训练。

NavGPT-2 的核心 insight

不要让 LLM "忘记"自己的语言能力来学导航。相反:冻结 LLM,让它的内部表征(hidden state)自然携带丰富的视觉-语言理解信息,然后在它之上训练一个轻量策略网络来"读取"这些信息做动作决策。同时,用 GPT-4V 生成推理数据来微调 Q-former,让模型学会生成导航推理

2. 架构详解

NavGPT-2 有两个核心组件:一个 VLM(负责理解和推理)和一个策略网络(负责选动作)。

2.1 组件 1:VLM(InstructBLIP)

1
视觉输入处理 每个 viewpoint 有 36 张全景图像,取其中几张作为当前观测。EVA-02-G vision encoder 提取每张图的 region 特征。
2
Q-former 压缩 一组可学习的 query token 通过 cross-attention 从视觉特征中提取固定数量的 image token(如每张图 32 个 token)。4 张图只需 128 token。
3
LLM 推理(冻结) Image tokens + 指令 tokens → FlanT5(冻结)→ 生成导航推理文字 + 输出 hidden states

Q-former 是什么?为什么需要它?

Q-former(来自 InstructBLIP)本质是一组可学习的 query 向量(如 32 个),通过 cross-attention 从 ViT 提取的密集 patch 特征中"查询"出最重要的信息。

# 没有 Q-former:
ViT 输出 4张图 × 196 patch × 1280维 = 752K 维  → 太多了!

# 有 Q-former:
32 query × cross-attn → 每张图 32 个 token × 768 维 → 4张图 = 128 token  → 可控

这是信息瓶颈设计:Q-former 被迫学习"哪些视觉信息对导航最重要",这本身就是一种有价值的特征选择。

2.2 组件 2:图策略网络(Graph-based Navigation Policy)

NavGPT-2 的动作空间不是连续的,而是在拓扑图节点上做选择。每个 viewpoint 是一个节点,相邻的 viewpoint 之间有边。

1
Node Embedding 每个候选节点用 LLM 的 hidden state 表示——天然携带"这个节点看起来像什么 + 和指令的关系"
2
Cross-Modal Encoding 节点 embedding 与指令 embedding 做跨模态注意力,计算匹配度
3
Global Action Prediction 在所有候选节点中选择得分最高的作为下一步目标

策略网络很轻量(远小于 VLM),因为视觉理解和语言推理都由冻结的 VLM 完成了。策略网络只做"选哪个节点"。

3. 多阶段训练

阶段训练什么数据目标
Stage 0加载 InstructBLIP 权重获得通用视觉-语言理解能力
Stage 1只训练 Q-formerGPT-4V 生成的逐步导航推理学会输出导航推理文本
Stage 2训练策略网络R2R 训练集 + DAgger学会用 VLM latent 选节点

3.1 GPT-4V 数据增强(Stage 1 核心)

这是 NavGPT-2 最有创意的设计。对于 R2R 中每条标注路径,用 GPT-4V 生成"为什么在这一步应该这样走"的推理:

# GPT-4V 输入:
# - 当前 viewpoint 的全景图像
# - 导航指令("Walk through the hallway and enter the kitchen")
# - 之前几步的推理历史

# GPT-4V 输出(自动生成的推理):
"The instruction says to enter the kitchen. I can see a doorway 
on the right that appears to lead to a kitchen based on the 
countertop visible. I should move to the right doorway."

# 这些推理数据用来训练 Q-former,让 NavGPT-2 具备类似的推理能力

为什么不直接用 GPT-4V 做导航(zero-shot)?

GPT-4V 推理能力强,但:①API 调用延迟太高(每步需几秒);②无法建模完整导航历史;③推理质量不稳定。NavGPT-2 的思路是用 GPT-4V 蒸馏——把 GPT-4V 的推理能力"压缩"到 Q-former 里,推理时用更快的本地模型。

3.2 DAgger 训练(Stage 2)

DAgger(Dataset Aggregation)解决一个经典问题:训练/推理分布不匹配

# 标准模仿学习的问题:
# 训练数据 = 专家路径上的状态 → 动作
# 但模型运行时可能会走偏到"没见过的状态"
# 一旦走偏,模型不知道该怎么办 → 错误累积

# DAgger 的解法:
# Round 1: 用初始策略跑,收集偏离状态 → 请专家标注正确动作 → 加入训练集
# Round 2: 用更新后的策略跑,收集新的偏离状态 → 标注 → 训练
# 多轮迭代后,训练集覆盖了策略可能遇到的各种真实状态

4. 可解释推理:核心卖点

NavGPT-2 在导航过程中能逐步生成自然语言推理

指令: "Exit the bathroom, turn right, go to the kitchen and stop near the table"

Step 1: "I see the bathroom door ahead. The instruction says to exit, 
         so I should go through the door into the hallway."
         → 动作: 前进到门口

Step 2: "I'm now in the hallway. The instruction says to turn right. 
         To my right is a corridor that might lead to the kitchen."
         → 动作: 右转

Step 3: "I can see a kitchen entrance ahead with a stove visible. 
         This matches the instruction. I should enter."
         → 动作: 进入厨房

Step 4: "I'm in the kitchen. I can see a table to the left. 
         The instruction says to stop near the table."
         → 动作: 停止

这种推理来自 GPT-4V 数据训练,不是手工规则。它使 NavGPT-2 能与人类交互——如果推理有误,人可以说"不是那个门",模型能调整。

5. Benchmark 表现

方法参数量R2R Val Unseen SR↑R2R Val Unseen SPL↑
DUET (无预训练)~180M25.6013.32
NavGPT-2 (FlanT5-XL)~1.5B67.5256.01
NavGPT-2 (FlanT5-XXL)~5B47.2028.75

注意:NavGPT-2 用 50% 训练数据即可达到 DUET 100% 数据的效果。在 RxR(英文)上比 DUET 高 3.67% SR。但绝对性能仍低于 SOTA(ScaleVLN ~75% SR),因为未整合大规模环境预训练。

6. 工程权衡分析

✓ 优势

• 保留 LLM 通用语言能力——可做对话式导航

• 导航过程完全可解释——每步都有自然语言推理

• 数据效率高——GPT-4V 增强减少标注需求

• 跨数据集泛化好——R2R → RxR 迁移测试验证

✗ 代价

• 模型大——5B vs DUET 180M,推理延迟高

• 离散动作空间——只在拓扑图上运行

• 离 SOTA 绝对值仍有差距

• 依赖 GPT-4V API 生成训练数据