小张第一次到山城出差,刚出高铁站就有点晕头转向。他戴上一副人工智能眼镜,轻声说:“带我去那家百年面馆,先直行到蓝色咖啡馆,然后右转穿过绿色公园。”眼镜视野里浮出一条半透明路线,小张迈开步子——过路口、认蓝房子、拐弯、穿过小公园,最后在一扇红色木门前停下。整个过程里,没有人给他画过地图,眼镜只是“听懂他的话、看懂眼前的街道、决定每一步往哪走”。这种能力,就是视觉语言导航(Vision-Language Navigation,VLN):让 AI 学会像一位本地向导,把一句人话翻译成脚踏实地的动作序列。本文会用小张这趟旅程,从任务定义、核心组成、技术方案、数据基准、挑战瓶颈到应用前景,把 VLN 讲透,让零基础的你也能建立完整直觉。

岗位关联

掌握 VLN 的知识框架,意味着你理解了具身智能中“语言—视觉—动作”闭环的核心范式,这是机器人、自动驾驶与 AR 应用领域 AI 从业者最稀缺的跨界能力。

目录
  1. 可视化演示
  2. 1. 基本概念:从一句人话到一串动作
  3. 2. 核心组成:眼镜里的四个同事
  4. 3. 技术方案:从背路书到高光灯
  5. 4. 数据与基准:考驾照式的验收
  6. 5. 挑战与瓶颈:迷路的四重门
  7. 6. 应用前景:走出小张的眼镜
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示自然语言指令到导航动作的映射流程、多模态表征融合架构、以及智能体路径规划与评估指标。

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

指令到动作映射 语言指令分词后与视觉特征融合 融合表征解码为动作序列 Instruction + Vision → Action VLN将高层语义指令映射为底层动作

1. 基本概念:从一句人话到一串动作

小张的那句话,不是一张静态地图,而是一份“边走边执行的订单”。订单上写着目标(百年面馆)、参照物(蓝色咖啡馆、绿色公园)、方向(右转)和终点约束(红色木门)。眼镜每走一步,都要对照订单和眼前的街景,决定下一步。VLN 的任务定义正是如此:给定一条自然语言指令 I,再加上智能体第一视角的视觉观测 V,模型要输出一连串底层动作——前进、左转、右转、停止——最终把智能体带到指令描述的目标位置。这就是“指令到动作映射”。

关键在于,VLN 是一个序列决策问题。第 t 步选什么动作,要同时看完整指令、到 t 步为止看过的所有画面、以及已经走过的动作序列。这不像图像分类那样看一次输入就能定案,而更像下棋:每一步落子都要结合整盘棋的来龙去脉。用条件概率描述,第 t 步的动作选择可以写成:

所以小张每次迈步,眼镜都在心里做同一件事:把订单里已知的信息、眼前刚看到的画面、自己刚刚走过的路,三者拧成一股绳,再给出唯一的一步。走错一步,之后的每一步都会变味——这就是 VLN 与普通识别任务最大的不同。

P(at∣I,V1:t,a1:t−1)\displaystyle P(a_t \mid I, V_{1:t}, a_{1:t-1})
  1. 动作变量a_t 表示智能体在时刻 t 要输出的动作,比如“前进”“左转”“停止”。
    ata_t
  2. 语言指令I 是用户给出的完整自然语言指令,它提供全局目标与路径线索。
    II
  3. 历史视觉观测V_{1:t} 表示从第一步到当前时刻看过的全部视觉画面,眼镜边走边积累“眼见为实”的证据。
    V1:tV_{1:t}
  4. 历史动作序列a_{1:t-1} 是已经执行过的动作,用来防止来回打转、保持方向连贯。
    a1:t−1a_{1:t-1}
  5. 条件概率P(...) 表示“在已知这些条件下,选择动作 a_t 的概率”,模型每一步都选概率最高的动作。
    P(at∣I,V1:t,a1:t−1)\displaystyle P(a_t \mid I, V_{1:t}, a_{1:t-1})

2. 核心组成:眼镜里的四个同事

眼镜里其实住着四个各司其职的“同事”:翻译官负责听懂小张的订单,瞭望员负责看清街道,协调人负责把“蓝色”这个词和画面里那栋蓝房子对上号,领航员负责决定迈哪条腿。对应到模型上,就是四个核心模块。

  • 语言模块:把指令编码成词向量序列,相当于翻译官做笔记。
  • 视觉模块:把每一帧画面或候选视角编码成区域向量,相当于瞭望员画地图。
  • 跨模态对齐模块:计算语言与视觉的匹配程度,相当于协调人反复确认“说的是不是这个”。
  • 动作策略模块:综合所有信息,输出动作分布,相当于领航员拍板。

最微妙的是协调人的工作。视觉里没有文字,语言里没有像素,两者要在共享的语义空间里比相似度。“蓝色咖啡馆”这个词,应该和画面中的蓝顶建筑最相似,而不是和灰色办公楼相似。常用做法是计算余弦相似度:

如果协调人对错了号,就会出现“说了蓝房子却走向灰大楼”的滑稽场面。小张回忆起一次翻车:眼镜在街口犹豫了十秒,原来它把“蓝色咖啡馆”对成了旁边贴着蓝色广告牌的商店——四个同事里任何一环掉链子,整段旅程都会偏离。

sij=wi⋅vj∥wi∥ ∥vj∥\displaystyle s_{ij} = \frac{\mathbf{w}_i \cdot \mathbf{v}_j}{\|\mathbf{w}_i\| \, \|\mathbf{v}_j\|}
  1. 对齐分数s_{ij} 表示第 i 个语言词与第 j 个视觉区域之间的语义匹配程度,分数越高越“对得上”。
    sijs_{ij}
  2. 词向量\mathbf{w}_i 是语言模块把“蓝色”这样的词编码成的数值向量。
    wi\mathbf{w}_i
  3. 视觉区域向量\mathbf{v}_j 是视觉模块把画面中某一区域编码成的数值向量。
    vj\mathbf{v}_j
  4. 点积与模长归一化分子点积衡量两个向量的方向一致性,分母用两个模长相乘做归一化,消除向量长短的影响,让分数落在 -1 到 1 之间。
    wi⋅vj∥wi∥ ∥vj∥\displaystyle \frac{\mathbf{w}_i \cdot \mathbf{v}_j}{\|\mathbf{w}_i\| \, \|\mathbf{v}_j\|}

3. 技术方案:从背路书到高光灯

早期的眼镜像一位“背路书的老爷爷”:用循环网络一步步读指令、看画面,把历史存在脑子里慢慢推。这种方法能走,但路线一长、信息一多,记忆力就跟不上。后来的 Transformer 像一位“手持高光灯的向导”:不再按顺序死记硬背,而是把指令词、视觉区域、历史动作统统摆上桌面,用注意力机制同时扫视所有线索,想找什么就高亮什么。

具体技术路线可以分四层来看。序列建模负责编码历史轨迹;跨模态融合把语言与视觉 token 拼成一个序列,用自注意力互相“照亮”;预训练范式让模型先在海量图文数据上学会“蓝色通常长什么样”,再在导航数据上微调;强化学习则让智能体在仿真环境里反复试错,到达目标给正奖励、绕远路给惩罚。其中 Transformer 的注意力计算是融合的关键:

小张后来听说,最新一代眼镜出厂前都“预习”过几百万张街景图文(预训练),还戴着它在仿真城市里“实习”了上万圈(强化学习)。高光灯、预习加实战,才让它第一次到陌生城市也不至于抓瞎。

Attention(Q,K,V)=softmax(QK⊤dk)V\displaystyle \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^{\top}}{\sqrt{d_k}}\right)V
  1. 查询 Q当前状态发出的“我想找什么”的提问向量,比如向导想找“蓝色咖啡馆”。
    QQ
  2. 键 K 与值 VK 是各候选信息携带的标签(哪些区域可能是蓝房子),V 是候选信息本身的语义内容(区域的实际画面特征)。
    K,VK,\quad V
  3. 缩放点积Q 与 K 的转置点积后除以根号 d_k,防止数值过大导致 softmax 梯度消失。
    QK⊤dk\displaystyle \frac{QK^{\top}}{\sqrt{d_k}}
  4. softmax 归一化把分数变成总和为 1 的权重,决定注意力“看多少”。
    softmax(⋅)\text{softmax}\left(\cdot\right)
  5. 加权求和用归一化权重对 V 加权,得到融合了语言与视觉的上下文向量,供动作策略使用。
    Attention(Q,K,V)\text{Attention}(Q, K, V)

4. 数据与基准:考驾照式的验收

要检验一副眼镜会不会导航,不能只听它自己说会。业界仿照驾校的做法:准备标准训练场(数据集)、路线题库(指令—轨迹配对)、考试评分(评估指标)。主流数据集如 R2R,采集自真实建筑扫描的全景图像,由人工写出“穿过走廊右转”这类自然语言指令,构成一条条配对数据;Habitat 等仿真平台则提供可以交互的 3D 环境。数据会被划分成 seen(训练见过)和 unseen(考试没见过)两部分,防止“背题”。

评估时最常用的是成功率 SR:跑 N 轮,统计终点与目标距离在阈值内的轮数比例。

后来又有了 SPL,它在“是否到达”的基础上乘以“最短路径长度 / 实际路径长度”,那些绕大圈的走法虽然 SR 计成功,但 SPL 会打折扣。小张的眼镜在“见过的大楼”里几乎满分,一到“陌生的街区”立刻露馅——这正是 seen/unseen 划分的价值:只有 unseen 考场上不迷路,才说明是真的学会了导航,而不是背下了题库。

SR=1N∑n=1N1{dn≤δ}\displaystyle \text{SR} = \frac{1}{N}\sum_{n=1}^{N} \mathbf{1}_{\{d_n \leq \delta\}}
  1. 测试次数N 表示评估时总共执行的导航轮数,轮数越多统计越可靠。
    NN
  2. 终点距离d_n 表示第 n 轮智能体的终点与真正目标的距离。
    dnd_n
  3. 判定阈值\delta 是可容忍的误差半径,例如 3 米内就算成功抵达。
    δ\delta
  4. 指示函数当 d_n \leq \delta 时取 1,否则取 0,把“是否成功”变成可累加的数字。
    1{dn≤δ}\mathbf{1}_{\{d_n \leq \delta\}}
  5. 平均成功率把成功次数除以总轮数,得到 0 到 1 之间的成功率。
    SR=1N∑n=1N1{dn≤δ}\displaystyle \text{SR} = \frac{1}{N}\sum_{n=1}^{N} \mathbf{1}_{\{d_n \leq \delta\}}

5. 挑战与瓶颈:迷路的四重门

小张后来故意刁难眼镜:“去那个……就是蓝色那家店的后面,它旁边有棵大树。”眼镜当场卡壳:“哪个它?”——这叫指代消解,是 VLN 的第一道门。就算指代清楚了,后面还有三扇门:开放世界泛化(训练环境与真实世界风格悬殊)、鲁棒性(下雨、逆光、镜头抖动、传感器噪声)、长期规划(一条指令对应几十甚至上百步动作)。

长期规划最阴险:单步错误概率看起来很小,但整条轨迹的总误差会随步数累积。假设每步有 \epsilon 的出错率,走 T 步,总误差大致是 T 乘以平均单步误差:

小张终于明白,迷路往往不是最后一刻突然发生的,而是每一步的“差不多”攒出来的。这也解释了为什么 VLN 论文里 unseen 环境的成功率总是明显低于 seen:误差在半路就悄悄发酵了。

ϵtotal  ≈  ∑t=1Tϵt  ≈  T⋅ϵˉ\displaystyle \epsilon_{\text{total}} \;\approx\; \sum_{t=1}^{T} \epsilon_t \;\approx\; T \cdot \bar{\epsilon}
  1. 单步误差\epsilon_t 表示第 t 步决策出错的概率,单看每一步都很小。
    ϵt\epsilon_t
  2. 平均单步误差\bar{\epsilon} 是全程平均每步的出错率。
    ϵˉ\bar{\epsilon}
  3. 步数放大总误差约等于平均单步误差乘以步数 T,轨迹越长,偏差天然累积得越大,甚至更差——因为一步错还会污染后续看到的画面。
    T⋅ϵˉT \cdot \bar{\epsilon}

6. 应用前景:走出小张的眼镜

小张的眼镜只是一个起点。同样的“听懂—看懂—走对”功夫,正在很多行业上岗:医院导诊机器人、商场配送机器人、园区快递车、景区 AR 导航眼镜。落地时最关键的指标不再是“演示多酷”,而是“换一个环境还行不行”。业界用泛化比来量化这一点:

目前行业正在推进标准化工作:统一的评估基准、统一的接口规范,让不同团队的数据、模型、应用可以像 USB 一样即插即用。这就像驾校统一了考试项目和驾照标准,老司机和新司机才能在同一套规则下比较车技。从山城巷子里的第一副眼镜,到未来家家户户的具身智能管家,VLN 要走的路还很长——更强的指代消解、更鲁棒的视觉、更可靠的长期规划。但只要“让机器听懂人话、看懂真实世界的路”这个方向不变,小张的故事就会在更多城市、更多场景里重演。

R=SRunseenSRseen\displaystyle R = \frac{\text{SR}_{\text{unseen}}}{\text{SR}_{\text{seen}}}
  1. 已见环境表现\text{SR}_{\text{seen}} 是在训练时见过的环境上的成功率,相当于“驾校场地考”。
    SRseen\text{SR}_{\text{seen}}
  2. 未见环境表现\text{SR}_{\text{unseen}} 是在全新环境上的成功率,相当于“实际道路考”。
    SRunseen\text{SR}_{\text{unseen}}
  3. 泛化比值两者相除得到 R,越接近 1,说明模型越能把学到的导航常识迁移到陌生场景。
    R=SRunseenSRseen\displaystyle R = \frac{\text{SR}_{\text{unseen}}}{\text{SR}_{\text{seen}}}

AI 应用场景

医院导诊机器人

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

解决的问题:传统导诊靠固定地图查询,遇到“带我去儿科门诊,路过药房再右转”这类带参照物的口语指令就失效。结合 VLN 的机器人把语音指令与实时视觉融合,做序列决策,边走边认路,遇到临时施工改造还能绕行。

具体案例:某三甲医院部署导诊机器人,患者说“去三楼的儿科,经过咖啡店右转”,机器人融合全景相机与激光雷达信息,按“指令—视觉—动作”闭环完成任务,并实时播报“前方到达咖啡店”。

商场配送机器人

阶段:数据采集与强化学习训练

解决的问题:固定磁条或二维码导航无法响应“把外卖送到蓝店旁边的服务台”这类开放式指令。配送机器人用 VLN 把自然语言目标转成实时导航动作,并用强化学习在仿真环境里预先试错、积累经验。

具体案例:某购物中心部署配送机器人,顾客说“送到三号门,路过绿植区”,机器人在仿真街景里先训练上千轮,再上线运行;遇到促销展台临时遮挡路线时,依靠视觉重规划绕行。

AR 实景导航眼镜

阶段:跨模态融合与端侧推理

解决的问题:传统 GPS 导航在室内或小巷里“看不见卫星”,而 AR 眼镜把语言指令对齐到真实画面,直接在视野中叠加速度箭头和距离标签。

具体案例:景区 AR 眼镜:游客说“去红色屋顶的茶馆”,眼镜识别画面中的红色屋顶建筑,实时渲染导航箭头——跨模态对齐在端侧毫秒级完成,不依赖外部地图。

Python 演示

python103 行
# -*- coding: utf-8 -*-"""VLN 迷你演示:指令->视觉对齐->动作执行"""  class GridWorld:    """带朝向的 8x8 网格街道,地标按颜色摆放"""     DIRS = [(0, -1), (1, 0), (0, 1), (-1, 0)]     def __init__(self, landmarks=None, start=(1, 4), heading=1):        self.size = 8        self.landmarks = landmarks or {}        self.agent = start        self.heading = heading     def front_cell(self):        x, y = self.agent        dx, dy = self.DIRS[self.heading]        return (x + dx, y + dy)     def act(self, action):        if action == '直行':            x, y = self.front_cell()            if 0 <= x < self.size and 0 <= y < self.size:                self.agent = (x, y)        elif action == '左转':            self.heading = (self.heading - 1) % 4        else:            self.heading = (self.heading + 1) % 4        return self.agent     def locate(self, color):        for cell, mark in self.landmarks.items():            if mark == color:                return cell        return None     def turn_toward(self, target):        tx, ty = target        x, y = self.agent        vx, vy = tx - x, ty - y        hx, hy = self.DIRS[self.heading]        cross = hx * vy - hy * vx        dot = hx * vx + hy * vy        if cross > 0:            return '右转'        if cross < 0:            return '左转'        if dot < 0:            return '左转'        return '直行'  def run_episode(world, instruction):    logs = []    ok = False    for chunk in instruction.split(','):        for color in ('蓝色', '绿色', '红色'):            if color not in chunk:                continue            target = world.locate(color)            if target is None:                logs.append('看不见%s' % color)                return ok, logs            while world.agent != target:                world.act(world.turn_toward(target))            if '停' in chunk:                ok = True                logs.append('到达%s停止' % color)            elif '左' in chunk:                world.act('左转')                logs.append('到达%s左转' % color)            elif '右' in chunk:                world.act('右转')                logs.append('到达%s右转' % color)            else:                logs.append('到达%s直行' % color)    return ok, logs  def main():    episodes = [        ((1, 4), {(3, 4): '蓝色', (5, 4): '绿色', (5, 2): '红色'},         '直行到蓝色咖啡馆,直行到绿色公园后左转,直行到红色面馆并停止'),        ((2, 2), {(4, 2): '蓝色', (4, 5): '绿色', (6, 5): '红色'},         '直行到蓝色咖啡馆,在蓝色咖啡馆右转,直行到绿色公园,直行到红色面馆并停止'),        ((1, 6), {(3, 6): '蓝色', (3, 3): '绿色', (1, 3): '红色'},         '直行到蓝色咖啡馆,在蓝色咖啡馆左转,直行到绿色公园,直行到红色面馆并停止'),    ]    hits = 0    for start, marks, instr in episodes:        world = GridWorld(landmarks=marks, start=start)        ok, logs = run_episode(world, instr)        hits += ok        print('指令:', instr)        print('过程:', ' -> '.join(logs))        print('结果:', '成功' if ok else '失败')        print('- -' * 15)    print('成功率 SR = %d/%d = %.2f' % (hits, len(episodes), hits / len(episodes)))  if __name__ == '__main__':    main()
目的:用一个 8x8 网格世界模拟 VLN 的核心流程——解析指令中的地标颜色,通过“视觉定位 + 方向判断”生成左转、右转、直行与停止动作,并计算成功率。
  1. class GridWorld:定义带朝向的网格世界,相当于仿真街道环境。
  2. DIRS = [(0, -1), (1, 0), (0, 1), (-1, 0)]北东南西四个朝向向量,是动作的坐标系。
  3. def turn_toward(self, target):跨模态决策核心:根据目标位置与当前朝向决定转向。
  4. cross = hx * vy - hy * vx用叉积判断目标在当前朝向的左侧还是右侧。
  5. world.act(world.turn_toward(target))把决策结果变成实际动作,驱动智能体移动。
  6. for chunk in instruction.split(','):把一句话指令按逗号切成步骤,逐条执行。
  7. target = world.locate(color)视觉感知模块在街景中搜索指定颜色的地标。
  8. if '停' in chunk:识别到“停止”语义时结束导航,置成功标记。
  9. hits / len(episodes)用“成功次数 / 总轮数”计算成功率 SR。

常见误区

误区以为把指令和当前画面拼在一起,用分类器选一个动作就行,跟图像分类差不多,训练起来也很快。

正解VLN 是序列决策,不是一次性分类。每一步的动作都依赖完整指令、全部历史视觉和已执行动作,如公式 P(a_t | I, V_1:t, a_1:t-1) 所示。一步选错,后面的画面和轨迹全被污染。就像小张的眼镜,不是“看一眼照片就能指路”,而是边走边判断一整条路线。

为何常见:很多入门教程把模型的输入输出画得像分类器,容易让人忽略“历史依赖”这个核心特性。

误区认为导航失败的根源是指令没解析好,于是拼命调大语言模型,觉得把话说清楚就万事大吉。

正解VLN 的瓶颈常常在“指代落地”——把“那栋蓝房子”对应到真实画面里的区域。语言模块再强,跨模态对齐模块对错了号,照样撞墙。四个同事里,协调人(对齐)和领航员(动作)同样关键。

为何常见:大语言模型热度高,容易高估单模态能力,低估“语言与视觉对齐”这一跨模态难题。

误区看到模型在 seen 环境上 SR 达到 95% 以上,就认为已经解决了 VLN,可以放心部署。

正解seen 与 unseen 之间的差距才是真正的考验。模型可能背下了训练环境的布局,而不是学会了通用的导航能力。业界用 SR_unseen / SR_seen 的泛化比来衡量,这个比值远低于 1 时,说明只是“背题高手”。

为何常见:训练与测试分布相似时成绩虚高,人们容易把“记住环境”误当成“理解导航”。

误区认为导航难题在于“有没有地图”,只要建图够精细,就不需要视觉语言理解。

正解VLN 的价值恰恰是不依赖预存地图,靠实时视觉加语言推理找路。依赖高精度地图的方案一旦进入陌生或动态环境(比如商场临时改造)就寸步难行。VLN 与 SLAM、路径规划是互补关系,不是替代关系。

为何常见:传统机器人导航长期依赖地图,容易把“建图”与“语义导航”混为一谈。

面试题

Q1. VLN 最核心的任务本质是什么?

单选题 · easy

  • A.对单张图片做目标分类
  • B.把指令映射为动作序列← 正确答案
  • C.只用文本翻译行走路线
  • D.单纯提升建图的精度

答案:B。VLN 是“指令到动作的序列决策”,B 最贴切。A 是静态分类任务,C 丢掉了视觉信息,D 把 VLN 错当成建图问题。就像小张的眼镜,光会看或光会听都不够,关键是把“听懂加看见”变成每一步的动作。

Q2. 智能体每一步选择动作时,主要依赖哪些信息?

单选题 · easy

  • A.只看当前一帧的画面
  • B.只看指令开头的几词
  • C.指令加视觉加历史轨迹← 正确答案
  • D.随机抽选一个方向走

答案:C。公式 P(a_t | I, V_1:t, a_1:t-1) 明确指出:完整指令、到当前为止的全部视觉观测、以及已执行的动作序列,三者缺一不可。A、B 只看局部信息,D 是随机策略,都无法完成可靠导航。

Q3. 跨模态对齐分数 s_ij 度量的是什么?

单选题 · mid

  • A.两个中文词的拼音相似度
  • B.词向量与视觉区域向量的相似度← 正确答案
  • C.两张相机图片的像素距离
  • D.动作与奖励函数的相关性

答案:B。s_ij 是第 i 个词与第 j 个视觉区域在共享语义空间中的余弦相似度,用来把“蓝色咖啡馆”对应到画面里的蓝房子。A 只管语言,C 只管视觉,D 是强化学习里的概念,都不是跨模态对齐。

Q4. 一个完整的 VLN 模型通常包含哪些主要组件?

多选题 · mid

  • A.语言编码模块← 正确答案
  • B.视觉编码模块← 正确答案
  • C.跨模态融合模块← 正确答案
  • D.动作解码模块← 正确答案

答案:ABCD。如同眼镜里的四个同事——翻译官、瞭望员、协调人、领航员,四个组件缺一不可:编码语言、编码视觉、对齐两种模态、输出动作分布。少了任何一个,导航闭环都会断裂。

Q5. VLN 中 SR 指标的含义是什么?

单选题 · mid

  • A.平均每步移动的米数
  • B.成功抵达目标的比例← 正确答案
  • C.指令解析的错误率
  • D.训练使用的参数量

答案:B。SR 是 N 次测试中“终点与目标距离小于阈值”的轮数比例,类似驾考通过率。它只回答“到没到”,不回答“走得聪不聪明”,所以还要搭配 SPL 看路径效率。

Q6. 下列哪些属于 VLN 长期规划误差加剧的原因?

多选题 · hard

  • A.每步决策都难免出错← 正确答案
  • B.历史动作会影响未来观测← 正确答案
  • C.误差随步数累积变大← 正确答案
  • D.模型完全无法修正错误

答案:ABC。单步错误会随步数 T 累积为 T 乘以平均误差,而且一步走错会污染后续看到的画面(观测依赖历史动作)。但模型并非完全无法修正错误,D 的说法过于绝对,不选。

Q7. SPL 相比 SR 额外考虑了哪方面的表现?

单选题 · mid

  • A.路径的长短与效率← 正确答案
  • B.指令的长度与语法
  • C.画面的分辨率高低
  • D.训练所花的时间

答案:A。SPL 用“最短路径长度 / 实际路径长度”给成功到达加权重,绕大圈到达虽然 SR 计成功,但 SPL 会打折扣。好比同样到面馆,绕远路的向导评分更低。

Q8. 在 Transformer 自注意力公式中,Q(Query)代表什么?

单选题 · hard

  • A.当前状态想查的信息← 正确答案
  • B.所有候选携带的标签
  • C.注意力最终输出内容
  • D.模型训练时的学习率

答案:A。Q 是“我想找什么”的提问向量,K 是候选信息的标签,V 是实际内容。就像向导的高光灯:Q 决定往哪照(找蓝房子),K 决定哪些区域响应,V 决定照到的信息如何被采纳。B 是 K,C 是加权求和结果,D 与注意力无关。

Q9. VLN 技术的潜在应用场景包括哪些?

多选题 · easy

  • A.医院导诊机器人← 正确答案
  • B.商场配送机器人← 正确答案
  • C.AR 实景导航眼镜← 正确答案
  • D.纯文本翻译软件

答案:ABC。导诊、配送、AR 导航都需要“听指令 + 看场景 + 走对路”的闭环;纯文本翻译只处理语言,不涉及视觉与动作,不属于 VLN 的应用范畴。

Q10. 某模型在已见环境的成功率为 0.8,在未见环境的成功率为 0.4,则其泛化比 R 为多少?

单选题 · extreme

  • A.0.5← 正确答案
  • B.1.0
  • C.2.0
  • D.0.4

答案:A。R = SR_unseen / SR_seen = 0.4 / 0.8 = 0.5。R 越接近 1 说明跨环境泛化越好;0.5 表示模型在陌生环境里的表现只有熟悉环境的一半,说明它更擅长“背题”而非真正理解导航。