Visual Reasoning(1): CLEVR Dataset

CLEVR: A Diagnostic Dataset for Compositional Language and Elementary Visual Reasoning

  • Introduction
  • Dataset Generation
  • Discussion

这项工作是Visual Reasoning领域的开山之作了~
李飞飞&FAIR构建了一个新的Reasoning dataset, CLEVR:
https://cs.stanford.edu/people/jcjohns/clevr/

合成的数据集,由一些简单的几何形状组成的视觉图像。数据集中的问题多涉及到复杂推理,问题类别包括:属性查询(querying attribute),属性比较(comparing attributes),存在(existence),计数(counting),整数比较(integer comparison),这些问题都是程序生成的。

包括一个main dataset,以及用于研究泛化性的CLEVR-CoGenT-A和CLEVR-CoGenT-B (A→A and A→B 两种测试方法)
Visual Reasoning(1): CLEVR Dataset_第1张图片
feifei后续的一篇论文Inferring and Executing Programs for Visual Reasoning,还提出了CLEVR-humans,还是CLEVR的images,question-answer pairs则是人类写的,句式结构更加natural~

下面介绍下paper原文的一些内容

Introduction

现在的模型很多是直接给出一个答案,而没有中间的推理过程,这使得人们很难分析模型的缺陷,究竟是哪一块出现了问题。

大神这里也提到了CLEVR的提出动机:
https://www.zhihu.com/question/60784169/answer/180518895
VQA是给张图,你可以问任意问题,人工智能系统都需要给出正确答案。
VQA还是被当成个分类问题,没有发掘潜在的推理过程,离真正人类级别的reasoning还很远。
其中一个问题是,直接在自然图片上进行问答系统的研究太难了,很难debug整个系统。

还有个问题是dataset bias,模型也许没有进行推理,而只是通过某种隐式的线索记住了答案,而换了个数据集或者到了真实场景,就会失效。下面这个例子很好:
Visual Reasoning(1): CLEVR Dataset_第2张图片
我自己再举个例子,比如问画面右边的花是什么颜色的,算法回答是红色。但它可能并没有依据画面进行推理,只是知道训练数据里问花的颜色往往是红色,所以凡是这个话题它都无脑蒙一个红色。。

所以希望建立一个物体抽象化的数据集,只能依据推理来判断,而尽量不留下其他可能的答案隐藏线索~

研究者开始通过graphics合成图片的办法来建立绝对可控的VQA数据库,有着丰富的推理过程标注以及最小的dataset bias,这样就可以更好的分析模型的行为。

所以,该数据集叫做Compositional Language and Elementary Visual Reasoning diagnostics (CLEVR), 意思大概就是,组合式语言结合基本视觉的推理诊断。

CLEVR contains 100k rendered images and about one million automatically-generated questions, of which 853k are unique

Test visual reasoning abilities such as counting, comparing, multiple attention(storing information in memory), and logical reasoning
Visual Reasoning(1): CLEVR Dataset_第3张图片
图像比较简单,重点是研究推理的能力
images in CLEVR may be visually simple, its questions are complex
and require a range of reasoning skills.

CLEVR上使用SOTA VQA models,发现它们存在一些缺陷,比如不具备记忆能力以及组合推理能力
Visual Reasoning(1): CLEVR Dataset_第4张图片
这段话说的很好:
Finally, we stress that accuracy on CLEVR is not an end goal in itself: a hand-crafted system with explicit knowledge of the CLEVR universe might work well, but will not generalize to real-world settings. Therefore CLEVR should be used in conjunction with other VQA datasets in order to study the reasoning abilities of general VQA systems.
初衷应该是用于研究VQA方法的推理能力,搞一个hand-crafted system来单纯刷performance没有什么意义
(但是我看之后的一些symbolic方法有针对这个数据集的嫌疑??)

Dataset Generation

首先定义好了语言函数规则
如物体属性,问题逻辑函数程序,执行函数
Visual Reasoning(1): CLEVR Dataset_第5张图片
生成流程:
Fig. 2 中间的就是functional programs的两个例子,可以对应的填入不同参数,执行这个programs,可以得到一个answer。
Visual Reasoning(1): CLEVR Dataset_第6张图片
Visual Reasoning(1): CLEVR Dataset_第7张图片
先要生成一幅图像(见原文,不细说)
再挑选一个question family,其对应多种不同的表达方式,填入参数可以对应到多个表达模板,依据graph, excute program可以得到一个最终的answer。而text templates再生成一个自然语言表达的question
三要素,Visual image, Qustion, Answer 都生成出来了~

Discussion

实验部分见原文,不细说
直接看下discussion部分对SOTA VQA models的分析
Visual Reasoning(1): CLEVR Dataset_第8张图片
注意一下, Disentangled Representations就是 Compositional Generalization,比如下面的A&B两种情况,在A上训练B上测试,performance会掉很多。说明比如model只记住了黄色的方块,换个绿的就无法推理了,而这本应该从绿色的球体也类比学习到的:
Visual Reasoning(1): CLEVR Dataset_第9张图片

你可能感兴趣的:(Reasoning)