【论文笔记】基于有偏训练的无偏场景图生成


来源:Unbiased Scene Graph Generation from Biased Training


注:下文出现的SGG是场景图生成的意思

1. 摘要

如今的场景图生成离应用还有很远,主要是因为存在训练中的偏差,如关系表达模糊,举个例子:人在沙滩上行走/坐在沙滩上/躺在沙滩上等复杂关系简单归结为人在沙滩上

传统的消除偏差的方法无法区分好的和坏的偏差,如:

  • 外部良好的背景知识:人读书而不是人吃书
  • 坏的长尾偏差:在...后面在...前面统一被归类为在...旁边

作者因此提出了一个新的模型,模型步骤如下:

  1. 构建一个因果图,并用该图进行传统的有偏训练;
  2. 从训练后的因果图中提取反事实因果关系,以推断出应该被删除的不良偏差(使用 总直接影响(Total Direct Effect) 作为最终预测分数);

该模型可以应用到不同的场景图生成模型以进行无偏预测。


2. 介绍

作者在这里解释了当今场景图生成所遇到的一个关键问题:

  • 下图(c)中显示:对于所生成的关系 near, on, has,给我们提供信息量不够,我们不知道具体表示什么意思;
  • 下图(b)中显示:我们的训练数据本身就有偏差。例子:如果一个模型在训练期间预测on的次数是预测stand on的1000倍以上,那么在测试期间,前者更有可能胜过后者。
    在这里插入图片描述

因此我们需要将细粒度关系和模糊的关系区分开来。

有偏见的注释也不是一无是处:大多数有偏见的注释可以帮助模型学习良好的上下文先验知识,可以过滤掉不必要的信息。不必要的信息如:苹果在公园停车以及苹果戴着帽子


作者认为对于消除偏差主要是要让机器识别“主要影响”和“次要影响”,借此提出了 “反事实因果关系”

  • 先对原始图片特征进行有偏训练,如图(a):预测出来的可能性如右边所示,分数最高是on,因此关系为on。与此同时还有其他的预测,这些预测可能有错,但是为我们过滤掉大量不合理的选项。
  • 然后生成该图片的反事实场景——也就是把图片特征中出现的物体都覆盖一层掩膜,如图(b)。然后和原始场景进行对比,从而得出最后的预测(具体如下文)。

在这里插入图片描述
下图(a)上面部分是作者所提出的事实因果图(左)与反事实因果图(右)。作者称这一技术为总直接影响 Total Direct Effect (TDE)

以因果图中的Y为例,可以看到有三个箭头指向它,分别是X->Y I->Y Z->Y,表示Y是由X Y Z共同引起的组合效应。作者提到X代表对象视觉特征,Z代表对象所属的类别,I表示输入的图片。褪色(虚线白色箭头)表示消失的X不再是由I引起也不再影响Z

这里注意到下图(a)下面部分是两个因果图产生的可能性相减。减去的是移除了目标特征的反事实因果图,而这和上面提到的反事实因果关系概念上是一样的。这样一相减就使得最终产生的分数更加偏向于目标特征X

下图(b)所示,提议的TDE显著改进了大多数谓词,改进性能的分布不再是长尾的。

在这里插入图片描述
作者提出了一个新的SGG检测工具包,用来实现更加全面的评估。除了传统度量方式,还包含针对偏差的度量:

  • 平均召回率 mean Recall;
  • 一种新的句子到图的检索方法,用于更全面的图级度量。

3. 因果图中的有偏训练模型

作者在这部分简述了有偏训练的一般步骤,所有的符号我们参照下图(b)。

节点I(输入图片和主干):使用目标检测网络如 Faster-RCNN 提取一系列边界框以及图片对应的特征图;
箭头I->X(对象特征抽取):使用目标检测网络如 Faster-RCNN 提取 RoIAlign(感兴趣区域)特征和该区域所对应暂时的对象类别,然后生成X
输 入 : 边 界 框 + 感 兴 趣 区 域 + 对 象 类 别 ⟶ 输 出 对 象 特 征 输入:边界框+感兴趣区域+对象类别\longrightarrow输出对象特征 ++
节点X(对象特征):表示成对的对象特征:X = (x1, x2)
箭头X->Z(对象分类):将对象特征解码对象微调后的类别;
节点Z(对象类别):表示一对对象类别的 one-hot 向量:Z = (z1, z2)
箭头X->Y(SGG 对象特征的输入):成对的对象特征X被合并为一个连接表示;
箭头Z->Y(SGG 对象类别的输入):成对的对象类别Z的 one-hot 向量被转换为一个 n x n 的矩阵,n 表示 one-hot 向量的长度;
箭头I->Y(SGG 视觉上下文的输入):提取上下文联合区域特征,通俗理解为两个物体的联合边界框;
节点Y(预测分类):使用融合函数生成从三个分支X Y Z获取输入的最终谓词分数。
在这里插入图片描述

4. 基于因果图的无偏预测

作者先给我我们介绍了一些在因果图中的术语:

  • 干预:清除变量的所有传入箭头,并要求变量取某个值。如下图(b),表示x不再受u的影响;
  • 反事实:如下图(c),即使x被干预,z依然保持原始值,而不因x改变而改变。

总直接效应表示为:
总 直 接 效 应 = 图 ( a ) − 图 ( c ) 总直接效应=图(a)-图(c) =ac
在这里插入图片描述
要明确一点,无偏预测是在有偏预测基础上进行的,即让模型“思考”两次。


5. 实验

5.1. 数据集

对于 SGG ,使用 Visual Genome 数据集,该数据集由 108k 个图像组成,包含 75k 个对象类别和 37k 个谓词类别。然而,由于 92% 的谓词不超过10个实例,作者遵循了广泛采用的 VG 分割方法,成为 VG 数据集,其中包含最常见的 150 个对象类别和50个谓词类别。分割后的训练集占原来 70%,测试集占原来 30%。作者从训练集中抽取 5k 验证集进行参数调整。
对于句子到图的检索,选择了 VG 和 MS-COCO 图像描述数据集之间重叠的 41859 个图像,并将其划分为训练集(35859)、测试 1k,测试 5k。后两个仅包含VG测试集的图像,每个图像至少有5个描述作为查询。

5.2. 评估模型

评估了三个模型:VTransE、MOTIFS 、VTree
评估了两个融合函数:SUM、GATE

5.3. 场景图生成评估

评估分为三个部分:

  • 关系检索(RR)
    它可以进一步分为三个子任务:
     (1)谓词分类(PredCls):图片+真实边界盒+标签 ----> 场景图
     (2)场景图分类(SGCls):图片+真实边界盒 ----> 场景图
     (3)场景图检测(SGDet):图片 ----> 场景图
    传统的 Recall@K (R@K) 评估方法被作者弃用,这些方法会过分迎合头部元素,如:on,而忽略尾部元素,如:laying on。为了解决这种问题,作者提出了mean Recall@K (mR@K)。这种评估方法分开检索每一种谓词的R@K,然后计算平均值。
  • 零样本关系检索(ZSRR)
    评估方法成为:Zero-Shot Recall@K
    主要是预测没在训练集出现过的主谓宾三元组。这是另一篇论文作者提出来的,也包括三个子任务。
  • 句子到场景图检索(S2GR)
    这是作者提出的评估方法。用句子到场景图的检索进行评估,这可以用来衡量场景图级别的一致性。举个例子,如果walking/sitting/laying on由于长尾效应都被预测为on,那么这些图片在检索的时候就会混淆在一起。

5.4. 实现细节

检测器

  • ResNeXt-101-FPN为主干的Faster R-CNN为检测器,输入图片是 1k 像素。
  • 检测器在 VG 训练集使用 SGD 作为优化器。
  • 批量大小为 8,学习率 0.008,在第 30k 和 40k 次迭代中分别递减 10 倍
  • 4 个 2080ti

场景图生成

  • 批量大小:12(PredCls、SGCls)、8(SGDet)
  • 学习率:0.12(PredCls、SGCls)、0.08(SGDet)
  • 在验证性能稳定后,学习率将下降10倍
  • 对于SGDet,每幅图像采样80个ROI
  • 与之前的工作不同,没有假设重叠的主客体对在 SGDet 中有效,这使得 SGG 更一般。

句子到场景图检索

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值