【论文阅读-基于VilLBERT方法的导航】Vison-Language Navigation 视觉语言导航(2)

news2024/11/16 0:38:43

文章目录

  • 1. 【2023ICCV】Learning Vision-and-Language Navigation from YouTube Videos
    • 摘要和结论
    • 引言
    • Building VLN Dataset from YouTube Videos
    • 模型框架
    • 实验
  • 2. 【2021ICCV】Airbert: In-domain Pretraining for Vision-and-Language Navigation
    • 摘要和结论
    • 引言
    • BnB Dataset
    • Airbert: A Pretrained VLN Model
    • 实验
  • 3. ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks
    • Backbone
    • pretext task

1. 【2023ICCV】Learning Vision-and-Language Navigation from YouTube Videos

在这里插入图片描述

摘要和结论

  • 视觉和语言导航(VLN)需要一个具身的智能体在现实的3D环境中使用自然语言指令进行导航。现有的VLN方法在小规模环境或不合理的路径指令数据集上进行训练,限制了对不可见环境的泛化。
  • YouTube上有大量的房屋游览视频,提供了丰富的真实导航体验和布局信息。然而,这些视频之前还没有为VLN进行过探索。
  • 在本文中,我们提出通过创建一个大型数据集来从这些视频中学习智能体,该数据集包含来自房屋参观视频的合理路径-指令对(path-instruction pair),并在其上预训练智能体。
  • 为了实现这一点,我们必须解决自动构建路径-指令对的挑战,并从原始和未标记的视频中挖掘真正的布局知识。为了解决这些问题,我们首先利用基于熵的方法来构建路径轨迹的节点。然后,我们提出了一个动作感知生成器,用于从未标记的轨迹生成指令。最后,我们设计了一个轨迹判断pretext任务来激励智能体挖掘布局知识。
  • 在这项工作中,我们提出了一种新方法 Lily,通过从真实的房屋参观视频创建大规模的类似 VLN 的数据集来训练我们的实体代理,从而解决现有视觉和语言导航 (VLN) 方法的局限性。我们克服了自动生成路径指令对的挑战,通过利用基于熵的轨迹构建方法和用于指令生成的动作感知生成器,从原始和未标记的视频构建数据集 (人类会根据环境的布局来判断导航轨迹的合理性)

引言

VLN 的关键挑战之一是代理对不可见环境的泛化能力。现有的 VLN 方法试图通过 对视觉和语言数据集进行自我监督预训练 来应对这一挑战。如图 1 (a) 所示,之前的一些工作 在模拟导航环境和手动标记数据上学习代理。其他作品试图利用 网络图像数据构建路径指令对,如图1(b)所示。尽管它们的性能很有前途,但现有的代理仍然受到以下限制。
1)模拟数据集的训练仅限于有限数量的环境。
2)通过简单地连接网络图像来构建轨迹会导致房间布局不合理,这阻碍了智能体学习布局推理能力。
因此,接受此类数据训练的 VLN 代理很难适应看不见的环境。

在这里插入图片描述

我们提出了一个“Lily”智能体,可以从 YouTube 视频中学习视觉和语言导航。具体来说,我们首先从家庭旅游 YouTube 视频中开发一个域内预训练数据集,即 YouTube-VLN,它包含类似 VLN 的路径指令对。我们的 YouTubeVLN 数据集具有多样化环境、真实布局和原生操作的优势,缩小了与 VLN 数据集的领域差距,如图 1 © 所示。然后,我们使用这些路径指令对来预训练代理。受益于我们提出的数据集的域内预训练,我们的代理可以很好地推广到未见过的环境。

然而,构建这样的数据集是一项艰巨的工作, 1)由于轨迹中的节点预计是多样化且信息丰富的,因此很难从大量视频帧中确定轨迹节点的位置并表示节点中的视觉内容。2) 真正的 VLN 指令包括各种动作描述,但由于视频中隐含的动作,从导航剪辑中获得相应的指令具有挑战性。因此,获取轨迹上的匹配指令并非易事。3)真实导航体验的布局知识很难挖掘和模型,这阻碍了学习布局推理能力的代理。

我们的主要贡献如下:
• 为VLN 释放了房屋参观视频的巨大潜力。通过利用这些视频,我们引入了一个包含真实导航路径指令对的大规模数据集,用于促进 VLN 预训练,以及用于学习布局推理的自监督前文任务。
• 多样化的轨迹生成方法,以及动作感知指令生成器,创建信息丰富且多样化的轨迹节点并生成匹配指令,这两者都使路径指令对真实且高质量,用于训练 VLN 代理。
• 所提出的 trajectory judgment pretext task 允许模型建立以下意识:学习和推理布局知识, 这对于室内环境的VL​​N任务至关重要。我们还凭经验证明智能体确实具有布局学习能力。

Building VLN Dataset from YouTube Videos

3.1. Diverse Trajectory Generation

我们试图从YouTube视频中构建离散的导航轨迹。类似于离散导航数据集(例如R2R),每个轨迹包括K个导航节点,表示导航路径的不同位置。这需要解决两个主要挑战:
1)如何确定组成轨迹的位置以使轨迹更加多样化;
2)如何表示每个节点位置的视觉内容。为了应对这些挑战,我们首先从YouTube视频中收集大规模连续的室内帧。然后,我们根据相邻帧的房间类型对其进行分组,并将每组视为一个节点。最后,我们提出了一种基于熵的技术来选择组中信息量最大的帧来表示节点中的视觉内容。

受 EATA [45] 的启发,分类熵较低的图像更可靠,包含与特定类别(在我们的例子中为房间类型)相关的更多信息。

在这里插入图片描述

3.2 Action-Aware Instruction Generation
具体来说,我们首先根据Airbert从R2R数据集中的指令生成带有动词和名词 空格的模板
对于名词空白,我们用关于每个节点的视觉内容描述来填充它们。我们选择分类熵最低的框架(如第3.1节所述),并使用CLIP模型来推断其包含的对象,以及房间类型来填充名词空白。
对于动词空格,现有的指令生成方法无法用正确的动作词填充它们,因为它无法计算从一个图像导航到另一个图像所采取的动作。这使得代理在观察到类似的观点转换但给出不同的动作描述时感到困惑。为了解决这个问题,我们提出了一种动作感知策略,用原生动作代替随机的不一致动作来填充指令模板
具体来说,我们按照训练一个动作逆模型,该模型对预测本地动作具有96%的预测准确率,用从一个位置节点到另一个位置的动作标签来伪标记轨迹。然后,预测的动作被转换为可操作的动词,即“向前走”、“向左转弯”和“向右转弯”。对于已经用一个节点的描述填充的每个名词空白,我们找到其最接近的动词短语空白,并用伪标记动作填充它,该动作被执行以到达下一个节点。这最终使我们能够创建动作感知指令。

模型框架

在这里插入图片描述
在这里插入图片描述

4.2Learning Layout from Trajectory Judgment 从轨迹判断中学习布局:轨迹判断任务旨在推断出合理的轨迹。我们将生成的轨迹视为正(合理的)样本,将打乱的轨迹视为负(不合理的)轨迹。
为了完成这项任务,需要对视觉信息进行推理并识别房间类型,然后推断轨迹是否与真实的环境布局分布匹配。具体来说,我们首先计算 [IMG] 和 [CLS] 令牌输出特征的点积。然后,我们将此向量特征馈送到线性层以预测指示轨迹是否合理的概率。该模型旨在最小化二元交叉熵损失:
在这里插入图片描述
在这里插入图片描述
如图3所示,我们遵循Airbert使用我们提出的轨迹判断任务预训练模型主干,此外还结合了其他三个现有的pretext任务,即掩蔽语言建模(MLM)、掩蔽视觉建模(MVM)和YouTube-VLN数据集上的路径排名(PR)。对于MLM,我们随机屏蔽掉指令中的单词,目标是恢复被屏蔽的单词。与MLM类似,MVM被设计用于预测被掩蔽的图像区域。PR是一个排序任务,旨在从几对路径指令中确定最匹配的路径指令对。

4.3. Adapting Pre-trained Backbone for VLN:

所有任务都基于Matterport3D模拟器。我们使用R2R作为面向目标的导航任务的基准,该任务分为判别性设置和生成性设置。至于面向对象的任务,我们在生成设置中的REVERIE上评估我们的模型。

判别性设置将 VLN 表述为路径选择问题,要求智能体从多个候选路径中选择与指令最匹配的路径。在判别设置下,我们利用路径排名借口任务中使用的分类器进行决策,并在 R2R 数据集上微调 Lily 代理。

**在生成设置中,智能体需要顺序预测动作以达到目标(R2R)或同时找到对象(REVERIE)。**我们采用 DUET [7] 作为微调架构,它将跨模态特征输入到前馈网络中进行决策。我们使用 Lily 代理初始化生成模型的文本转换器编码器和跨模式转换器编码器。请注意,我们的 Lily 代理可以应用于任何生成模型。更多详细信息可在补充材料中找到。

实验

在这里插入图片描述

在这里插入图片描述

2. 【2021ICCV】Airbert: In-domain Pretraining for Vision-and-Language Navigation

摘要和结论

  • 视觉和语言导航 (VLN) 旨在使具身代理能够使用自然语言指令在现实环境中导航。鉴于特定领域训练数据的稀缺性和图像和语言输入的高度多样性,VLN 代理对看不见的环境的泛化仍然具有挑战性。最近的方法探索了预训练以提高泛化,但是,使用通用图像标题数据集或现有的小规模VLN环境是次优的, 导致改进有限。
  • 在这项工作中,①我们介绍了 BnB,这是一个大规模多样的域内 in domain VLN 数据集。我们首先从在线租赁市场中的数十万个列表中收集图像标题 (Image Caption,IC) 对。②使用 IC 对,我们接下来提出了自动生成策略来生成数百万个 VLN 路径指令 (path-instruction,PI) 对。 ③我们进一步提出了一个混洗损失,提高了 PI 对内时间顺序的学习。我们使用 BnB 预训练我们的 Airbert2 模型,该模型可以适应判别和生成设置,并表明它在 Room-to-Room (R2R) 导航和远程引用表达式(Remote Referring Expression) (REVERIE) 基准测试中优于最先进的技术。此外,我们的域内预训练显着提高了具有挑战性的少样本 VLN 评估的性能,我们仅在来自少数房屋的 VLN 指令上训练模型。

引言

  • 在视觉和语言导航 (VLN) 中,代理被要求按照自然语言指令在家庭环境中导航 [3, 5]。

  • 有限的预训练环境没有使代理具备能够对看不见的房子进行概括的视觉理解能力。为了解决这个问题,VLN-BERT[28]提出在通用的图像字幕数据集上预训练代理,然而,这些图像字幕对与VLN代理所观察到的动态视觉流(路径)和可导航指令截然不同。这种 域外预训练 虽然很有前景,但只会给导航性能带来有限的增益。

  • 除了上述限制之外,现有的预训练方法在其代理任务(如一步动作预测[13]和路径指令配对[28])中并 不太重视时间推理能力,而这种推理对VLN等顺序决策任务很重要。因此,即使下游任务的性能得到改善,预训练的模型仍然可能是脆弱的。例如,通过交换指令中的名词短语,或用其他名词替换它们,对指令进行简单的破坏,会导致严重的混乱,因为模型无法选择正确的原始对。

  • (与摘要对应了)为了进一步缩小BnB预训练和VLN任务之间的领域差距,我们提出了一种将静态图像字幕对转换为视觉路径和类似导航的指令的方法,从而获得巨大的额外性能增益。我们还提出了一种混洗损失,通过学习路径和相应指令之间的时间对齐来提高模型的时间推理能力。

  • 相关工作: 得益于从网络自动收集的大规模图像标题对,视觉语言预训练(VLP)近年来取得了巨大突破。基于 Transformer 架构 提出了几种 VLP 模型 。这些模型通常使用类似于 BERT 中的自监督目标进行预训练:屏蔽语言建模、屏蔽区域建模和视觉文本配对。在下游数据集上对其进行微调,可以在各种 VL 任务上实现最先进的性能 。虽然这种预训练的重点是学习视觉和文本之间的相关性,但它并不是为实现 VLN 所需的顺序决策而设计的。 这项工作的目标不是改进 VLP 架构,而是提出域内训练策略,从而提高 VLN 任务的性能

BnB Dataset

我们建议使用Airbnb丰富和精心策划的数据进行大规模的域内VLN预训练。在本节中,我们首先描述如何从Airbnb收集图片说明对。然后,我们提出了将图像和字幕转换为类似VLN的路径指令对的方法,以减少网络抓取的图像字幕对和VLN任务之间的域差距(见图2)。

在这里插入图片描述

Airbert: A Pretrained VLN Model

4.1. ViLBERT-like Architecture:
在这里插入图片描述

在这里插入图片描述
[IMG] token 用于分离在不同位置拍摄的图像区域特征。

请注意,虽然我们的方法不限于类似 ViLBERT 的架构,但我们选择 ViLBERT 是为了与之前的工作进行公平比较 [28]。(后续可以考虑更好的模型)

4.2. Datasets and Pretext Tasks for Pretraining:

在这里插入图片描述
其中 f (X) 表示通过 Airbert 计算的 PI 对 X 的相似度分数 (logit)。匹配成功概率接近无穷时,log内算式趋近1,损失接近0;

4.3. Adaptations for Downstream VLN tasks:

我们考虑两个 VLN 任务:面向目标的导航(R2R [5])和面向对象的导航(REVERIE [34])。 Airbert 可以轻松集成到上述 VLN 任务的判别模型和生成模型中。
Discriminative Model判别模型: Navigation as Path-Selection。训练一个判别模型来选择其中的最佳路径。我们在 R2R 数据集上微调 Airbert 以进行路径选择。采用两阶段微调过程:在第一阶段,我们以类似于BnB PI对的方式对目标VLN数据集的PI对使用masking和shuffling losses;在第二阶段,我们选择一条到达目标 3m 以内的正候选路径,并将其与 3 条负候选路径进行对比。我们还比较了多种策略来挖掘额外的负对(除了 3 个负候选),事实上,经验表明使用洗牌创建的负数比其他选项表现更好。

Generative Model: Recurrent VLN-BERT
我们使用我们的 Airbert 架构作为其主干,并将其应用于两个任务,如下所示。
首先,语言transformer 通过自注意力对指令进行编码。然后,指令中的嵌入 [CLS] 标记用于跟踪历史并与每个动作步骤中的视觉标记(可观察的可导航视图或对象)连接。
使用嵌入指令上的自注意力和交叉注意力来更新状态和视觉标记[CLS],并使用状态标记到视觉标记的注意力分数来决定每一步的动作。我们以与 [15] 相同的方式使用 Airbert 作为主干微调循环 VLN-BERT 模型。

实验

我们对创建路径指令对的各种方法的影响进行消融研究。我们还提出了消融研究,强调了在 Airbert 的预训练和微调阶段使用混洗损失的影响。在本节中,我们的主要重点是未见验证集上的 SR,并将结果与 VLN-BERT [28] 进行比较,后者的 SR 为 59.26%。
在这里插入图片描述
表2显示了ConCaps预训练后使用BnB数据集的多种方式的性能。
天真的串联(第2行)只比使用IC对(第1行)稍微好一点,因为在过渡的流畅性和视觉上下文的缺乏方面仍然存在域偏移。行3-6示出了每种方法在一定程度上减轻了域偏移。指令改写(第3行)在改进指令方面比指令生成(第4行)表现得更好,这可能是因为生成器无法使用BnB字幕的不同词汇。在随机位置插入无字幕图像(第6行)显著减少了域偏移,并实现了最高的个人性能。最后,指令改写、图像合并和无字幕插入相结合,比串联整体提高了3.8%,比VLN-BERT提高了7.2%

在这里插入图片描述

shuffling 是训练模型推理时序的有效策略,并且强制PI对之间的对齐。

在这里插入图片描述

R2R模型训练的最后阶段包括对形成路径选择任务的多个候选路径进行微调排序。我们比较了改进这个微调过程的各种方法(结果见表4)。

在这里插入图片描述
表5显示,具有域内训练和洗牌损失的Airbert在涉及替换或交换名词短语的损坏方面取得了很大的改进(> 8%)。
在这里插入图片描述

在这里插入图片描述
通过向R2R排行榜提交我们的最佳方法来获得测试集的结果。从表8可以看出,我们的Airbert、speaker和follower组合方法(类似于有speaker和follower的VLN-BERT方法[10])的成功率最高,为77%

在这里插入图片描述

在这里插入图片描述

表9显示,在未见过的验证集上,Airbert在很大程度上优于VLNBERT

3. ViLBERT: Pretraining Task-Agnostic Visiolinguistic Representations for Vision-and-Language Tasks

翻译:ViLBERT: 视觉和语言任务的预训练任务无关的视觉语言学表示

在这里插入图片描述

Backbone

在这里插入图片描述

pretext task

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1481038.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaWeb之 Web概述

目录 前言1.1 Web和 JavaWeb的概念1.2 JavaWeb技术栈1.2.1 B/S架构1.2.2 静态资源1.2.3 动态资源1.2.4 数据库1.2.5 HTTP协议1.2.6 Web服务器 1.3 JavaWeb 学习内容 前言 博主将用 CSDN 记录 Java 后端开发学习之路上的经验,并将自己整理的编程经验和知识分享出来&a…

3.1作业

作业要求&#xff1a; 通过w(红色臂角度增大)s&#xff08;红色臂角度减小&#xff09;d&#xff08;蓝色臂角度增大&#xff09;a&#xff08;蓝色臂角度减小&#xff09;按键控制机械臂 程序代码&#xff1a; #include<myhead.h> #define SER_IP "192.168.126.…

《C++ Primer Plus》《10、对象和类》

文章目录 前言&#xff1a;1 过程性编程和面向对象编程2 抽象和类2.1 类型是什么2.2 C中的类2.3 实现类成员函数2.4 使用类 3 类的构造函数和析构函数3.1 声明和定义构造函数3.2 使用构造函数3.3 默认构造函数3.4 析构函数 4 this指针5 对象数组6 类的作用域6.1 作用域为类的常…

云计算 2月20号 (认识操作系统)

1、认识操作系统 计算机系统的组成 知识点1&#xff1a;没有软件系统的计算机称之为"裸机" 知识点2&#xff1a;裸机提供基本的可计算性资源 知识点3&#xff1a;操作系统是最靠近硬件的软件层&#xff0c;负责管理和控制计算机硬件。 计算机硬件组成五大部件 运算器…

1美元持有ZKFair PFP-CyberArmy,潜在收益分析

3月2日&#xff0c;ZKFair PFP-CyberArmy 将在 Element 上正式开始Public Sale。

C++基于多设计模式下的同步异步日志系统day2

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;C基于多设计模式下的同步&异步日志系统 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 主要内容实现了日志代码设计的实…

防御保护课程笔记

内容安全 防病毒 过滤技术 密码学

移动互联网时代的APP上架流程和要点

摘要 本文将介绍移动应用程序上架的基本流程和要点&#xff0c;包括应用商店注册、APP材料准备、打包上传App、APP审核以及发布APP的详细步骤。此外&#xff0c;还会提到利用appuploder工具简化iOS应用上架步骤的方法&#xff0c; 引言 在移动互联网时代&#xff0c;开发一…

【笔记】深度学习入门:基于Python的理论与实现(六)

深度学习 深度学习是加深了层的深度神经网络 加深网络 本节我们将这些已经学过的技术汇总起来&#xff0c;创建一个深度网络&#xff0c;挑战 MNIST 数据集的手写数字识别 向更深的网络出发 基于33的小型滤波器的卷积层。激活函数是ReLU。全连接层的后面使用Dropout层。基…

Laravel框架: Call to a member function connect() on null 异常报错处理

Laravel框架&#xff1a; Call to a member function connect() on null 异常报错处理 Date: 2024.03.01 21:03:11 author: lijianzhan 原文链接: https://learnku.com/laravel/t/63721 问题&#xff1a; local.ERROR: Call to a member function connect() on null {"…

win安装卸载python3.13

一、安装 访问python官网&#xff1a;https://www.python.org/ 点击“Downloads” 点击“Windows” 找到自己要下载的版本和位数&#xff0c;比如我这个是3.13版本、64位的安装包 下载好了之后&#xff0c;双击安装包 勾选“Add python.exe to PATH”&#xff1a;把python环…

线程安全的集合容器

线程安全的集合容器 List集合中的线程安全的集合容器&#xff1a; 在旧版本中Vector是线程安全的集合容器&#xff0c;在JDK 1.5以后CopyOnWriteArrayList也是线程安全的集合容器&#xff0c;CopyOnWriteArrayList的数据结构是Object类型的数组。 CopyOnWriteArrayList是如何…

【问题记录】pip install遇到“No space left on device“

一、pip安装包的过程中出现以下问题 二、问题溯源 【1】刚开始以为是空间不足&#xff0c;后来 df -h 看了一下&#xff0c;pip安装目录下空间绝对足够&#xff01;明显不是空间不足的问题。 【2】后来查了一下&#xff0c;发现是home目录下的空间满了&#xff0c;pip安装时&…

华为 OD 一面算法原题

2.2 亿彩票公布调查结果 昨天&#xff0c;闹得沸沸扬扬的《10 万中 2.2 亿》的彩票事件&#xff0c;迎来了官方公告。 简单来说&#xff0c;调查结果就是&#xff1a;一切正常&#xff0c;合规合法。 关于福利彩票事件&#xff0c;之前的推文我们已经分析过。 甚至在后面出现《…

车辆管理系统:一套系统掌握车辆的运营、维护和使用情况

hello&#xff0c;我是贝格前端工场&#xff0c;直接给大家介绍了各类通用的B端管理系统&#xff0c;收到了大家的欢迎。本次开始介绍针对具体行业的管理系统该如何设计和开发&#xff0c;欢迎大家持续关注、点赞&#xff0c;如有系统定制需求可以私信我们。 一、什么是车辆管理…

Muduo库核心代码及优秀编程细节剖析

一、前言&#xff1a; Muduo库是陈硕个人开发的Tcp网络编程库&#xff0c;支持Reactor模型。这篇博文对Muduo库中的Multi-reactor架构代码进行逻辑梳理&#xff0c;同时认真剖析了作者每一处精妙的代码设计思想。 目前我只重构并剖析了Muduo库中的核心部分&#xff0c;即Mult…

Qt应用软件【测试篇】cppchecker静态代码检查

文章目录 cppcheker简介下载地址与安装检查项目QT Creator使用CPP Cheker开启检查常见错误总结错误信息说明cppcheker简介 Cppcheck 是一个用于 C/C++ 代码的分析工具。它提供独特的代码分析以检测错误,并专注于检测未定义的行为和危险的编码结构。其目标是仅检测代码中的真实…

【Ai生态开发】Spring AI上架,打造专属业务大模型,AI开发再也不是难事!

大家好 这里是苏泽 后端是工作 ai是兴趣 对于ai的产生我的立场是拥抱ai的 是希望拿他作为提升能力的工具 那么这一篇带大家来学习如何使用ai打造一个专属的业务大模型 需求 就是说假设现在有一个 商城系统 里面有查询订单的api和获取商品购买方式的api 用户只需要输入 “…

ICCV2023:FLatten Transformer: Vision Transformer using Focused Linear Attention

文章目录 摘要引言PreliminaryVision Transformer and Self-AttentionLinear Attention Focused Linear Attention1.Focus ability2.Feature diversity3. Focused linear attention module 实验推理时间 总结 摘要 self-attention 的二次计算复杂度一直是将Transform模型应用于…

打印100-200之间的素数

#include <stdio.h>int prime(int n){int i 1;for(i 2;i < n;i){if(n % i 0)return 0;}return 1; } //打印100-200之间的素数 int main() {int n 0;int j 100;for(j 100;j < 200;j){if(prime(j)){printf("%d是素数\n",j);n;}}printf("100-200…