24-cvpr-Extracting Graph from Transformer for Scene Graph Generation 学习笔记

Formulation

One-stage Object Detector

我们的模型框架深受DETR [1](一种单阶段物体检测器)的影响。在DETR中,输入图像的表示通过CNN和Transformer [39]编码器进行学习。Transformer解码器通过利用自注意力和交叉注意力机制来增强物体查询。最终的物体检测头从情境化的物体查询中预测物体类别标签和框坐标。

Transformer编码器基于多头自注意力机制增强图像表示。通过应用一个1 × 1卷积将维度从C降低到 d m o d e l d_{model} dmodel,然后将特征图展平成长度为 H F ∗ W F H_F * W_F HFWF的输入序列,用于Transformer编码器。额外的位置编码用于反映特征图的空间信息。

Decoder

Transformer解码器将 N N N个对象查询作为输入,并返回它们的表示。每个对象查询检测一个独立的对象,通常将 N N N设置得足够大以覆盖图像中的所有对象。通过交替的自注意力层和交叉注意力层,对象查询学习输入图像中对象候选的特征。请注意,自注意力层未应用因果注意力掩码;因此,从多头自注意力中学习到的 N N N个对象查询之间的完全连接的 N × N N \times N N×N注意力权重如下:

A h l = f ( Q h l , K h l ) = softmax ( Q h l ( K h l ) T d h e a d ) , A^l_h = f(Q^l_h, K^l_h) = \text{softmax}\left(\frac{Q^l_h (K^l_h)^T}{\sqrt{d_{head}}}\right), Ahl=f(Qhl,Khl)=softmax(dhead Qhl(Khl)T),
其中, A h l ∈ R N × N A^l_h \in \mathbb{R}^{N \times N} AhlRN×N 表示第 l l l层中第 h h h个头的注意力权重。 Q h l ∈ R N × d h e a d Q^l_h \in \mathbb{R}^{N \times d_{head}} QhlRN×dhead K h l ∈ R N × d h e a d K^l_h \in \mathbb{R}^{N \times d_{head}} KhlRN×dhead 分别是注意力查询和键。

EGTR

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

我们提出了一种新型轻量级关系提取器EGTR,它利用了DETR解码器的自注意力机制,如图3所示。由于公式(1)中的自注意力权重包含了 N × N N \times N N×N个物体查询之间的双向关系,我们的关系提取器旨在通过将注意力查询和键分别视为主语和宾语,从整个 L L L层的自注意力权重中提取谓词信息。

为了保留自注意力层中学习到的丰富信息,我们设计了另一个关系函数 f f f用于注意力查询和键之间,而不是使用公式(1)中的点积注意力。由于连接操作可以完全保留表示,我们将所有 N × N N \times N N×N对的注意力查询和键的表示如图3(a)所示进行连接,以获得第 l l l层的关系表示 R a l ∈ R N × N × 2 d m o d e l R^l_a \in \mathbb{R}^{N \times N \times 2d_{model}} RalRN×N×2dmodel。在配对连接之前,为了帮助查询和键发挥主语和宾语的角色,添加了一个线性投影,如下所示:

其中, Q l ∈ R N × d m o d e l Q^l \in \mathbb{R}^{N \times d_{model}} QlRN×dmodel K l ∈ R N × d m o d e l K^l \in \mathbb{R}^{N \times d_{model}} KlRN×dmodel 分别表示权重。

我们还利用了物体查询的最后一层表示 Z L ∈ R N × d m o d e l Z^L \in \mathbb{R}^{N \times d_{model}} ZLRN×dmodel,这些表示以相同的方式用于物体检测:

其中, W S W_S WS W O W_O WO 是形状为 R d m o d e l × d m o d e l \mathbb{R}^{d_{model} \times d_{model}} Rdmodel×dmodel 的线性权重。为了有效利用在所有层中学习到的各种信息,我们引入了一个门控机制如下:

其中, g a l g^l_a gal g z ∈ R N × N × 1 g^z \in \mathbb{R}^{N \times N \times 1} gzRN×N×1 表示通过一个单线性层 W G ∈ R 2 d m o d e l × 1 W_G \in \mathbb{R}^{2d_{model} \times 1} WGR2dmodel×1 分别为 R a l R^l_a Ral R z R^z Rz 获得的门控值。最后,我们通过所有层关系表示的门控求和提取关系图,如下所示:

在这里插入图片描述

其中, G ^ ∈ R N × N × ∣ C p ∣ \hat{G} \in \mathbb{R}^{N \times N \times |C_p|} G^RN×N×Cp 表示预测的关系图, M L P r e l MLP_{rel} MLPrel 是一个带有ReLU激活函数的三层感知器。请注意,我们使用sigmoid函数 σ \sigma σ,以便多个关系可以存在于对象之间。

Learning and Inference

为了训练EGTR,我们进行多任务学习。除了物体检测和关系提取外,我们还设计了连通性预测,这是一个辅助关系提取的任务。该框架的总体损失如下:
在这里插入图片描述

其中, L od \mathcal{L}_{\text{od}} Lod 是公式(2)中的物体检测损失。 L rel \mathcal{L}_{\text{rel}} Lrel L con \mathcal{L}_{\text{con}} Lcon 分别是关系提取和连通性预测的损失函数。由于使用了显式的物体检测损失,EGTR具有检测场景图中所有节点的能力。每个任务的损失详细信息如下所示。

Relation Extraction

我们使用二元交叉熵损失来进行关系抽取。为了匹配预测图 G ^ ∈ R N × N × ∣ C p ∣ \hat{G} \in \mathbb{R}^{N \times N \times |C_p|} G^RN×N×Cp和真实值三元组集合 E,我们首先将 E 编码为一个独热编码的真实图 G ∈ R N × N × ∣ C p ∣ G \in \mathbb{R}^{N \times N \times |C_p|} GRN×N×Cp,通过将不对应于真实对象之间关系的区域填充为零。然后,我们使用在对象检测中找到的置换对预测图的索引进行置换。从置换后的图 G ^ ′ \hat{G}' G^中,关系抽取的损失计算为
L r e l = L r ( G ^ ′ , G ) 。 L_{rel} = L_r(\hat{G}', G)。 Lrel=Lr(G^,G)
然而,由于图的大小与 N N N 的平方成正比,真实值图 G G G 的稀疏性过于严重。例如,当 N N N 设为200时,Visual Genome [12] 验证数据集的密度仅为 1 0 − 14 10^{-14} 1014。因此,我们将 G G G 分为三个区域:(1)GT 区域,(2)负区域,以及(3)不匹配区域,如图4所示。GT 区域表示 G G G 值为1的真实三元组。负区域由主语和宾语都由真实对象组成但不存在关系的三元组组成。不匹配区域表示填充为零的区域。它与一个由不匹配真实对象的对象候选组成的区域配对,并与公式 (2) 中的 ϕ \phi ϕ匹配。对于每个区域,我们应用不同的技术来有效地与对象检测结合进行关系抽取训练,如下所述。

Adaptive Smoothing

我们提出了一种新颖的自适应平滑方法用于 GT 区域。对于属于 GT 区域的 G i j k G_{ijk} Gijk,模型被训练预测主体实体 v i v_i vi 和客体实体 v j v_j vj 之间的第 k k k个谓词类别。然而,由于在训练开始时,与 v i v_i vi v j v_j vj 分别匹配的 v ^ i ′ \hat{v}'_i v^i v ^ j ′ \hat{v}'_j v^j 没有足够的关于对应真实对象的表示,因此预测谓词概率为1可能并不合适。此外,即使对象检测性能得到了合理保证,单个对象候选的检测性能仍可能有所不同。因此,我们通过自适应平滑反映每个对象候选的检测性能在关系标签上。我们首先通过相应的二分匹配成本衡量每个对象候选的不确定性。对于对象候选 v ^ i ′ \hat{v}'_i v^i,我们定义不确定性如下:

其中,$ \text{cost}i $ 表示匹配成本,$ \text{cost}{\text{min}} $ 表示当 $ \hat{v}'i $ 完全匹配 $ v_i $ 时的匹配成本。$ \alpha $ 是一个非负超参数,表示最小不确定性。我们将 $ G{ijk} $ 的值设为 $ (1 - u_i)(1 - u_j) $ 以考虑不确定性。通过使用由不确定性调整的关系标签,目标检测和关系抽取的多任务学习可以根据检测对象的质量进行动态调节。

Negative and Non-matching Sampling.

我们不是采用所有的负样本,而是从负区域中抽样。受到Liu等人[22]提出的困难负样本挖掘的启发,我们**根据预测的关系得分 $ \hat{G}'{ijk} $ 对所有负样本进行排序,并选择前 $ k{\text{neg}} \times |E| $ 个最具挑战性的负样本。同样地,我们从不匹配区域中提取 $ k_{\text{non}} \times |E| $ 个困难样本。**由于不匹配区域通常涵盖了图 $ G $ 的大部分,这种方法显著降低了稀疏性。

Connectivity Prediction

受到Graph-RCNN [43]通过预测相关性来修剪对象对的影响,我们提出了一个连通性预测方法,该方法预测两个对象节点之间是否存在至少一条边,以进行关系提取。我们以类似于公式(6)中获取关系图的方法,使用相同的关系源表示,获得一个连通性图 E ^ ∈ R N × N × 1 \hat{E} \in \mathbb{R}^{N \times N \times 1} E^RN×N×1。对于多标签预测,我们使用另一个MLP con _{\text{con}} con进行二分类。我们从排列后的连通性图中计算二元交叉熵损失,如下所示: L con = L r ( E ^ ′ , E ) \mathcal{L}_{\text{con}} = \mathcal{L}_{\text{r}}(\hat{E}', E) Lcon=Lr(E^,E)

Inference

对于模型推理,我们通过将谓词分数 G ^ i j k \hat{G}_{ijk} G^ijk与对应的类别分数 v ^ i c \hat{v}^c_i v^ic v ^ j c \hat{v}^c_j v^jc相乘来获得三元组分数。请注意,我们将 G ^ i i k \hat{G}_{iik} G^iik设置为0,以防止主语和宾语是相同实体的自连接。此外,我们通过利用连通性分数 E ^ i j k \hat{E}_{ijk} E^ijk来增强三元组分数。通过乘以连通性分数,我们可以有效过滤掉不太可能存在主语和宾语关系的三元组。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值