用于视觉问答的神经模块网络
摘要
本文解析了论文《Deep Compositional Question Answering with Neural Module Networks》中提出的神经模块网络(NMN)架构,详细阐述了其如何通过将问题分解为模块化的步骤来处理视觉问答任务中的组合结构。
<p><em>作者:Andre He</em></p><p>在这篇博客文章中,我们将探讨《Deep Compositional Question Answering with Neural Module Networks》一文的作者如何使用模块化架构来处理视觉问答任务。在深入探讨神经模块网络的设计之前,我们首先介绍 VQA 数据集,并讨论关于该任务的一些见解。</p><h2>什么是视觉问答,以及为何它很重要</h2><p>语言可以描述我们用来观察世界的各种物体、属性和关系。我们对语言的理解主要植根于我们对这些物体的体验,其中视觉体验尤为丰富。</p><p>例如,当向儿童展示这样一个物体并告知“这是一个红苹果”时,他们可能获得的不仅有关于苹果外观的信息,还有关于“红色”的含义以及如何计数一个物体的概念。</p><p>一旦短语和物体之间建立了基本关联,人们甚至可以学习语言中那些非视觉性质的特征,例如语义关系。继续上述例子,像“这是一个苹果,它是红色的”这样更刻意的表述,可能会让孩子了解逻辑连词“和”以及代词“它”的语义功能。当然,这需要大量的例子和反例,但这表明有可能从带标签的图像(而不仅仅是文本)中学习某些语言特征(不一定是视觉特征!)。</p><p>受图像语义丰富性的启发,视觉问答不仅本身具有实用价值,还为计算机通过视觉方式学习语言开辟了一条途径。视觉问答数据集包含针对相应图像的开放式问题,正确回答这些问题需要同时具备对视觉和语言的理解。</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!2Nq8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!2Nq8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png 424w, https://substackcdn.com/image/fetch/$s_!2Nq8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png 848w, https://substackcdn.com/image/fetch/$s_!2Nq8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png 1272w, https://substackcdn.com/image/fetch/$s_!2Nq8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!2Nq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png" width="1440" height="320" data-attrs="{"src":"https://substack-post-media.s3.amazonaws.com/public/images/d893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png","srcNoWatermark":null,"fullscreen":null,"imageSize":null,"height":320,"width":1440,"resizeWidth":null,"bytes":null,"alt":null,"title":null,"type":null,"href":null,"belowTheFold":false,"topImage":true,"internalRedirect":null,"isProcessing":false,"align":null,"offset":false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!2Nq8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png 424w, https://substackcdn.com/image/fetch/$s_!2Nq8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png 848w, https://substackcdn.com/image/fetch/$s_!2Nq8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png 1272w, https://substackcdn.com/image/fetch/$s_!2Nq8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><pre><code>图片 1
问:他刚刚击中球了吗?
问:男孩在栅栏前面吗?
问:这是什么运动?
图片 2
问:桌上有餐巾吗?
问:食物被吃过吗?
问:提供了哪些糕点?
图片 3
问:这种海浪是冲浪者想要的吗?
问:照片的背景是什么?
问:照片中哪里有雾气?</code></pre><p>正如你在上面的例子中看到的,这些问题要求我们处理各种物体(球、栅栏、桌子等)和关系(在...前面、在...上面、在背景中等)。</p><h2>对组合式问题的推理</h2><p>神经模块网络是专为处理问题的组合结构而设计的。在深入了解架构之前,让我们通过一个例子来理解 VQA 中“组合”的含义。假设我们要针对下图回答“是否有两只狗用脸触碰食盆”这一问题。</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Exgy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55de7bea-933b-4d79-8ad1-937e76661ea1_588x351.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Exgy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55de7bea-933b-4d79-8ad1-937e76661ea1_588x351.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Exgy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55de7bea-933b-4d79-8ad1-937e76661ea1_588x351.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Exgy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55de7bea-933b-4d79-8ad1-937e76661ea1_588x351.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Exgy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55de7bea-933b-4d79-8ad1-937e76661ea1_588x351.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Exgy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55de7bea-933b-4d79-8ad1-937e76661ea1_588x351.jpeg" width="588" height="351" data-attrs="{"src":"https://substack-post-media.s3.amazonaws.com/public/images/55de7bea-933b-4d79-8ad1-937e76661ea1_588x351.jpeg","srcNoWatermark":null,"fullscreen":null,"imageSize":null,"height":351,"width":588,"resizeWidth":null,"bytes":null,"alt":nul
查看缓存全文
缓存时间:
2026/05/08 08:48
# 用于视觉问答的神经模块网络
来源:https://mlberkeley.substack.com/p/nmn
*作者:Andre He*
在本博客文章中,我们将探讨《Deep Compositional Question Answering with Neural Module Networks》(利用神经模块网络进行深度组合式问答)的作者如何使用模块化架构来处理视觉问答(VQA)任务。我们首先介绍 VQA 数据集并讨论一些关于该任务的见解,然后深入探讨神经模块网络的设计。
语言可以描述各种我们用来观察世界的物体、属性和关系。我们对语言的理解主要植根于我们与这些物体的经验,其中视觉体验尤为丰富。
例如,当儿童被展示这样一个物体并被告知“这是一个红苹果”时,他们可能获得的不仅仅是关于苹果外观的信息,还包括“红色”的含义以及“一”这个数量的概念。
一旦短语和物体之间建立了基本关联,人们甚至可以学习那些非视觉性质的语言特征,例如语义关系。继续上面的例子,像“这是一个苹果,它是红色的”这样更刻意的评论可能会教会孩子逻辑词“and”(和)以及代词“it”(它)的语义功能。当然,这需要大量的正例和反例,但这表明从标记图像而非文本中学习某些语言特征(不一定是视觉的!)是有可能的。
受图像语义丰富性的启发,视觉问答不仅本身有用,还为计算机通过视觉方式学习语言开辟了一条途径。视觉问答数据集包含关于对应图像的开放式问题,正确回答这些问题需要对视觉和语言都有理解。
[](https://substackcdn.com/image/fetch/$s_!2Nq8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd893f2df-cd8e-450b-8528-6f3bba83056e_1440x320.png)
``
图片 1
问:他刚击中了球吗?
问:男孩在栅栏前面吗?
问:这是什么运动?
图片 2
问:桌上有餐巾纸吗?
问:食物被吃过吗?
问:提供哪些糕点?
图片 3
问:这是冲浪者想要的浪吗?
问:照片背景里有什么?
问:照片中哪里有薄雾?
``
如上例所示,问题要求我们处理各种物体(球、栅栏、桌子等)和关系(在……前面、在……上面、在背景中等)。
神经模块网络专门设计用于处理问题的组合结构。在深入探讨架构之前,让我们通过一个例子来理解 VQA 中“组合”(composition)的含义。假设我们要回答关于下图中“是否有两只狗用脸接触食物碗”的问题。
[](https://substackcdn.com/image/fetch/$s_!Exgy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F55de7bea-933b-4d79-8ad1-937e76661ea1_588x351.jpeg)
作为人类,在得出结论之前我们会采取许多中间步骤——我们需要先找到狗,定位它们的脸,识别与食物碗的接触,然后计算是否有两只这样的狗。很难想象一个模型能够在不明确或隐含地分解问题的情况下可靠地回答此类问题。从这个意义上讲,问题是由原子问题组成的,如“狗在哪里”、“X 的脸在哪里”或“是否有两个 X”。
为了专门测试 NMN 在组合问题上的表现,作者构建了一个 SHAPES 数据集。与 VQA 类似,SHAPES 也包含关于图像的问题,但这些图像仅由 3x3 网格中的抽象形状组成。该数据集的视觉部分几乎微不足道,因此它主要用于展示 NMN 理解问题的能力。下面的例子也很好地说明了 NMN 旨在处理的问题类型。
[](https://substackcdn.com/image/fetch/$s_!0lVj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa352ff2b-682a-494f-bbc4-a95e044bc685_920x300.png)
``
问:圆圈上方有红色形状吗?
问:红色形状是蓝色的吗?
问:正方形旁边有圆圈吗?
问:有多少个三角形?
``
让我们来看看神经模块网络本身。简而言之,我们想要构建一个神经网络集合,每个网络都经过训练以执行原子任务。这些就是我们的“模块”。
还记得我们如何将问题分解为原子子问题吗?在非常抽象的层面上,每个模块处理一类这些原子问题。例如,一个模块可以接受训练以在图像中找到给定的标记,如“dog”(狗)。它回答形式为“X 在哪里”的问题。要回答“ A 是否接触 B”或“有多少个 X”之类的问题,我们需要不同的模块。
显然,这些模块需要相互传递信息以处理组合问题。“计数”模块需要知道“查找”模块在哪里找到了狗,以便进行计数。模块需要输出其问题部分答案的某种表示,而注意力图(attention maps)被证明是一种方便的表示方式。
注意力图是一个与输入图像大小相同的单通道图像。我们打算让模块使用这些图来突出图像的相关部分。当模块的答案是对象(狗)或区域(狗周围、狗旁边等)时,相应区域应分配更高的像素值。
对于 VQA,NMN 论文的作者选择了注意力、重新注意力、组合、分类和测量作为模块。从高层来看:
- attend(注意力)在图像中寻找简单对象;
- re-attend(重新注意力)和 combine(组合)将对象组合成更高级的对象;
- classify(分类)和 measure(测量)查看选定的对象以回答问题。
注意力模块以图像作为输入,并输出注意力图。该模块还以表示其应关注的对象的单词标记为条件。它使用卷积层实现。这基本上就是上面描述的“查找”模块。
[](https://substackcdn.com/image/fetch/$s_!nCwl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd6742a6c-af0b-4e0e-be7b-c739a354e06d_811x284.png)
重新注意力模块作用于注意力图,并以空间或逻辑关系为条件。例如,re-attend[above](重新注意力[上方])将注意力向上移动,而 re-attend[not](重新注意力[非])反转区域上的注意力。它使用多层感知机实现。
组合模块根据逻辑关系组合两个注意力图。例如,combine[and](组合[与])输出两个注意力图的并集,而 combine[except](组合[除了])关注在第一张图中激活而在第二张图中未激活的区域。
分类模块以图像和注意力图作为输入,并输出标签上的分布。它以表示要分类的属性的单词标记为条件。例如,classify[color](分类[颜色])应输出颜色标签上的分布。
分类是通过全连接层加上图像和注意力图之间逐元素乘积的 softmax 完成的。这促使模块按预期使用注意力图,选择相关对象并屏蔽不相关区域。
测量模块类似于分类,因为它输出标签上的分布,但它只查看注意力图。它适用于计数或测试存在性。计数是对整数标签进行的分类。
既然模块已定义,让我们看另一个例子。论文中的这张图展示了如何通过评估以下内容来回答问题“圆圈上方有红色形状吗?”
``
measure[is](combine[and](re-attend[above](attend[circle]()),attend[red]()))
``
[](https://substackcdn.com/image/fetch/$s_!9dBC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Feeb8a331-b757-488c-b2ea-05ebd22dcc2f_1298x478.png)
组合这些函数调用也可以被视为将模块组装成更大的网络,类似于重复应用 RNN 单元表示为链式架构的方式。这样构想很有帮助,因为在训练期间,梯度将通过这个组装的网络端到地流动,稍后我们将讨论这一点。
到目前为止,我们已经看到了每个模块的预期功能,并且知道通过构建正确的函数调用来回答组合问题是可能的。还剩下一个问题:模型如何知道如何组装网络?
我们可以做出合理的假设,即模块布局应仅是问题的函数。想象一下你自己做 VQA——即使替换了图像,问题也应该引导你寻找相同的对象和关系。
天真地,我们可能会尝试设计一个函数,将问题的语法树转换为模块布局。起初这似乎相当可行,因为短语的组合方式与模块应组合的方式类似,但当问题中存在更复杂的依赖关系时,这种方法就会失败。
幸运的是,我们有现成的 Stanford Parser(斯坦福解析器),它可以捕获依赖关系,例如对象与其属性之间或 wh-词(如 what, where 等)与其主语之间的依赖关系。与仅组合相邻单词的语法解析器不同,依赖解析器可以处理句子各部分之间的引用和关系。以下是解析器对 VQA 中的两个问题和 SHAPES 中的一个问题的输出。
``
What color is the truck ?
det(color, what)
obj(be, color)
root(ROOT-0, be)
det(truck, the)
nsubj(be, truck)
What is standing in the field?
nsubj(stand, what)
aux(stand, be)
root(ROOT-0, stand)
case(field, in)
det(field, the)
obl:on(stand, field)
Is there a circle next to a square ?
root(ROOT-0, be)
expl(be, there)
det(circle, a)
obl:npmod(next, circle)
advmod(be, next)
case(square, to)
det(square, a)
obl:to(be, square)
``
对于此任务,我们过滤与 wh-词(即 what, when, is, how many 等)连接的依赖关系集合。这给出了问题中主要对象的符号形式以及关于它询问的内容。其他预处理步骤如词元化(lemmatization)和限定词移除也参与其中,但这里不再详述。
``
what is standing in the field -> what(stand)
what color is the truck -> color(truck)
is there a circle next to a square -> is(circle, next-to(square))
``
最后一步是将这些过滤后的依赖树转换为模块布局。所有叶子节点变为 attend 模块,内部节点变为 combine 或 re-attend 模块(取决于输入数量),根节点变为 measure 或 classify 节点(取决于问题类型:存在性/计数或分类)。
直观地说,叶子节点关注图像中的对象,中间节点根据语义关系组合和处理它们,最后根节点输出答案上的概率分布。
作者发现,让 LSTM 读取问题并在产生最终标签分布之前将其输出添加到根模块的输出中是有帮助的。这有助于建模常识知识和数据集偏差。例如,当模型无法在图像中找到树时,猜测树是绿色的是合理的。
至此,我们已经描述了神经模块网络前向传播所需的所有组件。它可以使用与我们通常的单体网络相同的基于反向传播的优化器进行训练。
给定训练样本 $(w, x, y)$,其中 $w$ 是问题,$x$ 是图像,$y$ 是真实答案,模型从 $w$ 解析出布局,并将 $x$ 通过组装的网络运行。损失是在模型输出 $y'$ 和目标 $y$ 上计算的。然后梯度通过组装的网络反向流动,调整每个模块中的参数,就好像它是一个单一的网络一样。
[](https://substackcdn.com/image/fetch/$s_!I6oP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbfe6c0c1-3e40-4966-8b4e-e16f2cb099f6_880x339.png)
在玩具 SHAPES 数据集上,NMN 优于先前工作的基线,并展示了某种程度的组合泛化能力。这里 NMN(easy) 是一个在训练期间从未见过需要 6 个或更多模块的问题的模型。它仍然在大小为 6 的测试问题上实现了高准确率。
[](https://substackcdn.com/image/fetch/$s_!uUbA!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3e065d05-8072-4b94-8af4-01eb786c2f2d_1410x505.png)
完整模型(带 LSTM)在 VQA 上优于之前的方法。然而,它在计数任务上表现明显不佳,可能是因为单层测量模块很难表达计数功能。
我们将简要介绍 NMN 的一些后续工作。
一个自然的问题是,NMN 是否可以绕过对“硬编码”布局解析器的需求,并以端到端的方式联合学习模块和布局构建器。在《In Learning to Reason: End-to-End Module Networks for Visual Question Answering》(学习推理:视觉问答的端到端模块网络)一文中,作者将 RL 布局策略与模块联合训练。
基于 REINFORCE 的布局策略从奖励中学习,该奖励指示其预测的布局(使用当前模块参数)输出的答案分布是否接近真实值。其直觉是,布局策略可以尝试不同的方式来组装模块,并根据它们是否给出合理的输出来学习。
一个乐观的观察结果是,具有学习到的布局策略的 NMN 可能不再需要人类定义的模块。理论上,它应该能够从头学习模块以执行它认为必要的任何功能。然而,联合训练在实践中被证明非常困难,作者退而求其次,使用了类似于上述列表的预定义和预训练模块。
在《Obtaining Faithful Interpretations from Compositional Neural Networks》(从组合神经网络中获得忠实解释)一文中,表明仅在末端任务监督下训练的 NMN 产生了不可解释的模块输出。换句话说,模块并不忠实于其预期功能。
[](https://substackcdn.com/image/fetch/$s_!IIli!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff599a99d-ed4d-4181-ae77-649d64b218f6_907x1034.png)
在某些版本的 NMN 中,模块可以访问上下文嵌入,这些携带了问题中所有单词的信息,而不仅仅是对应于该模块的单词。它们也有不同的模块,例如 find(查找)和 filter(过滤)。
作者建议,某些推理步骤(filter)经常与一起发现的模块(find)合并。通过在金标准模块输出上监督中间模块、限制模块表达能力以及去上下文化词嵌入,提高了忠实度。这提高了文本 QA 任务上的泛化能力,尽管不清楚它是否对 VQA 产生了同样的效果。
Neural Module Networkshttps://arxiv.org/abs/1511.02799
Learning to Reason: End-to-End Module Networks for Visual Question Answeringhttps://arxiv.org/abs/1704.05526
Obtaining Faithful Interpretations from Compositional Neural Networkshttps://arxiv.org/pdf/2005.00724.pdf
#### 关于本文的讨论
### 准备看更多内容了吗?
相似文章
OpenAI Blog
OpenAI 在 CLIP 中发现了多模态神经元,它们在不同模态(视觉、符号、文本)中对同一概念做出响应,这与生物神经元的行为相似,解释了该模型在困难视觉任务上的鲁棒性。这项可解释性研究为我们理解视觉-语言模型如何组织和表示抽象概念提供了深刻见解。
Hugging Face Daily Papers
本文介绍了 JoyAI-Image,这是一种统一的多模态基础模型,通过整合空间增强的多模态大语言模型(MLLM)与多模态扩散 Transformer(MMDiT),在视觉理解、文生图生成以及指令引导编辑方面取得了最先进的性能。
Hugging Face Daily Papers
论文页面 - MNAFT:用于图像翻译的多模态大语言模型模态神经元感知微调
来源:[https://huggingface.co/papers/2604.16943](https://huggingface.co/papers/2604.16943)
发布日期:4月18日 · 提交者 [https://huggingface.co/liboaccn](https://huggingface.co/liboaccn) [](https://huggingface.co/liboaccn) [Bo Li](https://huggingface.co/liboaccn)
OpenAI Blog
OpenAI 发布了 o3 和 o4-mini 模型,这些模型能够在链式思维过程中对图像进行推理,通过裁剪和缩放等原生图像操作工具实现视觉理解,无需额外的专用模型。这些模型在包括 STEM 问题、图表阅读和视觉搜索任务在内的多模态基准上达到了最先进的性能。
arXiv cs.CL
本文介绍了困难负样本描述(HNC),这是一种数据集和方法,旨在通过解决网络采集的图文对中存在的弱关联问题,训练视觉-语言模型以实现细粒度理解。