【论文阅读】OWKRL:2024年的视觉推理任务不用VLMs还可以怎么做

server/2024/10/17 21:03:36/

目录

  • 写在前面
  • 1. 动机与贡献
    • 1.1 动机
    • 1.2 贡献
  • 2. 开放世界知识表示学习方法(OWKRL)
    • 2.1 问题定义
    • 2.2 知识三元组表示获取
      • 2.2.1 基于图的 Self-cross Transformer
      • 2.2.2 头实体提取
      • 2.2.3 尾实体提取
      • 2.2.4 关系提取
    • 2.3 知识表示学习
    • 2.3.1 开放世界表示学习
    • 2.3.2 知识三元组学习
  • 3. 实验分析
    • 3.1 模型预测效果
    • 3.2 消融实验分析
    • 3.3 其他实验分析


写在前面

  • 文章标题:Knowledge is power: Open-world knowledge representation learning for knowledge-based visual reasoning
  • 论文链接:【1】
  • 代码链接:无
  • 仅作个人学习记录用

1. 动机与贡献

1.1 动机

这篇文章提出了一种名为开放世界知识表示学习 (OWKRL) 的新型方法,用于解决基于知识的视觉推理任务中的两个主要问题:如何有效地表示和利用复杂的多模态知识,以及如何应对开放环境中遇到的新样本,具体来说:

(1) 如何在跨模态视觉推理场景中构建和利用复杂且隐含但必不可少的跨模态知识: 现有的方法往往只使用或构建简单的显式知识图谱,缺乏复杂且隐含的跨模态知识,这限制了它们理解和推理的能力。

(2) 如何在增量学习未知样本并扩展模型自身时,拒绝训练过程中未出现的未见样本(现有的方法在遇到未见样本时通常无法处理,需要重新训练模型,这在现实应用中是不可行的)

1.2 贡献

(1) 提出了开放世界知识表示学习方法(OWKRL):使用知识三元组(头实体-关系-尾实体)来表示复杂的多模态知识,克服了现有方法无法有效表示隐式知识的局限性。提出了一种基于图的自我交叉Transformer模型,能够深度融合视觉和语言信息,生成有效的表示。设计了一种新的开放世界学习范式,通过聚类和基于相似度的增量学习来识别和添加未知样本。

(2) 提出了知识三元组学习策略:包括特征聚类: 通过聚类算法将具有相似特征的未知样本识别出来,并将其作为模型的示例;归纳学习: 利用记忆中的示例和新样本之间的相似度,进一步发现新的未知样本;结构化表示约束: 使用TransE损失来约束知识三元组的表示结构,使其更符合现实世界的知识关系;任务特定表示约束: 使用带有负采样的交叉熵损失,将头实体和尾实体之间的语义差距最小化。

(3) 本文方法不仅提升了知识驱动的视觉推理任务的 SOTA ,而且还可以有效地应用于其他推理任务,例如科学问题回答和医学视觉问题回答。

2. 开放世界知识表示学习方法(OWKRL)

2.1 问题定义

本文将基于知识的视觉推理视为一个融入开放世界学习环境的知识图谱推理问题,具体如下:

开放世界的知识表示推理需要一个模型 M t i m e M^{time} Mtime,其目标是在测试阶段找到一组缺失的知识三元组 T t e s t t i m e = { ( h t i m e , r t i m e , ? ) ∣ h t i m e , ? ∈ E t e s t t i m e , r t i m e ∈ R } T^{time}_{test} = \{ ( h^{time},r^{time},?) | h^{time}, ?∈E^{time}_{test},r^{time}∈R \} Ttesttime={(htime,rtime,?)htime,?EtesttimertimeR},在时间点的训练阶段给定一个三元组集 T t r a i n t i m e = { ( h t i m e , r t i m e , ? ) ∣ h t i m e , t t i m e ∈ E t r a i n t i m e , r t i m e ∈ R } T^{time}_{train} = \{ ( h^{time},r^{time},?) | h^{time}, t^{time}∈E^{time}_{train},r^{time}∈R \} Ttraintime={(htime,rtime,?)htime,ttimeEtraintimertimeR},其中 E t r a i n t i m e E^{time}_{train} Etraintime E t e s t t i m e E^{time}_{test} Etesttime分别为实体的集合和超集; R R R是关系的集合;其中, h t i m e h^{time} htime r t i m e r^{time} rtime t t i m e t^{time} ttime分别表示头实体、关系和尾实体。对于视觉推理而言, h t i m e h^{time} htime表示给定图像及其问题的特征, t t i m e t^{time} ttime表示对应问题的答案。

2.2 知识三元组表示获取

OWKRL 通过知识三元组 (头实体-关系-尾实体) 来表示隐式的跨模态知识,并通过以下步骤获取知识三元组表示:

在这里插入图片描述

2.2.1 基于图的 Self-cross Transformer

(1)视觉和语言特征embedding: 在第一部分中,利用预训练的方法提取给定图像及其问题的特征。视觉特征类似于ViT,每个块通过预训练的ResNet - 50模型转化为一个特征向量。语言特征使用预训练的BERT模型。

原文此处:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述 在这里插入图片描述
即通过预训练模型得到的特征是2维的: R N τ × d N τ , τ ∈ { V , L } \mathbb{R}^{N^{\tau}\times d_{N^{\tau}} }, \tau\in\{V,L\} RNτ×dNτ,τ{V,L}

(2)视觉和语言图建模: 为了捕获给定问题和图像中的单词/图像标记之间的关系,通过图投影来构建视觉/语言图。此外,使用图卷积来更新从这两个图中获得的节点表示。

其中,图投影是将特征投影到图中,其中 N τ N^{\tau} Nτ也是节点的个数, d N τ d_{N^{\tau}} dNτ也是这些节点的特征维数。因此,全投影图本质上是一个轻量级的全连通图。为此,作者采用具有可学习权重的线性变换,即投影函数。如上图如所示,两个卷积层分别实现图投影和特征降维。

但是1x1的卷积核如何对二维矩阵进行特征降维?

我们知道,一般来说通过设置较少数量的1x1卷积核,可以减少输出特征图的通道数。每个1x1卷积核会对输入特征图的每个通道进行加权求和,然后将结果输出到一个单独的通道。如果输入特征图有C个通道,而1x1卷积核有C’个(C’ < C),那么输出特征图的通道数就会减少到C’(如下示意图)
在这里插入图片描述

并且原文描述如下:

在这里插入图片描述可以看到,参考文献中的特征降维方法也是是使用1x1的卷积核对3维特征进行降维,并没有改变前两个维度。如果通过预训练模型得到的特征如文章所说真的是2维的话,那么1x1卷积核只有一个的情况(相当于特征不变)、只有一个但是跳着卷积(即步长大于1,但这样对特征中的信息提取似乎没有好处)、有多个的情况(这样就不是“特征降维”了)显然都不太合适。所以我猜想这里有一个升维的操作。

无论如何,这样投影得到的每个节点的特征大概率是一个一维向量,所以经过图卷积之后输出的图embedding大概率就是二维的: L V , L L \mathscr{L}^V,\mathscr{L}^L LV,LL

(3)Self-cross多头注意力机制: Self-cross 多头注意力结构如下:
Self-cross 多头自注意力结构通过图建模的过程获得了两个图embedding L V , L L \mathscr{L}^V,\mathscr{L}^L LV,LL。作者希望通过单图表示的信息来改进单图表示,同时捕捉两个图表示之间的关系,并利用这种关系表示来增强单图表示。为此设计了一种具有堆叠层的级联多传感头结构;它是传统多传感头注意力机制的扩展,其中每个平行头部包含两种注意力:自注意力和交叉注意力。

自注意力模块中,作者将原始多传感头注意力机制中的缩放点积注意力操作替换为一个非局部注意力块(nonlocal attention block,参数矩阵替换为图中1x1 conv)作为自注意力层,其重点是通过自身的嵌入来改进图嵌入。这样又产生了和 (1) 中同样的问题(可能这里又升维了?):
在这里插入图片描述
交叉注意力模块中,使用了非对称的非局部神经块(asymmetric nonlocal neural block):
在这里插入图片描述

2.2.2 头实体提取

经过了注意力模块的信息交换,头实体提取用于融合视觉和语言特征嵌入。具体步骤如下:

  • 图重投影: 使用投影矩阵将图嵌入重新投影到空间特征。
  • 门控聚合机制: 利用门控机制设计聚合机制,从给定图像中提取与对应问题最相关的视觉特征。

2.2.3 尾实体提取

尾实体是根据从给定图像及其对应问题中提取的视觉和语言特征生成的答案。具体步骤如下: 利用答案生成器预测输出答案。该任务被视为一个知识图谱补全问题。即两层MLP的head作为掩码语言模型通过词汇表输出答案𝐭。

2.2.4 关系提取

关系是通过输入 (图像和问题) 与输出 (预测答案) 之间的隐式关系来捕获的。因此,可以使用答案生成器来提取关系。使用 [CLS] 标记和两层的全连接网络将答案生成器的输出转换为关系向量表示。

2.3 知识表示学习

OWKRL 使用示例理论和基于示例的学习策略来实现开放世界学习。具体步骤如下:

2.3.1 开放世界表示学习

在这里插入图片描述

OWKRL 将已知样本视为示例,并设计一个特征聚类策略,通过 k-means 聚类找到与这些示例相关的新样本。每个聚类中的元素代表一个特征,每个颜色代表一个给定样本。具有高聚类分数且中心点与其他元素的平均余弦相似度较低的聚类被视为未知样本的集合,每个样本被视为一个示例。然后,模型根据新样本与之前样本的相似度来发现更多样本,并将这些发现样本用作未来迭代中的伪真实答案。

这里可能描述得不太清楚,按照我个人的理解:

Q:这里是把有标签的样本当成未知样本吗?
A: 是的,这有助于模型更好地理解开放世界中的新事物和新情况;当遇到真正未知答案时,模型不会挑一个错误的答案,而是输出“未知答案”,提高模型鲁棒性。

Q:未知样本如何参与训练?
A:未知样本在每200个epoch之后按上述流程得出,以pseudoground-truth answers参与后续训练。整体训练结束后,未知样本送给“Oracle”打标签,变成有标签样本进行增量训练。

2.3.2 知识三元组学习

OWKRL 使用结构化表示约束和任务特定表示约束来学习知识三元组表示。具体步骤如下:

  • 结构化表示约束: 使用 TransE 损失函数通过对比正负三元组来保留嵌入结构。
    在这里插入图片描述

  • 任务特定表示约束: 使用带有负采样的交叉熵损失函数,通过蒙特卡洛近似来桥接头实体和尾实体之间的语义差距。
    在这里插入图片描述
    总损失函数为两者加总。
    在这里插入图片描述

3. 实验分析

UnisT文章中主要安排了如下实验:

3.1 模型预测效果

1. 实验设置:

  • 数据集: 六个基准数据集上对所提出的方法进行了实验评估,包括The FVQA Dataset、The Text-KVQA Dataset、The OK-VQA Dataset、The A-OK-VQA Dataset、The KRVQA Dataset。
  • 数据形式: Q&A pairs + 对应图片
  • 开放世界学习设置: 对6个实验数据集中所有类别的答案进行统计,从训练集中已知类别的答案子集中移除注释,并将其视为未知答案(以5 %的比例构造未知答案的拆分)

2. Comparison:
在这里插入图片描述

3. Qualitative analysis:
在这里插入图片描述

4. 用和图片不匹配的问题进行推理(证明能够识别出未知答案):
在这里插入图片描述

评估模型在少样本学习任务中的性能,即在没有或只有少量训练数据的情况下,对新的时空数据集进行预测。结果表明,UniST 模型在少样本学习任务中仍然优于所有基线模型,并且相对于长期和短期预测,具有更大的相对改进。这表明 UniST 模型能够有效地从少量示例中学习,并泛化到新的数据集。

5. 零样本学习:
评估模型在零样本学习任务中的性能,即在没有训练数据的情况下,对新的时空数据集进行预测。结果表明,UniST 模型在零样本学习任务中表现出色,甚至优于许多在训练数据上进行微调的基线模型。这表明 UniST 模型能够有效地从先前学习到的知识中提取细粒度相似模式,并将其应用于新的数据集。

3.2 消融实验分析

1. 视觉图和语言图的效果:
在这里插入图片描述2. Self-Cross Multihead Attention和知识三元组学习的效果:

在这里插入图片描述

3. 开放世界学习策略消融实验(让其他baseline也用开放世界学习方法进行训练) :
在这里插入图片描述
5. 未知答案比例消融:
根据答案类别的出现频率对其进行排序,并定期采样一个类别子集进行移除来模拟未知答案。然后,我们构造了四个不同的split,其中包含不同数量的未知答案( 5 %、10 %、15 %、20 %)。 可以看出,当未知样本与所有样本的比例设置为5%时,模型具有最佳的性能 。
在这里插入图片描述

  • 掩码策略:
    评估删除每种掩码策略对 UniST 性能的影响。分析每种掩码策略对不同时空任务(预测、插值、空间外推)的贡献,并解释其选择理由。
  • 知识引导提示:
    评估删除四种时空属性对 UniST 性能的影响。分析每种属性对模型性能的贡献,并解释其必要性。

3.3 其他实验分析

1. 科学问答效果:
(1)科学问答任务:数据集是Science QA ,包含21208张图像和来自自然科学、社会科学和语言科学的问答对。
在这里插入图片描述
(2)医学视觉问答任务:数据集是Med - VQA - 2021数据集,包含5500张医学图像及其5500个QA对。
在这里插入图片描述
2. 迁移学习能力:
A→B意味着在数据集A上预训练本文提出的方法,并在数据集B上以端到端的方式训练模型
在这里插入图片描述3. zero-shot/few-shot能力:
在这里插入图片描述


http://www.ppmy.cn/server/132578.html

相关文章

github下载文件的两种方式(非git形式)

1.以下面的图为例 &#xff0c;可以直接点击右上方的绿色Code按键&#xff0c;在弹出的列表中选择Download Zip选项&#xff0c;即可下载。 2.如果下载的是单独的某一个文件&#xff0c;则可以按照下图的格式点击下图所示的那个下载的图标即可。

mac安装homebrew和git

简介 由于把自己的新mac拿来撸代码&#xff0c;开始环境搭建&#xff0c;安装各种工具和依赖&#xff0c;安装 git 需要先安装 homebrew&#xff0c;然后就遇到了 homebrew 安装失败的问题。 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection…

卸载Python

1、查看安装框架位置并删除 Sudo rm -rf /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8 2、查看应用并删除 在 /Applications/Python 3.x 看是否存在&#xff0c;如果存在并删除。 3、删除软连接 ls -l /usr/bin/py* 或 ls -…

设备台账管理是什么

设备管理对企业至关重要。比如在电子加工企业&#xff0c;高效的设备管理能减少设备故障&#xff0c;提升生产效率&#xff0c;为企业赢得市场竞争优势。设备台账管理作为设备管理的一个核心部分&#xff0c;起着重要的作用。 让我们一起从本篇文章中探索设备台账管理是什么&a…

Qt网络编程: 构建高效的HTTP文件下载器

文章目录 注意事项调用示例在使用Qt进行HTTP下载时,通常会使用QNetworkAccessManager类来管理HTTP请求和响应。这个类提供了进行网络请求的能力,包括下载文件。下面是使用Qt进行HTTP下载的一个示例,以及在实现时应考虑的一些注意事项。 注意事项 1.错误处理 始终检查QNetwo…

双回路防静电监控仪安全保护生产全流程

在现代工业生产中&#xff0c;静电防护成为了确保安全生产的重要环节&#xff0c;尤其是在电子、化学等易燃易爆气体环境中。静电的存在不仅可能导致设备故障&#xff0c;还可能引发火灾或爆炸等严重事故。为了解决这一隐患&#xff0c;双回路防静电监控仪应运而生&#xff0c;…

vue3 计算字符串的高度与宽度,通过Canvas API的TextMetrics 接口来实现

1、先上一张官方的说明图&#xff1a; 地址&#xff1a;https://developer.mozilla.org/zh-CN/docs/Web/API/TextMetrics 官方实例&#xff1a; <canvas id"canvas" width"550" height"500"></canvas>const canvas document.getE…

k8s--二进制包部署及常见报错解决方法

部署流程 所有基础流程见此教程&#xff0c;很详细&#xff1a; 从零搭建k8s集群 - 许大仙 - 博客园 (cnblogs.com) 记得在写配置文件时细心点&#xff0c;注意修改自己的ip地址&#xff0c;以及看在哪个主机上操作 这里记得写自己的token 常见报错及解决方法 我只在下边讲…