想象一个周六早晨:你刚搬进一座陌生小区,朋友在微信里发来一串语音:“出了单元门左转,穿过灰色木门,沿着蓝色长廊走到头,看见旋转楼梯后往东南走,红色书房就是我屋。”你攥着手机,一边听一边打量四周——找门的你,此刻就像一个小小的“智能体”:耳朵负责听懂指令,眼睛负责辨认地标,双脚负责一步步往目标挪。你之所以能顺利找到朋友家,靠的是两件事:把语音文字“翻译”成可执行的脚步,以及把眼前景物与文字描述一一对上号。这就是视觉语言导航(Vision-and-Language Navigation,VLN)研究的核心问题。本文将带你从“一张带路便条”出发,理解 VLN 中的指令理解与地标识别技术、经典工具链与评估体系,并了解它们如何被用在机器人、AR 导航等真实场景中。
学会指令理解与地标识别,意味着你掌握了构建多模态智能体的关键一环——让 AI 既“听懂人话”又“看懂世界”。这是智能机器人、AR 实景导航、无障碍出行等岗位的核心技术栈。
可视化演示
本节配有交互动效(进入视口后自动加载,约 3KB)。
导航任务定义
周末你搬进一座新小区,朋友用微信发来语音:“出了单元门左转,穿过灰色木门,沿着蓝色长廊走到头,看见旋转楼梯后往东南走,红色书房就是我屋。”你攥着手机,边听边打量四周——这一刻,你就是一个“找路智能体”:把语音转成脚步,把文字对应到景物。VLN 研究的就是这件事:让计算机在三维环境里,像你一样根据自然语言指令走到目标。
在 AI 术语里,VLN 全称 Vision-and-Language Navigation,指一个智能体(Agent)在三维模拟环境中,以第一视角连续观察视觉图像,并根据一句自然语言指令,逐步做出导航动作,最终抵达指定位置。它和“自动驾驶”不同:VLN 的指令是语义化的,比如“穿过灰色木门”,而不是“向前 5 米、左转 30 度”。模型必须自己从语言中推测出空间关系与行动顺序。
从形式化角度看,VLN 是一个序列决策问题。每个时间步 $t$,智能体拿到语言指令 $L$、当前视觉画面 $V_t$,以及过去所有动作历史 $a_{1:t-1}$,输出一个动作 $a_t$(例如“前进”“左转”“右转”“停止”)。整个导航过程可以建模为:在给定语言与视觉条件下,最大化一条动作序列的概率。
就像你听语音时眼睛和脚步不断配合——听一句、看一眼、走一段。Agent 也这样工作,只是它的“耳朵”是语言编码器,“眼睛”是视觉特征提取器,“腿”是策略网络。你到了朋友家,是这套闭环走通的结果。
- 整体动作序列概率$P(a_{1:T} \mid L, V_{1:T})$ 表示在语言指令 $L$ 和视觉画面序列 $V_{1:T}$ 的条件下,执行动作序列 $a_{1:T}$ 的联合概率。
- 链式法则展开$\prod_{t=1}^{T}$ 表示把每个时刻的动作概率相乘。因为导航是一步一步做出的,整体概率等于各步概率的乘积。
- 策略函数$\pi_\theta(a_t \mid L, V_{1:t}, a_{1:t-1})$ 是带参数 $\theta$ 的策略网络,它根据全部历史信息,输出当前动作 $a_t$ 的概率分布。
指令理解方法
朋友便条上写着“穿过灰色木门”,你站在门前犹豫:“穿过”是推门进去再出来,还是从门旁边绕过去?如果理解错了,之后每个拐弯都会跟着错。指令理解,就是教会机器准确把握这类语言结构。
指令理解的目标,是把自然语言指令变成机器能计算的语义向量。仅认出“灰色木门”这几个字远远不够,模型还必须理解“穿过”“沿着”“走到头”“往东南走”这些动词和空间短语之间的逻辑关系。这就像你读便条时,不只是认字,而是在脑中构建一条“动作链”。
现代方案通常分三步:第一步把句子切分成 token(词元);第二步把每个 token 映射为稠密向量,称为词嵌入(Word Embedding);第三步用序列编码器(LSTM 或 BERT)把这些向量按顺序融合,得到带有上下文信息的语义表示。BERT 这类预训练语言模型特别擅长捕捉“穿过”与“绕过”、“蓝色长廊”与“蓝色通道”这类近义关系。
指令理解的精度直接决定导航上限。如果模型把“穿过灰色木门”理解成“绕过灰色木门”,路径就会偏一个路口——和你听错朋友语音一样,后面的计划全乱。所以,好的导航必须从“听懂话”开始。
- 词嵌入映射$\mathbf{E}(w_t)$ 把指令中第 $t$ 个词 $w_t$ 变成一个向量,让机器能处理文字。
- 隐状态更新$\mathbf{h}_t$ 是编码器第 $t$ 步的输出,它融合了当前词和前面所有词的信息。
- 循环单元运算$\text{LSTM}(\cdot)$ 接收新词向量和上一步状态,输出新的状态,如此循环,直到把整句指令读完。
地标识别技术
走到岔路口,你开始左右扫视:左边是蓝色小亭子,右边是蓝色垃圾桶。颜色几乎一样,但便条上写的是“蓝色小亭子”——你凭什么一秒内做出判断?凭的是形状、结构、位置等综合线索,这正是地标识别要解决的问题。
地标识别是 VLN 的第二根支柱。它和普通物体检测不同:物体检测只回答“这是什么”,地标识别还要回答“这是不是指令里提到的那一个”。比如同样的门,在“穿过灰色木门”里是地标,在“绕过那扇铁门”里就不一定。地标的价值在于它扮演“路径参照点”的角色。
实现上,视觉编码器(如 ResNet)先把图像划分成多个区域,提取每个区域的特征向量 $\mathbf{v}_i$;语言侧则把指令中的地标描述编码成向量 $\mathbf{l}_j$。两者通过余弦相似度计算匹配分数,再结合空间关系(比如“左前方”“右侧”)对候选区域排序,选出最匹配的地标。
地标识别不是“认出一万种物体”,而是“认出任务里需要的那个参照点”。就像你只关心蓝色小亭子,不关心蓝色垃圾桶——因为朋友的便条上写的是亭子。地标识别帮智能体把注意力锚定在与指令相关的事物上。
- 视觉特征向量$\mathbf{v}_i$ 表示图像中第 $i$ 个候选区域的特征,它由 CNN 等视觉编码器提取。
- 地标描述向量$\mathbf{l}_j$ 表示指令中第 $j$ 个地标表述的语义特征。
- 点积相似度$\mathbf{v}_i^\top \mathbf{l}_j$ 是两个向量做内积,数值越大代表方向越一致、语义越接近。
- 长度归一化$\|\mathbf{v}_i\| \cdot \|\mathbf{l}_j\|$ 把内积除以两个向量的模长,得到余弦相似度,消除特征尺度差异。
视觉语言融合
你一手握着便条,目光在小区里来回扫视。“蓝色长廊”这四个字变成了一种检索线索:你的视线依次掠过水池、花坛、走廊,最后停在蓝色长廊上——这种“心里默念关键词、眼睛找对应物”的过程,就是跨模态注意力。
视觉语言融合是 VLN 模型的主动脉。指令中的每个词,都需要和视觉图像中的每个区域计算关联;反过来,每个视觉区域也要知道它正在被哪段文字“注视”。注意力机制正是完成这种双向对齐的标准方法。
在跨模态注意力中,Query(查询向量)通常来自语言侧,例如“蓝色长廊”这个词的表示;Key 和 Value 来自视觉侧,即图像各区域的特征。模型用 Query 与 Key 的点积计算相关性,经 Softmax 转换为概率权重,再对 Value 加权求和,得到融合了语言信息的视觉上下文,交给策略网络做决策。
你之所以能边走边读便条,是因为眼睛一直在“按文字找目标”。跨模态注意力让智能体也具备这种能力——它不是机械地看完整张图,而是知道该把“目光”放在哪里,再将目光所及之处用于决策。
- 查询向量$\mathbf{q}_i$ 是第 $i$ 个语言 token 对应的查询向量,代表“我正在找什么”。
- 键向量$\mathbf{k}_j$ 是第 $j$ 个视觉区域对应的键向量,代表“我这里有什么”。
- 缩放点积$\mathbf{q}_i^\top \mathbf{k}_j / \sqrt{d}$ 计算两者的匹配分数,并除以维度 $d$ 的平方根防止数值过大。
- Softmax 归一化$\sum_{j'=1}^{M} \exp(\cdot)$ 把所有视觉区域的分数归一化,使权重之和等于 1。
- 注意力权重$\alpha_{ij}$ 是第 $i$ 个词对第 $j$ 个视觉区域的关注强度。
模型训练策略
一个找路新人不可能第一次就走对。他需要两种学习方式:一种是有朋友带路,把关键转角和地标顺序记下来(模仿学习);另一种是独自尝试,走错了受点小挫折、走对了得到表扬(强化学习)。VLN 模型也是如此训练出来的。
模仿学习(Behavior Cloning)的思路很直接:给智能体看大量“专家轨迹”——在某条指令下,专家如何一步步走到终点——让它学习“看到什么状态,就该做什么动作”。强化学习则更进一步:让智能体自己与环境交互,根据是否到达、是否绕路获得奖励信号,从而优化策略。
实践中两种方法各有短板:纯模仿学习遇到没见过的状态容易犯错,纯强化学习又面临奖励稀疏、探索困难的挑战。因此业界主流是“预训练表示 + 模仿学习初始化 + 强化学习微调”三步走——先用海量图文数据预训练视觉语言模型,让智能体具备基本的语义理解能力;再用专家轨迹做模仿学习,学到一个“能走”的初始策略;最后用强化学习微调,让策略更稳健、更高效。
就像新人先跟着朋友走几遍,再自己拿便条练习,每走错一次就记住一个“坑”。最终他不再依赖朋友,独立完成找路。VLN 模型从“照抄答案”到“自主探索”的过程,与人学习认路并无二致。
- 轨迹采样$\tau \sim \pi_\theta$ 表示轨迹 $\tau$ 由当前策略 $\pi_\theta$ 与环境交互生成。
- 折扣累积奖励$\sum_{t=1}^{T} \gamma^{t-1} r_t$ 把所有时间步的奖励 $r_t$ 累加,其中 $\gamma$ 是折扣因子(通常小于 1),让越早的奖励越重要还是越不重要。
- 期望运算$\mathbb{E}$ 表示对大量轨迹取平均,因为单次轨迹有随机性,不能只看一次结果。
- 优化目标$J(\theta)$ 是策略的期望回报,训练过程就是寻找让 $J(\theta)$ 最大的参数 $\theta$。
评估体系指标
朋友问:“找到我家了吗?”你说找到了。他又补了一句:“可我看你的步行轨迹,绕了整整半个小区!”——到是到了,但效率太差。评价一个找路人,光问“到没到”不够,还要看“绕没绕路”。这就是 VLN 评估指标存在的意义。
VLN 最核心的评估指标是 SR(Success Rate,导航成功率),它只关心智能体是否到达目标位置。但 SR 有个明显缺陷:它不惩罚绕路。一个智能体哪怕在小区里转了三圈才找到红色书房,SR 依然可能是 100%。因此研究者提出了 SPL(Success weighted by Path Length,路径加权成功率),把路径效率也纳入考量。
除了 SR 和 SPL,常用的还有 TL(Trajectory Length,实际轨迹长度)和 NE(Navigation Error,终点与目标的欧氏距离)。其中 SPL 是最常用的综合指标:它等于成功率乘以“最短路径长度与实际路径长度之比”,既奖励到达终点,也惩罚走弯路。
一个真正优秀的“找路人”,不只要到达终点,还要以接近最短路径的方式到达。SPL 就是那个给绕远路者扣分的裁判,它提醒我们:在真实场景中,导航效率与导航成功率同样重要。
- 成功标志$S_n$ 表示第 $n$ 条测试轨迹是否成功到达终点,成功为 1,失败为 0。
- 最短路径$l_n^*$ 是第 $n$ 条轨迹从起点到终点的理论最短距离。
- 实际路径$l_n$ 是智能体实际走过的轨迹长度。
- 效率比$\frac{l_n^*}{\max(l_n, l_n^*)}$ 是一个 0 到 1 之间的值,绕路越多,比值越小。
- 全体平均$\frac{1}{N} \sum_{n=1}^{N}$ 对测试集中所有样本求平均,得到整体 SPL 分数。
工具链数据集
要让一个新人学会在“任何陌生城市”找路,不能只在一个小区里练。他需要很多不同小区的地图、很多朋友写的便条、以及每一条便条对应的“标准答案”。对 VLN 模型来说,这些“地图 + 便条 + 答案”就是数据集与仿真环境。
VLN 领域最具代表性的数据集是 Room-to-Room(简称 R2R)。它基于 Matterport3D 全景图像,覆盖 90 多栋真实建筑的室内场景,标注了超过 2.1 万条自然语言导航指令,以及每条指令对应的参考路径。每一条数据都告诉模型:给出一句话,从哪个起点出发,走过哪些里程碑,最终停在哪个位置。
在训练和评测时,研究者通常使用 Matterport3D Simulator 仿真器。该仿真器支持第一视角图像渲染、离散动作控制(前进、左转、右转、停止)以及专家路径回放。R2R 数据集被划分为训练集、验证集和测试集,其中测试集的标注不公开,保证评测的公平性。
工具链就像一座“找路训练基地”:仿真器是操场,R2R 是练习册,评测代码是考官。没有这些基础设施,再聪明的模型也只是纸上谈兵——它们让“懂语言、看环境、走对路”这件事变得可重复、可比较、可进步。
- 指令$I_n$ 表示第 $n$ 条自然语言导航指令,例如“穿过灰色木门,沿着蓝色长廊走到旋转楼梯”。
- 参考路径$P_n$ 是与指令对应的专家轨迹,记录每一步的动作序列。
- 目标位置$G_n$ 是导航终点在场景中的坐标。
- 数据集合$\mathcal{D}$ 是所有这些三元组的集合,是训练和评估的基础。
行业应用实践
那个曾经看不懂便条的新人,如今成了同事眼中的“路路通”。他开始被安排送快递、给新邻居带路、帮助视力不好的老人去便利店——这正是 VLN 技术走向行业的缩影:从读懂一张便条,到服务于真实世界的各类导航任务。
在行业场景中,VLN 的价值体现在让机器“听懂人话”并“看懂环境”。最具代表性的三个方向是:室内服务机器人(酒店配送、餐厅上菜)、AR 实景导航(商场找店、展馆导览)、无障碍出行辅助(帮助视障人士认知周围环境)。这些场景的共同点是:环境结构化复杂、难以用纯 GPS 定位、但人类天然习惯用语言指引方向。
技术落地时,VLN 模型需要与 SLAM 定位、路径规划、人机交互等模块深度集成。衡量系统优劣的关键不再只是导航成功率,而是“无人工干预完成率”(ASR, Automation Success Rate)。因为在实际部署中,每一次人工介入都意味着运营成本增加——一个需要频繁求救的“找路机器人”,是无法规模化商用的。
从实验室里的“带路便条”,到酒店里穿梭送货的机器人、眼镜里叠加指引箭头的 AR 导航,VLN 沿着“理解语言、识别地标、做出决策”这条主线不断延伸,让机器真正成为现实生活中“听得懂、带得对”的向导。
- 无人干预任务数$N_{\text{无人干预}}$ 表示整个过程中无需人类接管的导航任务次数。
- 总任务数$N_{\text{总任务}}$ 表示统计周期内全部导航任务的总数。
- 百分比换算$\times 100\%$ 将比值换算成百分数,方便团队设定部署门槛。
AI 应用场景
酒店配送机器人
阶段:部署与推理阶段
解决的问题:传统配送机器人只能按预设路线或二维码巡线,客人如果说“把外卖放到 305 房间门口”或“放到前台旁边的茶几上”,机器人无法理解。引入 VLN 指令理解后,机器人能把自然语言指令转化为具体导航目标,并按语义识别房间门牌和公共区域地标,实现灵活配送。
具体案例:某连锁酒店在 20 台配送机器人上部署 VLN 模型。顾客发送“请把拖鞋送到 305 门口”,机器人自动规划路线,途中识别“电梯口”“蓝色走廊”等地标,最终准确停在 305 门前,全程平均耗时 2 分 40 秒,无人工干预完成率达到 94%。
AR 实景导航
阶段:感知与融合阶段
解决的问题:大型商场中,用户常因看不懂二维地图而迷路。传统室内定位依赖蓝牙或 WiFi 指纹,无法结合“看到那个咖啡色大门右转”这类自然语言描述。通过 VLN 的地标识别与视觉语言融合,AR 眼镜能把语音指令映射为实景中的导航箭头与地标高亮。
具体案例:某商场 App 推出 AR 寻店功能。用户说“带我去东区 2 楼的奶茶店”,系统解析“东区 2 楼”的区域语义与“奶茶店”的目标类型,借助摄像头识别沿途门店招牌和扶梯地标,在画面中叠加行进箭头,将找店时间平均缩短 40%。
视障人群出行辅助
阶段:感知-规划-反馈全流程
解决的问题:视障人士在室内外出行时,很难快速确认“自己走到哪了、该往哪转”。VLN 技术可以把第一视角相机画面与口头指令结合,将导航过程转化为“地标确认 + 方向提示”的语音服务,像朋友引路一样边走边播报。
具体案例:一款视障辅助 App 接入 VLN 模型后,用户对手机说“带我去最近的便利店”,系统实时识别沿途的红绿灯、台阶、店铺招牌等参照物,并通过骨传导耳机反馈:“左前方有邮局,继续直行 10 米,向右转进入便利店。”
Python 演示
import re # 极简VLN演示: 指令解析 -> 地标识别 -> 逐步导航# 环境: 5x5 网格世界, 关键位置放置地标 GRID_SIZE = 5 LANDMARKS = { "灰色木门": (1, 2), "蓝色长廊": (3, 3), "旋转楼梯": (2, 4), "红色书房": (1, 4),} START_POS = (0, 0) class SimpleVLN: def __init__(self): self.pos = list(START_POS) def parse_instruction(self, instruction): """按出现顺序抽取指令中的地标""" return [name for name in LANDMARKS if name in instruction] def visible_landmarks(self): """返回当前格子周围可见的地标 (曼哈顿距离 <= 3)""" x, y = self.pos visible = [] for name, (lx, ly) in LANDMARKS.items(): dist = abs(lx - x) + abs(ly - y) if dist <= 3: visible.append((name, dist)) visible.sort(key=lambda item: item[1]) return visible def step_to(self, target): """向目标地标所在位置移动一格""" x, y = self.pos tx, ty = LANDMARKS[target] dx, dy = tx - x, ty - y if dx != 0: x += 1 if dx > 0 else -1 else: y += 1 if dy > 0 else -1 self.pos = [x, y] def navigate(self, instruction): """执行一次完整导航""" targets = self.parse_instruction(instruction) if not targets: return False for target in targets: guard = 0 while tuple(self.pos) != LANDMARKS[target] and guard < 12: visible = [n for n, _ in self.visible_landmarks()] if target not in visible: print(" 地标未进入视野, 按记忆继续前进") self.step_to(target) guard += 1 print(" 到达地标:", target, "位置:", tuple(self.pos)) return tuple(self.pos) == LANDMARKS["红色书房"] def main(): agent = SimpleVLN() instruction = "从大门出发, 穿过灰色木门和蓝色长廊, 走到旋转楼梯, 最后抵达红色书房" print("指令:", instruction) print("起点:", tuple(agent.pos)) success = agent.navigate(instruction) print("结果:", "成功到达红色书房" if success else "导航失败") if __name__ == "__main__": main()
return [name for name in LANDMARKS if name in instruction]这是“指令理解”的极简版:从句子中抽取包含的地标名,模拟语言与环境的“对齐”起点。visible.sort(key=lambda item: item[1])按距离排序可见地标,模拟智能体“优先关注近处参照物”的视觉搜索机制。if target not in visible: print(" 地标未进入视野, 按记忆继续前进")模拟地标不在视野时的决策:依靠记忆继续前进,对应真实系统中的历史状态建模。while tuple(self.pos) != LANDMARKS[target] and guard < 12:反复移动直到到达目标地标,或超过最大步数,体现了导航中的“逐步逼近”策略。instruction = "从大门出发, 穿过灰色木门和蓝色长廊, 走到旋转楼梯, 最后抵达红色书房"一条典型的 VLN 指令,包含多个地标与顺序关系。success = agent.navigate(instruction)执行完整导航流程,返回是否成功抵达最终目标“红色书房”。
常见误区
误区初学者常认为 VLN 就是把自动驾驶导航和物体检测两个模块拼在一起,视觉部分负责识别物体,导航部分负责走路,两者互不干扰。
正解VLN 的核心难点在于语言指令的结构化理解与视觉观察的动态对齐。它不仅要认出“门”,还要理解“穿过门”和“停在门前”的空间语义差异;不仅要找到“蓝色长廊”这个物体,还要把它放在“沿着走到底”的路径语境中。正如读便条时,你不能只认字而不理解句子的行动意图。
为何常见:因为“视觉”和“语言”在大众认知中分属两个领域,初学者容易先入为主地认为把两个现成模型简单连起来就是 VLN,忽略了跨模态交互的复杂性。
误区以为地标识别就是用 Faster R-CNN 或 YOLO 把图像中的门、楼梯、亭子框出来,得到类别标签就完事了。
正解物体检测回答“是什么”,地标识别回答“是不是指令里要的那个参照物”。同一个门,在“穿过灰色木门”里是地标,在“从红色大门进去”里可能只是背景。地标识别必须结合文本语义、空间关系和任务上下文做综合判断,而不是单纯打标签。
为何常见:因为两者都依赖视觉特征提取,且常见的算法框架相似,让人误以为只是“换个数据集做检测”。
误区认为只要导航成功率(SR)高,模型就足够优秀,可以大规模部署。
正解SR 只衡量“有没有到”,完全不关心“绕了多少路”。一个智能体如果每次都在小区里转三圈才找到朋友家,SR 仍是 100%,但 SPL 会很低。在真实场景中,绕路意味着时间成本和能耗上升,因此必须同时参考 SPL 等路径效率指标。
为何常见:人类习惯用“到没到”作为导航成败标准,容易忽略路径效率这一工程维度。
误区认为 VLN 模型的训练和测试可以直接使用高德、百度地图这类真实导航 app 的数据和环境。
正解VLN 需要“视觉-语言对齐”的仿真环境,如 Matterport3D Simulator。它提供第一视角彩色图像、离散动作空间和可回放的专家路径,用于训练智能体的视觉语义理解。真实 GPS 导航只有经纬度和道路拓扑,缺少“灰色木门”“旋转楼梯”这类视觉地标信息,无法支撑 VLN 的训练。
为何常见:因为听到“导航”就下意识联想到手机地图应用,忽略了 VLN 的“视觉语言”本质。
误区认为只要用强化学习训练,智能体就能自己学会导航,无需太多人工设计。
正解VLN 动作空间大、奖励信号稀疏,纯粹用 RL 从零训练很容易不收敛或收敛到次优策略。业界普遍采用“视觉语言预训练 + 模仿学习初始化 + 强化学习微调”的组合路线。没有良好的预训练表示,RL 很难在复杂环境中找到有效的导航策略。
为何常见:对强化学习的“万能优化器”印象过于理想化,忽略了它在高维视觉语言任务中的样本效率瓶颈。
面试题
Q1. VLN 任务中,Agent 的核心输入是什么?
- A.卫星地图和 GPS 信号
- B.自然语言指令和视觉观察← 正确答案
- C.语音指令和加速度计数据
- D.深度图像和激光雷达点云
答案:B。VLN 的输入是自然语言指令和第一视角视觉画面。卫星地图与 GPS 属于传统导航的输入,缺少语义语言;语音与加速度计、深度图像与雷达都不是 VLN 的核心输入。就像你找朋友家,靠的是“语音便条 + 眼睛看路”,而不是 GPS 坐标。
Q2. 下列哪一组都属于典型的地标?
- A.蓝色小亭子、旋转楼梯、红色大门← 正确答案
- B.门牌编号、经纬度、海拔高度
- C.手机信号、WiFi 名、蓝牙地址
- D.路灯编号、路面材质、轮胎型号
答案:A。地标是环境中可被视觉感知、具有空间参照作用的物体。蓝色小亭子、旋转楼梯、红色大门都有清晰的视觉外观和空间方位,是典型地标。门牌号与经纬度是无形的语义信息,WiFi 和蓝牙属于信号,不是视觉地标。
Q3. BERT 在 VLN 指令理解中主要负责什么?
- A.提取图像的像素级特征
- B.把自然语言指令编码为语义向量← 正确答案
- C.规划导航路径并实时避障
- D.生成全景图像增强现实
答案:B。BERT 是语言编码器,它把整句指令编码成带有上下文信息的语义向量,供后续视觉语言融合模块使用。它不处理图像、不规划路径,也不生成图像。就像你读便条时,BERT 负责“读懂话”,而不是替你“看路”或“迈腿”。
Q4. SPL 指标在 SR 的基础上额外考虑了?
- A.计算资源的整体占用率
- B.路径长度与最短路径的比值← 正确答案
- C.视觉特征提取的质量
- D.语言指令本身的长度
答案:B。SPL 在 SR 的基础上引入路径效率因子,用最短路径长度除以实际路径长度。绕路越多,SPL 越低。它不考虑计算资源、视觉特征质量或指令长度。就像朋友不仅问“到没到”,还会看你有没有绕着小区兜圈子。
Q5. 跨模态注意力中的 Query 来自哪一侧?
- A.视觉侧的特征输出
- B.语言侧的语义特征← 正确答案
- C.动作侧的状态特征
- D.奖励侧的反馈特征
答案:B。在 VLN 的跨模态注意力中,Query 通常来自语言侧(指令中的 token),Key 和 Value 来自视觉侧(图像区域)。这样模型能计算“每个词应该关注画面的哪个区域”。正如你默念“蓝色长廊”时,目光会去寻找画面中的长廊。
Q6. Room-to-Room 数据集的主要特点是什么?
- A.只包含室外道路的抓拍图像
- B.指令路径成对的室内导航数据← 正确答案
- C.纯文本形式的问答训练数据
- D.没有语言标注的纯视觉数据
答案:B。R2R 数据集基于 Matterport3D 室内全景图构建,包含 2.1 万余条自然语言指令与对应的参考路径,是“指令-路径”成对的室内导航数据。它不包含室外道路图像,也不是纯文本或纯视觉数据。
Q7. 模仿学习在 VLN 训练中的作用是什么?
- A.让智能体学习专家轨迹获得初始策略← 正确答案
- B.让智能体随机探索环境收集经验
- C.让智能体自行设计奖励函数
- D.让智能体生成新指令用于训练
答案:A。模仿学习通过监督学习让智能体拟合专家轨迹,获得一个“能走”的初始策略,为后续强化学习提供良好起点。随机探索是 RL 的行为,设计奖励是人工工作,生成新指令属于数据增强范畴。
Q8. VLN 模型主要的训练方法有哪些?
- A.预训练与微调范式← 正确答案
- B.模仿学习专家轨迹← 正确答案
- C.强化学习奖励优化← 正确答案
- D.遗传算法种群进化
答案:ABC。VLN 主流训练路线包括:大规模图文预训练加微调、模仿学习学专家轨迹、强化学习优化奖励。遗传算法不是 VLN 领域的主流方法。就像新人找路先看地图(预训练)、跟朋友走一遍(模仿)、再自己试错(强化)。
Q9. 下列哪些指标属于 VLN 评估体系?
- A.导航成功率 SR← 正确答案
- B.路径加权成功率 SPL← 正确答案
- C.轨迹长度与导航误差← 正确答案
- D.GPU 显存利用率
答案:ABC。SR 衡量是否到达,SPL 衡量路径效率,轨迹长度(TL)和导航误差(NE)也是 VLN 常用指标。GPU 显存利用率是工程性能指标,不属于导航能力评估。就像评价一个找路人,要看“到没到”“绕没绕”“偏多远”,而不是看他穿什么鞋。
Q10. 在导航过程中,地标识别需要结合哪些信息?
- A.视觉特征外观颜色形状← 正确答案
- B.空间位置相对方位距离← 正确答案
- C.指令语境中的角色定位← 正确答案
- D.网络延迟与带宽损耗
答案:ABC。地标识别要综合视觉外观(颜色、形状)、空间位置(方位、距离)和指令语境(这个地标在任务中的角色),才能准确判断“是不是指令里说的那个”。网络延迟与带宽属于通信指标,不影响地标识别本身。