基于自监督学习的上下文推理
-
论文标题:Reason from Context with Self-supervised Learning
论文地址:https://arxiv.org/pdf/2211.12817.pdf
论文代码:https://github.com/ZhangLab-DeepNeuroCogLab/UnsupervisedContext
摘要
- 背景介绍: 天上的小物体不可能是大象。上下文推理在视觉识别中至关重要,因为当前输入需要根据先前的经验和知识进行解释。迄今为止,对视觉识别中的上下文推理的研究主要是通过监督学习方法进行的。背景知识是否可以通过自监督的学习机制获取的问题仍在探索之中。
- 解决方法: 建立了一种上下文感知的自监督学习方法。提出了一种新颖的上下文推理自监督学习方法(SeCo),其中SeCo的唯一输入是自然场景中存在多个对象的未标记图像。与人类视觉中中央凹和边缘的区别类似,SeCo分别处理自己提出的目标对象区域及其上下文,然后使用可学习的external memory来检索和更新上下文相关的目标信息。为了评估由计算模型学习到的上下文关联,引入了两种评估协议,即lift-the-flap and object priming,解决了上下文推理中的“什么”和“哪里”问题。在这两项任务中,SeCo都大大超过了所有最先进的(SOTA)自监督学习方法。网络分析表明,SeCo的外部记忆学习存储先前的上下文知识,有助于提升lift-the-flap任务中的目标推断。
- 进行了psychophysics心理物理实验,并在 Object Priming dataset(HOP)中引入了人类基准。的定量和定性结果表明,SeCo接近人类水平的表现,表现出类似人类的行为。
算法
提出了一种用于上下文推理的自监督学习方法(SeCo),该方法学习自然图像中对象及其上下文之间的关联(图2)。SeCo由三个组件组成:(a)目标发现模块,(b)双流视觉处理器,以及(c)外部存储器。
首先,目标发现模块使用无监督区域proposal方法来定位全图像If上的潜在感兴趣对象。每个区域proposal与全图像If一起随后被转换为目标图像It和背景图像Ic对。
其次,双流视觉处理器由两对独立的CNN编码器和projectors组成,分别从It和Ic中提取信息。
第三,SeCo使用可训练的外部存储器来存储在训练阶段学习到的关于目标上下文关联的知识先验。来自Ic的特征用作查询,以利用注意力机制从外部存储器检索上下文相关的先验知识。检索到的信息向上下文流提供补充信号,并与来自对象流的It的目标特征进行比较。
Context-Object Pair Discovery
对象在上下文推理中发挥着重要作用。为了学习对象-对象和对象-上下文的关联,提出了一个上下文-对象 发现模块来有效利用感兴趣的区域。
采用selective search algorithm选择性搜索算法来生成可能包含对象的感兴趣区域(RoI)。值得注意的是,选择性搜索是一种无监督的学习算法。它对数百个锚框进行启发式搜索,并通过基于颜色、纹理、大小和形状兼容性对相似区域进行分层分组来提出RoI。
为了减少许多ROI中的假阳性,根据面积比(最大值为0.1)和纵横比(在0.2和5之间)过滤出结果区域。此外,通过将IoU的阈值设置为0.3来合并具有重重叠的RoI。对于每个选定的RoI,生成一对目标图像It和上下文图像Ic。它是从完整图像If中裁剪出来的。用零像素涂黑RoI区域的整个图像形成了上下文图像Ic。
Feature Extraction with CNN
由于eccentricity的依赖性,人类的视力在中央凹处具有最高的灵敏度,并且随着离心率的增加,远边缘的分辨率急剧下降。例如,当我们盯着桌子上的马克杯时,马克杯通常以高分辨率被感知,而厨房场景的背景要点在外围以低分辨率被处理。
从中寻求灵感,提出了一种双流视觉处理器,其中一个对象流专用于编码目标图像It,另一个上下文流专用于对上下文图像Ic进行编码。编码表示表示为hc=Ec(Ic)和ht=Et(It),其中Et(·)和Ec(·)分别是目标和上下文编码器,ht和hc∈RD 。
Training With An External Memory
正如认知和神经科学研究所指出的,上下文处理在大脑中通常发生得非常快。感知的场景用作查询,以从语义记忆中检索先验知识,从而以自顶向下的方式进行模块对象识别。为了模拟生物大脑中的这种潜在的上下文调节机制,引入了具有可训练参数的外部记忆,积累了上下文-对象关联的先验知识。
将外部存储器定义为具有可训练参数的2D矩阵,它由H维的K个存储槽组成,表示为M={m1,…,mK},M∈ RH×K。每个内存槽都与一个key相关联,其中φk(·):RH→ RH定义了从内存内容到密钥φk(M)的线性映射。来自上下文流的编码表示hc在线性投影操作φc(·):RD→ RH之后用作对外部存储器的查询。检索到的先验知识sc∈RH可以表示为
Loss Components
为了鼓励M学习丰富而有意义的上下文对象关联,引入了三种类型的损失。
理想情况下,仅给定场景,从M检索的先验sc应表示与给定上下文相关的有用对象信息(即“给定场景要点的目标对象可能是什么” versus“场景中看到的实际对象”)。因此,应用均方误差损失lmse来最大化sc和ht之间的一致性。为了使向量维度具有可比性,ht通过φt(·)被投影到st∈RH 嵌入空间中。
单独最大化两个流视觉处理器之间的一致性可能会导致模型崩溃。因此,为了防止模型崩溃,分别在对象流和上下文流上强制协方差Lcov和方差Lvar正则化损失。虽然Lvar保持了一批数据样本的不同表示的差异(例如,一批图像应该表示多样化的对象类),但Lcov去关联通道变量以使嵌入的属性多样化(例如,使用尽可能多的属性来表示对象,并且每个属性应该彼此独立)。SeCo经过联合训练,损失为:
实验
Lift-the-flap task
Object priming task
Ablation and memory analysis