元探索:基于场景对象谱的探索性分层视觉和语言导航
Essay Address:[2303.04077] Meta-Explore: Exploratory Hierarchical Vision-and-Language Navigation Using Scene Object Spectrum Grounding (arxiv.org)
Project Navigation: rllab-snu.github.io/projects/Me…
🅰论文背景与贡献
1、概念与背景
虚拟导航是指在虚拟环境中进行导航任务,进一步可以说是像原神或王者荣耀中的探索峡谷地图任务😉。与此同时,视觉与语言交互技术成为一个新兴交叉的热点。近年来,研究者希望智能体在对视觉和语言信息有效处理的基础上通过跨模态语义对齐实现对新环境和人类意图的准确感知,并要求在感知前提下自主做出路径规划和行为决策。
Peter Anderson等人于2018年首先提出视觉语言导航任务,并且公开了与任务相对应的基于真实环境的R2R数据集,并在Matterport-3D模拟器上完成了仿真。
2、问题与挑战
由上图可以看出VLN和VQA的相同点在于都可以被公式化成为基于视觉的序列到序列编码和解码的问题。但视觉语言导航的序列比VQA更长,并且在使用真实图像的视觉语言任务中,VLN是唯一输出操作(a0、a1、... aT)以操纵相机视角的转动。
通过对VLN领域中大量代表性工作进行梳理和总结,在复杂的虚拟环境中导航任务面临的关键性挑战大致分为以下三方面:
- 跨模态语义难以对齐
- 语言是多字符组合,视觉对应的图像区域是具备二维空间关系的多通道像素值的组合,数据差异性很大
- 语义理解与推理困难(导航任务部分)
- 人类不可能给出带有详细移动步骤的指令,智能体需要识别出指令包含的关键场景和物体,并将语义信息与视觉信息一同进行推理,而后得到动作空间的路径规划,并将其分解为一系列执行步骤。很大难点在于,指令的语义与行为的细粒度对齐关系通常较少在训练数据中显式地进行标注 ,因此要求具备自主的推理能力
- 模型泛化能力较弱
- 场景泛化能力——由于光照、视角等因素变化,来自新环境的视觉模态输入本身具有不同特性信息,智能体首要对其进行准确的感知和理解,才能继续后续的导航任务
- 指令泛化能力——受到数据采集和标注等因素的限制,训练数据中指令有限,面对新的多样的指令信息如何学习和理解
- 行为泛化能力——能够理解新指令还不够,准确完成指令对应的动作非常困难
看一下2018年Anderson的值得一提的贡献就是这个验证实验,这里的student-forcing训练方法是使用自己生成的输出作为输入的,结果在训练环境和新环境下成功率分别为38.6%和21.8%,差异显著,说明泛化能力从那时起就成为一个经典挑战。
3、本文所研究问题
主要挑战:如何理解未知环境的自然语言指令
主要局限:如果一个动作是错误的,那么智能体无法遵循指令或探索不必要的区域,从而导致导航走上不可恢复的道路。
这张图理解一下,就是智能体反复探索局部区域,但是找不到目标位置,这种情况叫做regretful exploitation problem 。
4、本文主要贡献
Ⅰ 提出一种新颖有效的基于场景对象谱的探索性分层视觉和语言导航方法Meta-Explore,该方法通过结合探索和利用策略,实现高效、精准的虚拟导航。
Ⅱ 提出了一种新的视觉表示方法——场景对象谱(Spectral-domain Object Spectrum, SOS),用于指导导航过程。该方法可以有效地捕捉场景中物体之间的关系,并提供有用的语义信息线索。
Ⅲ 在3个常用的评估虚拟导航代理程序性能的基准测试集(R2R、SOON和REVERIE)上对Meta-Explore方法进行了实验验证,并与其他基线方法进行了对比。实验结果表明,Meta-Explore方法在测试集上取得了较好的表现,尤其在SOON测试集上相比其他基线方法提高了**17.1%的成功率和20.6%**的SPL值。
🅱Meta-Explore方法框架
总结:借助SOS视觉表达获得语义上有意义的线索,利用模式选择器构建包含探索和利用两个模块在内的分层导航模型
1️⃣模式选择器
首先,从本文补充材料中拿出来的Meta-Explore的整体框架给大家讲一讲。
1、初始化和拓扑图(路径规划中最短路径问题一般都要用到这个Dijskra算法或者是A*算法),先是随机探索更新拓扑图和节点对应物体特征、全景RGB特征以及语言指令。
2、这里有一句在 时间t 情况下cross-modal embedding是指将视觉信息和语言信息加权求和,生成代表当前状态的隐藏状态的过程。具体来讲,就分成:
第一部分,预处理完了之后,作者用ResNet-101作为卷积神经网络模型进行特征提取,这里在Exploitation模块中是利用场景对象谱这个方法把物体信息捕捉到频谱域上的。
第二部分,就是用Transformer网络将导航指令转换成特征向量
第三,就是交叉注意力机制,对视觉特征和语言特征进行加权求和,并且输出一个代表当前状态的隐藏状态,叫做 Hidden State
最后,为了考虑到历史节点的影响,将访问过的节点信息进行编码融合,赋值给Ht
接着看算法,下面就用到了 这个值,就是用到了模式选择器,如果 大于0.5,那么就探索模式,如果小于0.5就转换成利用模式。最下面这里的 其实就是模式选择器,它来调节 的大小,进而决定下一步行动的模式。
然后让我们看看论文里关于选择器的一些图:
上面这张就解释了cross-modal embedding的交叉注意力机制,生成的Ht,也就是隐藏状态Hidden State通过FFNN机制(也就是前馈神经网络)输出 ,再由各自模块生成行动向量 来执行相应的动作。具体如何输出如下,借助FFNN和特征权重矩阵。
2️⃣探索模块——随机探索,更新拓扑图
1、拓扑图构建主要分成2部分,就是要将环境中节点分为两类,已访问和未访问,未访问的意思就是智能体没到达但是可以看得到。然后对那些未访问的节点进行边缘连接。
2、自我监督就是利用2层前馈神经网络来得到估计值A,跟真实值B比较,我图上面不应该加绝对值的这块,意思就是如果A=B那就按照最短路径上选择下一个候选节点,如果A>B那么说明智能体根据预测跑快了,所以要保守一点行动;如果A<B那么说明智能体根据预测跑慢了,所以要激进一点行动。
3、最后探索策略,根据算法来看,是根据Softmax函数实现的,
根据后面补充材料以及相关的资料,我大致认为是这样计算的:
也就是,智能体会将未访问节点的探索概率通过softmax来生成一个权重的概率分布,随机选择一个未访问节点,并将其作为下一步要前往的目标。
(这里之所以屏蔽了已访问节点的探索概率计算,就是为了增强智能体的鲁棒性,避免陷入局部最优解的情况)
原文:但是这里也很奇怪,为什么算法写成max?
3️⃣利用模块
下图展示了算法过程,首先将未访问但可以观察到的节点加入拓扑图中,通过导航得分来确定一个局部目标点,然后需要通过路径规划到达那个局部目标点。
最后总结其中的技术难点在于:
1、SOS如何实现可搜索范围扩大?
2、局部目标是根据导航得分确定的,那导航得分是如何计算的?
3、规划路径到局部目标
👀有新型的视觉表达方式,SOS场景对象谱,主要技术体现在二维傅里叶变换上。主要就是用SGCN方法来生成物体信息表示,可以将物体信息捕获在频谱域上,并且比RGB图像嵌入等方式更加易于预测
局部目标搜索:
🔴Step 1 在SOS中,智能体使用SGCN生成的频谱域中的物体信息来构建目标向量,将其与周围所有可观察节点之间的特征向量进行比较,计算它们之间的语义相似度,选择相似性得分最高的节点确认为目标节点。(语义相似度基于余弦相似度的方法,智能体将该节点特征向量与周围所有观察节点之间的特征向量进行内积计算,并将结果除以各自的模长得到)
🟢Step 2 智能体使用Dijskra算法或者A*算法在拓扑图上规划路径,将自然语言指令解析成一个包含关键词和描述词汇的列表,并将其与已规划的路径进行比较。然后,它使用一种基于余弦相似度的方法来计算对齐程度得分
🆑导航实验部分
1、VLN数据集=过程驱动数据集+目标驱动数据集
-
R2R数据集 <过程驱动>
第一个基于真实室内场景的最常用的数据集。下图中, 上半部为智能体沿某条路径运动时的场景图序列, 蓝色箭头表示当前场景下一步的运动方向; 下半部为该路径对应的 3 条指令, 指令中的颜色标注与上半部路径图像序列的方框颜色相对应。
-
SOON数据集<目标驱动>
-
REVERIE数据集<目标驱动>
特点:指令着重关注对于目标物体的描述, 而移动过程则非常简略, 目的是评估智能体自主导航并准确识别寻找目标物体的能力。
2、评价指标(评估智能体导航准确性)
- Navigation Score主要关注路径规划方面的表现,包含了路径长度 TL、成功率 SR、成功率加权逆路径长度 SPL、使用Oracle策略计算的导航任务成功率 OSR。
- Object grounding performanc则主要关注代理人在识别和定位目标物体方面的表现,包含了目标发现成功率 FSR和目标发现成功率加权逆路径长度 FSPL。
3、比较类型和方法的设置
- For each tasks:recurrent, sequential, and topological map
- For specific exploitation methods: homing,jump和local goal search
4、与常见VLN基准测试集比较
在R2R数据集上,Meta-Explore方法相对于其他探索型和层次型基线方法都取得了更好的表现。具体来说,Meta-Explore方法在所有验证集和测试集划分中都优于其他探索型基线方法,在成功率和SPL等指标上均取得了更好的表现。此外,Meta-Explore方法还优于SMNA、Regretful-Agent、FAST和SSM等层次型基线方法,在成功率方面取得了更好的表现。
在SOON数据集上,Meta-Explore方法相对于其他基线方法并没有明显的优势。虽然Meta-Explore在测试集未见过场景中取得了较好的表现,但在验证集和测试集已见过场景中并没有明显优势。
在REVERIE数据集上,由于该数据集是一个新颖的多模态导航任务,因此没有可比性的基线模型。但是,在实验结果中可以看出,Meta-Explore相对于随机探索策略有所提升,并且可以通过Meta-Explore来适应不同的导航场景。
综合来看,Meta-Explore方法在R2R数据集上表现较好,在SOON数据集上表现一般,在REVERIE数据集上也有一定的提升。这一结论表明,Meta-Explore方法可以适用于不同类型的导航任务,并且具有一定的泛化能力。
(❗但注意上述结果仅适用于确定的三个数据集,在实际应用中,还需要考虑模型的可扩展性、鲁棒性等因素,并进行更加全面和深入的评估)
5、与不同类型的局部搜索方式比较
该部分通过实验比较了使用不同类型的局部目标搜索方法对导航任务性能的影响,并分析了SOS特征在导航任务中的作用。作者使用了R2R数据集和SOON数据集进行评估。其中,R2R数据集是一个基于自然语言描述的导航任务,SOON数据集则是一个基于视觉图像的导航任务。对于这两个数据集,作者分别使用了Oracle、Random、Greedy和SOS四种不同类型的本地目标搜索方法,并比较了它们在成功率和SPL等指标上的表现。 实验结果表明,在R2R数据集上,使用Oracle方法可以取得最好的性能;而在SOON数据集上,使用SOS方法可以取得最好的性能。此外,在两个数据集上都发现,相对于Random和Greedy方法,SOS方法可以显著提高导航任务性能。
在补充材料中有个局部目标搜索对比图的例子:
6、消融研究
补充材料中的结果表明,在空间、光谱和语言三个表示域中,光谱域特征对导航性能的增强最大。