新手外卖骑手小王第一天上班,公司没发 GPS,只给了一台行车记录仪和一条文字消息:“送到蓝色铁门、门口有棵歪脖子树的那家。”小王要做的,是读懂这句话,用眼睛在街上找到那扇蓝门,判断该直走还是拐弯,走错了还得停下来修正。这个“听一句话、看一路景、迈一步步”的过程,就是机器人版的视觉语言导航(Visual Language Navigation,简称 VLN):让一个智能体根据自然语言指令,依靠视觉观察在陌生环境里自主走到目标。这篇文章跟着小王跑一天单,把 VLN 的任务定义、核心方法、模型骨架、考核指标、真实难点、演进趋势和落地姿势一次讲透。

岗位关联

掌握 VLN 的挑战与趋势,你就能站上多模态融合与具身智能的交汇点,为机器人、AR 助手和下一代自动驾驶贡献“会认路的大脑”——这是 AI 工程师最值得押注的方向之一。

目录
  1. 可视化演示
  2. 任务定义
  3. 核心方法
  4. 模型架构
  5. 评估体系
  6. 核心挑战
  7. 应用趋势
  8. 行业实践
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

任务定义

小王的第一个订单,手机屏幕上只有一行字:“送到蓝色铁门、门口有株歪脖子树的那家。”没有路线,没有地图,他靠三样东西开工:读得懂中国话的脑子、看得见街景的眼睛、迈得开步子的腿。这三样东西合在一起,就是一次“视觉语言导航”的完整回合。

这个“接单—上路—送达”的过程,在学术圈被包装成一个术语:视觉语言导航(VLN)。研究者把小王的一天拆成四件事——理解指令、观察画面、做出动作、获得反馈。四件事循环往复,直到他说出“我到了”为止。值得注意的是,小王手里没有整座城市的地图,他只能看到眼前这一帧画面,这就是 VLN 与“拿着地图导航”的本质区别:它要求智能体在“部分可观测”的条件下做决策。

在形式化定义里,每一步要做的,是计算“在已经听到的指令、已经看到的画面和已经走过的路的基础上,下一步选哪个动作”的概率。这个条件概率的骨架长这样:

所以你看,小王送餐不是玄学,是一道条件概率题——每一步都在回答“根据手上这些信息,走哪条路最划算”。机器人不过是把这道题算得比人快一点。

π(at∣L,v1:t,ht)\displaystyle \pi(a_t \mid L, v_{1:t}, h_t)
这个式子是在说:机器人每一步都在问自己——根据我听到的、看到的、走过的,现在该迈哪条腿?
  1. 策略函数 π它代表“小王的大脑”,负责根据手头的一切信息决定下一步动作。
    π\pi
  2. 动作 a_t第 t 步要执行的动作,选自动作空间——通常是前进、左转、右转或停止。
    ata_t
  3. 指令 L用户输入的自然语言句子,例如“送到蓝色铁门那家”。
    LL
  4. 画面序列 v_{1t}:从出发到此刻,第一视角拍到的全部画面,是“眼睛”的全部输入。
    v1:tv_{1:t}
  5. 历史状态 h_t对走过的路线、转过弯的记忆,防止在原地打转。
    hth_t

核心方法

老骑手老王看着新手小王直冒汗,决定传授三招心法。第一招叫“记流水账”:把看到什么、做了什么按时间顺序记下来,一步一步推——这是早期序列模型的做法,类似把导航当成“逐帧朗读”故事书。第二招叫“画地铁图”:把房间当站点、门当换乘线,用图的关系来规划路线——这是图神经网络(GNN)的思路,擅长利用环境的结构。第三招叫“全局对眼神”:把指令里的每个词跟画面里的每个角落做匹配打分,重点盯住关键词——这就是 Transformer 的注意力机制。

第三招是如今的主流。它背后的直觉很朴素:读“蓝色”这个词时,模型应该把注意力更多地放在画面里偏蓝的区域上;读“左转”时,应该把注意力放在画面左侧的路口。这种“按词找画面”的打分过程,就是跨模态注意力。它由一个 Softmax 归一化来完成:

老王说,三种心法别贪多,先吃透“对眼神”——注意力机制就是那个让机器人死死盯住蓝门看的眼神。近年来的预训练范式,也正是让模型在大规模图文数据上先练熟这种“对眼神”能力,再迁移到导航任务上。

αij=exp⁡(eij)∑k=1Texp⁡(eik)\displaystyle \alpha_{ij} = \frac{\exp(e_{ij})}{\sum_{k=1}^{T} \exp(e_{ik})}
这个公式把“指令里第 i 个词和画面第 j 帧的匹配程度”变成一组加起来等于 1 的权重——权重越高,说明这一帧越该被关注。
  1. 匹配分 e_ij指令第 i 个词与画面第 j 帧的对齐得分,通常由查询向量与键向量的点积再除以缩放因子得到。
    eij=qi⋅kjd\displaystyle e_{ij} = \frac{q_i \cdot k_j}{\sqrt{d}}
  2. 指数放大 exp把匹配分变成正数,并放大高分与低分之间的差距。
    exp⁡(eij)\exp(e_{ij})
  3. 归一化分母对所有 T 帧画面的得分求和,保证注意力权重总和为 1。
    ∑k=1Texp⁡(eik)\displaystyle \sum_{k=1}^{T} \exp(e_{ik})
  4. 注意力权重 α_ij最终得到“读第 i 个词时,应该把目光放在第 j 帧画面上多少”的比例。
    αij\alpha_{ij}

模型架构

心法有了,还得配装备。小王的装备清单是这样的:左耳挂一个耳机专门听指令,这叫语言编码器;胸前挂一个相机专门拍街景,这叫视觉编码器;脑子里有块拼图板,把两边信息拼在一起,这叫跨模态融合模块;兜里还揣个小本子,边走边记来路,这叫历史状态编码。四件套凑齐,一个标准的 VLN 模型骨架就成型了。

先说编码器。视觉编码器通常是一个卷积网络或视觉 Transformer,它把一帧 224×224 的画面压缩成一个几百维的特征向量——相当于“用一句话概括眼前的样子”。语言编码器则是把“送到蓝色铁门”整句话压缩成另一个特征向量。两个向量描述的是不同模态的信息,一个讲画面、一个讲语义,模型必须想办法让它们“对话”。

最朴素的对话方式,就是把两个向量首尾相接拼成一个更长的向量——专业术语叫拼接(Concat)。拼接后的向量同时携带视觉和语言信息,交给后面的决策层去学“看到蓝色 + 听到蓝色 → 往那边走”:

这套装备说明一个道理:VLN 模型不是“一个大脑”,而是“一只能说人话的眼睛 + 一个会看路的耳朵”在接力。装备齐了,就能上路练级。

zt=[Wvvt ; WlL]\displaystyle z_t = \left[ W_v v_t \,;\, W_l L \right]
这个式子说的是:把“画面的浓缩”和“指令的浓缩”并排放在一起,组成一条完整的情报,供决策层阅读。
  1. 视觉特征 v_t第 t 帧画面经视觉编码器压缩后的向量,代表“现在看到了什么”。
    vtv_t
  2. 语言特征 L整条指令经语言编码器压缩后的向量,代表“用户想要什么”。
    LL
  3. 投影矩阵 W_v、W_l两个可学习的线性变换,把两种特征统一到同一维度空间,方便拼接。
    Wv,WlW_v, W_l
  4. 向量拼接 [ ; ]将两条情报首尾相连,得到融合后的特征向量 z_t。
    zt=[Wvvt ; WlL]\displaystyle z_t = \left[ W_v v_t \,;\, W_l L \right]

评估体系

月底考核,考官给小王发了两张表:一张写“送达率”,一张写“绕路率”。送达率好理解——十单里送到了几单;绕路率则要看他是不是明明能直走,却为了拍照多绕了三个弯。学术界给这两张表起了洋名:成功率(SR,Success Rate)和按路径加权的成功率(SPL,Success weighted by Path Length)。

SPL 是 VLN 最核心的评估指标。它同时惩罚“没送到”和“绕远路”:如果小王没送到,这一单直接记 0 分;如果送到了,则看他实际走的距离和专家最短路径的比值。走得越接近最优,分数越接近 1。要测出公平的分数,所有人都用同一套题本——R2R 数据集(Room-to-Room,室内跨房间导航指令集),在统一的 Habitat 模拟环境中执行:

满分的骑手未必是最快的,但一定是最“不折腾”的——评估体系的本质,是把“送到的幸运”和“走的弯路”一起算进账单。

SPL=1N∑i=1NSi⋅Limax⁡(Pi,Li)\displaystyle \text{SPL} = \frac{1}{N} \sum_{i=1}^{N} S_i \cdot \frac{L_i}{\max(P_i, L_i)}
这个公式像是给每张订单盖章:先看有没有送达(S),再看绕路有多严重(L 与 P 的比),把两个维度乘起来才是最终成绩。
  1. 测试条数 N一共考核的指令条数,相当于小王这个月考的单量。
    NN
  2. 成功标记 S_i第 i 次任务是否成功抵达目标,成功为 1,失败为 0。
    SiS_i
  3. 最短路径 L_i专家(人类)在这条指令下走的最短距离,是“标准答案”。
    LiL_i
  4. 实际路径 P_i小王(智能体)实际走的距离,包含了绕路的部分。
    PiP_i
  5. 效率比 L_i / max(P_i, L_i)走最短距离得满分,绕路越多扣分越狠,分母取最大值防止除零。
    Limax⁡(Pi,Li)\displaystyle \frac{L_i}{\max(P_i, L_i)}

核心挑战

跑了一个月,小王踩了无数坑。坑一:培训他认路的题库太少,反复看那几条街,都快背下来了。坑二:换了个小区就迷路,陌生的门牌、陌生的树,完全懵圈。坑三:转角看不见墙后有什么,经常走到跟前才发现是死胡同。坑四:路况说变就变,昨天还开着的侧门,今天贴了“施工绕行”。

这四个坑在学术上分别对应:数据稀缺、泛化瓶颈、部分可观测、动态环境。数据稀缺是因为人工标注一条“从 A 到 B 的语言指令”成本极高,需要真人先走一遍再写话,导致数据集规模远小于纯视觉任务。泛化瓶颈是指模型容易过拟合到训练集的场景风格,换一个数据集性能就大幅下滑。部分可观测是传感器视野天然的半盲区,而动态环境则要求智能体具备“计划赶不上变化”的应变能力。

研究者把仿真与现实的差距用一个简洁的式子概括:同样一个模型,在仿真环境里的期望风险(平均走丢概率)和真实环境里的期望风险之差,就是它落地时要付出的代价:

这四个坑不光是给小王挖的,也是所有 VLN 研究者的难点地图——谁能把坑填平,谁就能让机器人走出仿真,走进真实的走廊与街道。

Gap=Rreal(θ)−Rsim(θ)\displaystyle \text{Gap} = \mathcal{R}_{\text{real}}(\theta) - \mathcal{R}_{\text{sim}}(\theta)
这个式子想表达:模型在模拟器里考 95 分,不代表真实世界也能考 95 分——两个世界之间的分差,就是整个领域都在努力填平的“鸿沟”。
  1. 模型参数 θ神经网络的权重,即“小王脑子里的经验”。
    θ\theta
  2. 真实风险 R_real模型部署到真实环境后的期望错误率,例如平均每 100 步走错几步。
    Rreal(θ)\mathcal{R}_{\text{real}}(\theta)
  3. 仿真风险 R_sim模型在 Habitat 等模拟环境中的期望错误率。
    Rsim(θ)\mathcal{R}_{\text{sim}}(\theta)
  4. 领域差距 Gap真实风险减去仿真风险,衡量“换了个世界掉多少分”。
    Gap\text{Gap}

应用趋势

小王去参加行业大会,看到未来的自己:不只会送外卖,还会收拾房间、引导客人、巡查仓库。趋势可以浓缩成一句话——机器人正在从“会听指令的腿”变成“会思考的身体”。这就是具身智能(Embodied AI)的方向:让模型拥有一个可交互的身体,在真实空间里学习与行动。

四个趋势最值得关注。第一,具身智能:把 VLN 从“导航”升级为“导航 + 操作”,机器人不仅能走到冰箱前,还能打开门、拿出饮料。第二,仿真到现实(Sim2Real):先在 Habitat 等仿真环境里大规模练级,再通过域随机化迁移到真实机器人上,降低部署成本。第三,零样本导航(Zero-shot Navigation):模型没见过某个场景,也能根据语言描述完成导航,这依赖预训练阶段积累的常识。第四,多模态大模型:把大语言模型(LLM)当作导航的“大脑”,让它同时理解指令、推理空间关系并输出动作,例如“看到蓝色铁门就左转”这类开放式指令也能处理:

小王的工牌即将换成“具身智能体”,指令也从“送到蓝门”升级成“把客厅收拾利索”——世界是开放的,导航也就不能只认门牌。

p(at∣LLM(I,v1:t,ht))\displaystyle p(a_t \mid \text{LLM}(I, v_{1:t}, h_t))
这个式子把决策的“大脑”换成了大语言模型:让一个读过海量文本的模型,来综合指令、画面和历史,输出下一步动作。
  1. 大语言模型 LLM作为通用推理引擎,负责综合理解指令与画面。
    LLM\text{LLM}
  2. 开放式指令 I不再局限于固定模板,可以是“把客厅收拾利索”这类开放要求。
    II
  3. 视觉序列 v_{1t}:与前面一致,是持续累积的第一视角观察。
    v1:tv_{1:t}
  4. 动作概率 p(a_t | ……)LLM 在给定上下文后,对动作空间输出一个概率分布,取最高者执行。
    p(at∣⋅)p(a_t \mid \cdot)

行业实践

大会结束,小王入职一家酒店机器人公司,才发现真实世界比考场更刁钻。落地场景主要有两类:室内服务(送物、前台引导)和物流配送(仓储取货、园区送件)。这两类场景的共同点是环境相对可控、任务高频重复,适合先落地。

真实项目里的工具链有三件套:Habitat 平台负责提供高保真仿真环境,让模型在部署前先“虚拟跑单”;Matterport3D 提供真实扫描的室内三维场景,作为训练数据的重要来源;训练框架则负责模型迭代、分布式训练和推理部署。但真正让项目经理睡不着觉的,不是精度,而是账本。部署一台 VLN 机器人的净收益,可以用一个简单的商业公式估算:

机器人的路,最终要在真实走廊里一步一个脚印走出来。小王相信,等成本与安全这两道坎迈过去,自己就是第一个“不用考 GPS 也能上岗”的骑手。

Π=r⋅n⋅SR−(Cf+c⋅dtotal)\displaystyle \Pi = r \cdot n \cdot \text{SR} - \left(C_f + c \cdot d_{\text{total}}\right)
这个公式在算一件很现实的事:机器人为你赚的钱,减去买机器人、养机器人的钱,剩下的才是它存在的意义。
  1. 单次收益 r每完成一次配送/服务带来的收入或节省的人力成本。
    rr
  2. 任务数 n机器人一天或一年执行的任务总数。
    nn
  3. 成功率 SR真实环境里的成功率,直接决定有效收益的折扣。
    SR\text{SR}
  4. 固定成本 C_f购买硬件、部署系统的固定投入。
    CfC_f
  5. 里程成本 c·d_total电费、磨损、维护等随运行距离增长的可变成本。
    c⋅dtotalc \cdot d_{\text{total}}

AI 应用场景

酒店送物机器人

阶段:模型部署与在线推理

解决的问题:传统酒店机器人靠预设路线或地面二维码巡线,遇到“给 305 房间送一瓶水”这种开放式指令就束手无策。VLN 让机器人现场理解指令、实时感知走廊环境、动态规划路径,遇到行人或清洁车挡路时还能重新决策,而不是傻等。

具体案例:某连锁酒店部署的配送机器人收到“把浴巾送到 305”后,通过第一视角摄像头识别房号门牌,穿过走廊并绕开正在打扫的保洁车,到达后语音播报确认,全程耗时 3 分 20 秒。

AR 眼镜室内寻店

阶段:多模态融合与实时交互

解决的问题:商场室内 GPS 信号失效,用户找店铺全靠问路或看指示牌。VLN 的“指令—视觉对齐”能力让 AR 眼镜能理解“去二楼那家蓝色招牌的咖啡店”,并在实时画面中叠加方向箭头,把认路变成“跟着箭头走”。

具体案例:用户戴 AR 眼镜进入商场,说出目标店名,眼镜端 VLN 模型结合实时画面与楼层信息,在视野边缘渲染引导箭头,用户 3 分钟内到达目标店铺,交互满意度提升 40%。

仓储拣货 AGV

阶段:仿真训练与策略迁移

解决的问题:传统 AGV 需要铺设磁条或维护精确地图,而仓库货位频繁调整,地图维护成本极高。VLN 让 AGV 听懂“去 B 区第三排取蓝色箱子”这类指令,货位变动时依靠视觉自适应,不再依赖人工更新地图。

具体案例:某电商仓的拣货 AGV 先在 Habitat 仿真环境预训练,再迁移到真实仓库部署,运行 3 个月后平均拣货路径缩短 22%,因货位变动导致的停机时间减少 65%。

Python 演示

python88 行
"""简易视觉语言导航演示:智能体在网格世界里结合语言指令与视觉观察,选出正确目标并规划最短路径。"""from collections import deque  class VisualScene:    """视觉模块:提供候选目标的颜色与坐标"""     def __init__(self):        self.targets = {            "红色": (0, 4),            "蓝色": (3, 4),            "绿色": (1, 2),        }     def observe(self):        return list(self.targets.items())  class LanguageModule:    """语言模块:从指令文本中提取目标颜色关键词"""     def __init__(self, colors):        self.colors = colors     def parse(self, instruction):        for color in self.colors:            if color in instruction:                return color        return None  class Navigator:    """导航模块:在网格地图上用 BFS 规划最短路径"""     def __init__(self, obstacle):        self.obstacle = obstacle     def neighbors(self, pos, rows, cols):        r, c = pos        for dr, dc in [(-1, 0), (1, 0), (0, -1), (0, 1)]:            nr, nc = r + dr, c + dc            if 0 <= nr < rows and 0 <= nc < cols:                if (nr, nc) not in self.obstacle:                    yield (nr, nc)     def plan(self, start, goal, rows, cols):        queue = deque([start])        prev = {start: None}        while queue:            cur = queue.popleft()            if cur == goal:                break            for nb in self.neighbors(cur, rows, cols):                if nb not in prev:                    prev[nb] = cur                    queue.append(nb)        path = []        cur = goal        while cur is not None:            path.append(cur)            cur = prev.get(cur)        return path[::-1]  def main():    rows, cols = 5, 6    obstacle = {(1, 1), (2, 1), (3, 1), (1, 3), (3, 3)}    scene = VisualScene()    lang = LanguageModule([c for c, _ in scene.observe()])    navigator = Navigator(obstacle)     instruction = "把货物送到蓝色目标"    target_color = lang.parse(instruction)    goal = scene.targets[target_color]     start = (2, 0)    path = navigator.plan(start, goal, rows, cols)    print("指令:", instruction)    print("解析目标颜色:", target_color, "位置:", goal)    print("规划路径长度:", len(path) - 1, "步")  if __name__ == "__main__":    main()
目的:展示一个极简 VLN 闭环——语言模块从“把货物送到蓝色目标”中提取颜色关键词,视觉模块提供候选目标位置,再用广度优先搜索规划最短路径,模拟“听懂指令 + 看清环境 + 走出路径”的完整流程。
  1. self.targets = {...}视觉模块的“世界观”,相当于智能体眼中看到的三个候选目标。
  2. def parse(self, instruction):语言模块的“听写”,负责从自然语言里抓取关键词。
  3. if color in instruction:关键词匹配,相当于在指令里找“蓝色”这个词。
  4. def plan(self, start, goal, rows, cols):BFS 路径规划,也就是“怎么走最省脚力”。
  5. queue = deque([start])用一个队列维护待探索的格子,逐层向外扩散。
  6. prev[nb] = cur记录每个格子的“来路”,方便最后回溯整条路径。
  7. return path[::-1]把回溯得到的逆序路径反转,还原成从起点到终点的正确顺序。
  8. goal = scene.targets[target_color]语言与视觉对齐的关键一步:把颜色词映射到坐标。

常见误区

误区我一直以为 VLN 就是把 SLAM 建好的地图和 A* 路径规划拼在一起,拿到地图就能导航。

正解VLN 的关键前提是“没有预给地图”——智能体只靠第一视角画面和自然语言指令,在未知环境里边看边决策。SLAM 解决“我在哪”,路径规划解决“怎么走”,而 VLN 还要解决“语言到底指哪儿”,这一环是前两者没有的。比喻:小王没有城市地图,只有一句“找蓝门”,他得先弄明白“蓝门长什么样”再谈怎么走。

为何常见:传统机器人导航已经被“地图 + 规划”的成功范式教育了很多年,初学者很容易把 VLN 想成旧地图上的新贴纸。

误区我在 R2R 数据集上刷到第一名,觉得产品化稳了,老板一问却说没法部署。

正解R2R 分数只反映静态仿真环境的表现。真实世界有光照变化、行人挡路、传感器噪声、门牌遮挡,模型的 SPL 会断崖式下跌。研究界专门用一个词形容这种落差:sim-to-real gap(仿真到现实差距)。比喻:考场里背答案的骑手,上路遇到修路、堵车就露馅。

为何常见:论文与产品之间隔着部署工程,只看排行榜的“分数幻觉”让很多人忽略了环境差异。

误区我觉得只要把语言模型换成更大的 LLM,指令理解上去了,导航自然就厉害了。

正解VLN 的难点是“语言与视觉、动作的对齐”,而不是单纯的语言解析。很多指令本身很简单(“去蓝门”),难的是“画面里哪一个蓝色物体是目标、该怎么绕过去”。把预算全砸在 LLM 上而忽视视觉—动作建模,是典型的偏科。比喻:能背下全城菜名的厨师,不一定能把菜炒熟——导航最终要落在动作上。

为何常见:大模型热潮让大家默认“语言能力就是一切”,忘了导航还有眼睛和腿。

误区SPL 是加权成功率,它最高,系统就一定最好用。

正解SPL 公式里失败样本直接乘 0,它奖励的是“成功且不绕路”,但两个系统可能 SPL 相同,一个几乎不失败,另一个靠少数超短路径拉高平均。另外 SPL 完全不关心“停错位置多远”的容错程度。比喻:只看平均分的成绩单,会掩盖偏科和发挥不稳定。

为何常见:指标名里带“成功”,让人以为它已经覆盖了所有质量维度,实际上它只描述了效率这一个侧面。

误区VLN 是机器人实验室的东西,我做 AR、做无人机用不上。

正解VLN 的“指令 + 第一视角 + 动作决策”范式可以迁移到 AR 眼镜寻店、无人机巡检、自动驾驶泊车、仓储拣货等场景。只要任务是“根据语言描述,边观察边移动做出决策”,就能套用 VLN 的思路。比喻:小王学会的找路本领,换个行业照样能接单。

为何常见:VLN 的主力数据集和论文都围绕室内导航机器人展开,导致认知被场景绑架。

面试题

Q1. VLN 的“V“和”L”分别代表什么?

单选题 · easy

  • A.视频与语音
  • B.视觉与语言← 正确答案
  • C.虚拟与定位
  • D.视图与逻辑

答案:B。VLN 是 Visual Language Navigation 的缩写,V 代表视觉(Visual),L 代表语言(Language),核心是让智能体结合视觉观察与自然语言指令完成导航。其余选项的“视频/语音”“虚拟/定位”“视图/逻辑”都是对缩写的望文生义。

Q2. 下列哪项是 VLN 任务中智能体的必要输入?

单选题 · easy

  • A.自然语言指令← 正确答案
  • B.高精地图航线
  • C.预设移动路径
  • D.超声波传感器

答案:A。VLN 的定义决定了智能体必须接收自然语言指令和视觉观察,且没有预给地图或预设路径。高精地图和预设路径恰恰是 VLN 想摆脱的传统导航依赖,超声波传感器则属于额外的硬件,并非必要输入。

Q3. 在 VLN 任务定义中,“历史状态”的核心作用是?

单选题 · mid

  • A.记录轨迹避免原地打转← 正确答案
  • B.存储所有训练数据的副本
  • C.记录电量与硬件温度
  • D.缓存环境中的静态地图

答案:A。历史状态 h_t 是对已走路线、已做决策的记忆,帮助智能体避免重复探索和原地打转。它不存训练数据,不管硬件状态,更不是静态地图——VLN 的前提恰恰是“没有地图”。

Q4. SPL 指标主要衡量什么?

单选题 · mid

  • A.指令理解的准确率
  • B.成功率和路径效率← 正确答案
  • C.视觉模型的推理速度
  • D.数据集样本的数量

答案:B。SPL 全称是 Success weighted by Path Length,它同时考核“是否成功到达”和“路径是否接近最短”,把两个维度乘在一起。它不关心指令理解本身的准确率,也不衡量推理速度或数据规模。

Q5. VLN 中“部分可观测”指的是什么?

单选题 · mid

  • A.指令文本被部分遮挡
  • B.智能体只能看到视野内场景← 正确答案
  • C.训练数据只覆盖部分城市
  • D.模型只输出部分动作

答案:B。部分可观测是指智能体的传感器只能覆盖当前视野,看不到墙后、转角或远处的环境,必须在信息不完整的情况下决策。这与指令遮挡、数据覆盖、动作输出范围都没有关系。

Q6. 下列哪些操作常用于视觉与语言的跨模态融合?

多选题 · mid

  • A.注意力加权求和← 正确答案
  • B.特征向量拼接← 正确答案
  • C.时间戳同步对齐
  • D.信息熵最大化计算

答案:AB。跨模态融合的常见操作包括注意力加权求和(让语言词关注对应画面区域)和特征向量拼接(把视觉特征与语言特征首尾相连)。时间戳同步是视频处理的对齐技巧,信息熵最大化是信息论方法,二者都不是 VLN 主流的跨模态融合手段。

Q7. 下列哪项属于 VLN 常用的模拟基准平台?

单选题 · mid

  • A.Habitat 仿真环境← 正确答案
  • B.ImageNet 分类集
  • C.COCO 实例分割
  • D.BERT 语言模型

答案:A。Habitat 是 Facebook AI 开源的仿真平台,用于训练和评估 VLN 智能体。ImageNet 是图像分类数据集,COCO 是目标检测/分割数据集,BERT 是语言预训练模型——它们都不是“模拟导航环境”。

Q8. “仿真到现实迁移”的领域差距主要体现为?

单选题 · hard

  • A.仿真与真实光照动态差异← 正确答案
  • B.训练与评测代码版本不同
  • C.显卡算力不足帧率下降
  • D.数据集文件格式不一致

答案:A。仿真到现实(Sim2Real)的差距来自渲染光照、材质、动态行人、传感器噪声等真实世界因素,导致模型换环境后性能大跌。代码版本、显卡算力、文件格式属于工程问题,不是“领域差距”的本质。

Q9. VLN 智能体的动作空间通常包含哪些?(多选)

多选题 · easy

  • A.前进← 正确答案
  • B.左转← 正确答案
  • C.停止← 正确答案
  • D.传送

答案:ABC。VLN 的离散动作空间通常包含前进、左转、右转和停止——停止表示“我到达目标了”。传送、瞬移这类“作弊式移动”不属于标准 VLN 动作空间,因为它绕开了真实的导航决策。

Q10. 下列哪些方法有助于提升 VLN 的泛化能力?

多选题 · hard

  • A.数据增强与预训练← 正确答案
  • B.环境扰动随机化← 正确答案
  • C.固定随机种子训练
  • D.跨数据集协同训练← 正确答案

答案:ABD。数据增强和预训练丰富模型见过的场景,环境扰动随机化让模型适应光照、视角等变化,跨数据集协同训练让模型接触多种环境风格——三者都能缓解过拟合、提升泛化。固定随机种子只是复现实验的手段,不改变模型能力。