Abstract
缩放点积注意力对查询和键的缩放点积应用softmax函数来计算权重,然后将权重和值相乘。在这项工作中,我们研究了如何改进scaled dot-product注意力的学习,以提高DETR的准确性。我们的方法基于以下观察:使用地面真实前景背景掩码(GT Fg-BgMask)作为权重/值中的附加线索,可学习者学习更好的权重/值;使用更好的权重/值,可以学习更好的值/权重。我们提出了一个三重注意力模块,其中第一个注意力是一个普通的点积注意力,第二个/第三个注意力生成高质量的权重/值(借助GT Fg-Bg Mask),并与第一个注意力共享值/权重,以提高值/权重的质量。第二个和第三个注意在推断过程中被移除。我们称我们的方法为知识共享DETR(KS-DETR),这是知识蒸馏(KD)的一种扩展,通过这种方式,教师(第二和第三注意力)的改进权重和值由学生(第一注意力)直接共享,而不是模仿,以实现从教师到学生的更有效的知识转移。在各种类似DETR的方法上的实验表明,在MS COCO基准上,与基线方法相比有一致的改进。代码位于 https://github.com/edocanonymous/KS-DETR
图1。DETR架构(顶部)和KS-DETR架构(底部)。我们用三重关注取代了DETR的缩放点积关注,并保持其他设计不变。注意,编码器和解码器中的位置编码以及解码器中的可学习对象查询在架构中被跳过。
1. Introduction
检测转换器(DETR[3])建立在转换器编码器-解码器架构上,大大简化了传统对象检测方法的对象检测流水线。它将对象检测视为一个集预测问题,通过二分匹配来实现唯一预测,并在给定一组固定的可学习对象查询的情况下输出固定数量的对象类和位置。
缩放的点积注意力,应用于编码器/解码器层的自我注意力模块和解码器层的交叉注意力模块,是detr一个重要的组成部分。给定输入特征X,它首先对X进行线性投影以获得查询Q、键K和值V。然后对Q和K的缩放点积应用softmax函数以计算权重(或注意力图a),然后将a和V相乘以获得输出特征Y。
类似DETR的方法显著改善了DETR的注意力学习,例如,通过使用具有可变形注意力的多尺度特征[25],将注意力解耦到内容注意力和空间注意力[15],改进可学习对象查询的设计[23,13,11]。在本文中,我们为提高注意力学习提供了一个新的视角。我们的工作与注意力蒸馏密切相关.
注意力蒸馏[17,10,18,22]作为知识蒸馏(KD[2,9])的一种应用,已被用于提高注意力学习,以迫使学生模型模仿教师模型的注意力图。教师
A
t
A^t
At和学生
A
s
A^s
As的注意力图之间的注意力提取损失通常由以下定义
其中KL表示Kullback-Leibler散度损失,H表示注意力图的数量。注意力蒸馏的想法是,如果学生能够通过模仿老师的注意力图来学习更好的注意力图,那么也可能学习到更好的输出特征.
然而,注意力蒸馏有两个问题。首先,需要一个大型的训练有素的教师模型来提供教师的注意力图,而培训一个大型教师模型是耗时的。第二,注意力蒸馏忽略了教师价值观和学生价值观之间表达能力的差距。如果学生由于模型能力低而具有低质量的价值观,即使学生成功地学习了教师注意力图的重要部分,也很难实现输出特征的改进。
为了解决第一个问题,我们建议使用背景真相前景背景掩码(GT-Fg-Bg-Mask)作为额外的线索,以学习良好的教师注意力和学生模型中的价值观。GT Fg-Bg Mask通过将1分配给地面真实边界框内的像素而获得,否则为0。在对象检测任务中,我们需要确定预测对象的类标签和精确边界。GT Fg-Bg Mask将有助于定位和分类任务的注意力学习,因为它清楚地识别哪个像素是前景/背景。使用GT Fg-Bg Mask,我们可以通过构建单独的分支来获得教师注意力,这些分支分别学习学生注意力和教师注意力,如图2b,c,d所示。
对于第二个问题,我们提出了一种知识共享策略,以提高注意力学习中的知识转移效率。我们的建议基于以下观察结果。A/V的质量随着V/A的提高而提高,因为一方必须通过反向传播使另一方适应学习良好的输出特性。基于这些观察结果,我们设计了一个三重注意力模块,其中第一个注意力是一个普通的点积注意力,第二个注意力产生高质量A(在GT Fg Bg Mask的帮助下)并与第一个注意力共享V以提高V的质量,第三个注意力产生高质量V并与第一个注意力共享A以提高A的质量。
注意力蒸馏和我们的知识共享之间的差异如图2所示。在教师部门学到的知识(注意力图或价值观)由学生直接分享,而不是模仿。因此,消除了教师和学生之间在V的表达能力上的差距,教师所学的知识直接适用于学生。我们的贡献如下;
- 我们表明,高质量的注意力图和价值观可以在GT Fg-BgMask的帮助下学习,而无需培训大型教师模型。
- 我们提出了一个三重注意力模块,以利用高质量的注意力图和值来提高缩放点积注意力的学习,并在各种类似DETR的方法上获得一致的改进.
2.相关工作
2.1DETR
DETR[3]的随访显著改善了DETR的注意力学习。可变形DETR[25]用可变形的注意力代替了全局密集注意力,并通过稀疏采样关键点来限制查询可以关注的关键点的数量。SMCA[6]通过对预测的对象中心和尺度使用高斯加权空间图,限制交叉注意力更多地聚焦于可能包含对象的位置。DAB-DETR[13]在解码器中使用框坐标作为查询,并限制交叉注意力学习的兴趣区域。条件DETR[15]将解码器中的交叉注意力与内容注意力和空间注意力解耦。我们的工作是对上述方法的补充,因为我们的方法增加了两个教师的注意力,以帮助正常注意力的学习.
2.2知识提炼和注意力提炼
知识蒸馏(KD[2,9])首先被引入以将大型教师模型的知识压缩为用于分类任务的所有学生模型。学生不仅要预测正常的硬标签,还要模拟老师预测的类别概率(软标签),因为软标签包含硬标签中无法编码的丰富信息,例如输出类别的相似性。后来的工作将KD扩展到模仿特征和注意力图.
变压器架构的早期注意力提取工作来自自然语言处理。TinyBERT[10]应用“2注意力转移损失”来捕捉教师(BERT[5])对学生(TinyBERT)的注意力知识。MobileBERT[18]最小化了教师和学生注意力图之间的KL差异。MiniLM[22]提出不仅要模拟关注图的分布(即,查询和键的缩放点积),还要模拟值之间的关系(即,值值的缩放点乘积)。然而,MiniLM要求学生的注意力头部数量与其老师相同。为了解决这个问题,MiniLMv2[21]提出用查询和键的关系模拟来完全取代注意力图的分布模拟。AttDiscotill[20]在分类任务的自我监督视觉变换器中应用注意力蒸馏。当学生和老师拥有不同数量的头部和头部和注意力图的大小,它会进行解释和聚合,以进行注意力蒸馏.分别地与我们最相关的工作是[17]。它进行注意力蒸馏以检测传感器。来自大型教师网络的最后一个编码器层的注意力图被提取到具有较少编码器和解码器的学生网络的相同位置。然而,所有上述方法都需要一个大型的预培训教师模型,并忽略了我们在第1节中讨论的价值观的代表性差距。我们在方法中解决了这两个问题。此外,在我们的方法中,学生和教师的注意力图总是具有相同的维度(参见第3.2节),因此我们的方法比注意力蒸馏更为普遍
图2:注意力蒸馏和我们三重注意力知识(注意力图A或价值V)共享框架之间的差异。(b)和(c)中的双注意力是我们三重注意力的两种变体,通过每次从我们的三重注意力中移除不同的教师注意力模块获得。注意力蒸馏需要训练一个大型的教师模型来提供教师注意力图,而我们的方法通过使用GT-Fg-Bg-MaskMask附加线索来学习学生模型。这里 X s X^s Xs是学生注意力的缩放点积注意力的输入特征。我们首先通过将 X s X^s Xs与M融合来获得教师特征 X t X^t Xt(详细信息在第3.2节中给出)。然后我们从 X t X^t Xt导出 A t A^t At和教师值 V t V^t Vt。注意 Y t 1 Y^{t1} Yt1, Y t 2 Y^{t2} Yt2(d)是我们两位老师关注的缩放点产生的输出.
2.3使用GT进行注意力或特征学习
地面真相(GT)通常被用作超视觉任务中的目标,以通过对模型的预测施加loss来辅助模型的训练,使其与目标相同。在基于锚的两阶段检测方法(如Faster R-CNN[16])中,提高准确性的一个技巧是直接添加GT框作为高质量的建议,以在第二阶段增加输入建议的多样性,以便更好地进行特征学习。如果我们只依靠第一阶段提出的建议,通常很难获得高质量的建议。DN-DETR[11]和DINO-DETR[24]采用了与DETR类似的思想,他们添加了GT盒(在对象边界和类标签中具有随机噪声)作为对象查询,以增加解码器特征的学习。我们的方法与上述两种方法的不同之处在于,我们直接使用GT盒作为附加功能,而不是盒先验,以提高注意力学习和价值学习.
3.Our Method
我们首先回顾了DETR[3],然后介绍了如何在DETR上构建我们的方法。
3.1DETR
DETR[3]架构由CNN主干、编码器-解码器转换器和前馈网络(FFN)组成,如图1顶部所示。CNN骨干从输入图像 f ϵ R H × W × C f\epsilon R^{H\times W\times C} fϵRH×W×C生成特征 I ϵ R H 0 × W 0 × 3 I\epsilon R^{H_{0}\times W_{0}\times 3} IϵRH0×W0×3。在将这些特征输入编码器之前它们首先被传递到1×1卷积,以减少C到d信道维度,然后在空间维度上被展平为标记 X ϵ R H W × d X\epsilon R^{HW\times d} XϵRHW×d。Xi进一步被编码器中的一系列相同的编码器层处理,以获得编码器特征 f e ϵ R H W × d f^{e}\epsilon R^{HW\times d} feϵRHW×d和解码器中的一序列相同的解码器层,以获得关于N个对象查询的解码器特征 f d ϵ R N × d f^{d}\epsilon R^{N\times d} fdϵRN×d。对象查询是可学习的输入嵌入,是DETR的一个类型参数。最后,FFN预测每个对象查询的盒坐标和类标签.
图3。我们方法中使用的三重注意力的细节(右)和正常缩放的点积注意力(左)。红色方块的最小值代表GT Fg-Bg Mask。
每个编码器层由自我关注和位置相关的FFN组成。在不失一般性的情况下,自我注意和FFN的正向传播由下式给出:
其中Q,K和V分别是从X学习到的查询、键和值,LN表示层规范化[1],MHA表示多头注意力[19] X 1 . . . . . . . X h X_{1}.......X_{h} X1.......Xh(例如,h=8)沿着通道维度,分别对每个组进行缩放点积关注,然后将线性投影应用于头的输出以生成最终输出。线性投影由下式给出;
其中 h e a d i = A t t e n t i o n ( X i W i Q , X i W i K , X i W i V ) head_{i}=Attention(X_{i}W_{i}^Q,X_{i}W_{i}^K,X_{i}W_{i}^V) headi=Attention(XiWiQ,XiWiK,XiWiV)表示单个头部的输出,并由
这里softmax通常被称为注意力图A。由于Transformer架构是置换不变的,所以将位置编码(P E)添加到X以获得每个关注层的Q、K,V,即
其中 W Q ϵ R d m o d e l × d q W^Q\epsilon R^{d_{model}\times d_{q}} WQϵRdmodel×dq, W K ϵ R d m o d e l × d k W^K\epsilon R^{d_{model}\times d_{k}} WKϵRdmodel×dk, W V ϵ R d m o d e l × d v W^V\epsilon R^{d_{model}\times d_{v}} WVϵRdmodel×dv,是缩放点积关注的参数,并且 d m o d e l = d / h d_{model}=d/h dmodel=d/h
3.2KS-DETR
我们的动机是通过知识共享提升的地图A和价值V提高缩放的点积关注输出特征Y。我们对知识共享的想法是,如果A/V被高质量的
A
t
/
V
t
A^t/V^t
At/Vt所取代,那么V/A也应该得到改进,因为我们必须通过反向传播来适应高质量的A/V。然后,通过正常缩放的点积关注度直接利用改进的V/A.
由于其简单性,我们验证了编码器中知识共享数据的有效性,因为编码器层不需要像解码器层那样学习编码器-解码器注意力(交叉注意力)。我们的方法被设计为适用于任何类似DETR的方法,该方法使用了一种编码器-解码器架构。我们的KS DETR的架构如图1底部所示。在GT前景背景掩码(GT Fg-Bg mask)的帮助下,我们用我们的三重注意力替换了DETR[3]最后一个编码器层中的缩放点积注意力.
其中i和j分别表示水平和垂直方向上的图像坐标,GT boxes表示地面实况边界框。然后,我们将(双线性) M I M_{I} MI插入CNN主干的输出特征图的大小。最后,我们将插值mask展平到空间维度,并获得 M ϵ R H W × 1 M\epsilon R^{HW\times 1} MϵRHW×1。生成的GT Fg Bg掩码的一个示例如图1所示
三重注意我们的三重注意力模块由学生注意力和两个教师注意力组成。它由三组(Q,K,V)和重复元素组成,如图3所示。这三个组分别是:1)(Q,K,V)第一个普通注意Attn1,2)(Q、K,
V
t
V^t
Vt)第二个注意Attn2(Q和K与共享Attn1),3)(
Q
t
Q^t
Qt,
K
t
K^t
Kt,V)第三个注意Attn3(V与第一个注意共享)。这里的上标t表明老师,一个从知识蒸馏中借用的术语。请注意,(Q,K,V)还有其他组合,例如,(
Q
t
Q^t
Qt,
K
t
K^t
Kt,
V
t
V^t
Vt),(
Q
t
Q^t
Qt,K,V)和(
Q
t
Q^t
Qt、
K
t
K^t
Kt,V)。无论如何,(
Q
t
Q^t
Qt,
K
t
K^t
Kt,
V
t
V^t
Vt)不能与Attn1共享A或V,并且我们为Attn3选择的(
Q
t
Q^t
Qt、
K
t
K^t
Kt,V)在生成高质量方面略优于(
Q
t
Q^t
Qt, K, V) 和 (
Q
t
Q^t
Qt,
K
t
K^t
Kt, V),就产生高质量
A
t
A^t
At而言,
Q
t
Q^t
Qt和
K
t
K^t
Kt都有助于学习高质量
A
t
A^t
At。
与等式5所示的原始DETR相等的学生模型一样,
Q
t
Q^t
Qt、
K
t
K^t
Kt、
V
t
V^t
Vt是从教师特征
X
t
X^t
Xt的线性投影中获得(如下所述):
教师特征生成.
教师特征
X
t
X^t
Xt是输入标记X和GT Fg BgMask M融合的输出。我们可以通过简单地将
X
X
X和
M
M
M连接到通道维度来生成
X
t
X^t
Xt
然而,串联将改变特征尺寸,并导致在计算多头注意力时产生的频道数不可分割。这个问题的一个不恰当的解决方案是用M替换X的最后一个通道.
以保持通道的尺寸不变。代替连接,我们建议执行稀疏MLP(sMLP),它通过以下方式仅对前景tokens应用线性投影,然后进行Relu激活.
其中 W f g ϵ d × d W_{fg}\epsilon d \times d Wfgϵd×d。我们根据经验发现,在准确性方面,sMLP优于连接(参见第4.3节)。
我们的sMLP的参数增加是d(d+1),其中d是嵌入维度(例如,256)。这个数字很小,因为它是一个位置操作。ReLU激活对于改变前景标记的特征分布是必要的,以使前景标记始终具有非负值,从而有效地融合前景/背景信息。
&emsp三重注意力的输出。对于三组(Q,K,V),我们可以通过使用等式2共享相同编码器层中的后续模块(例如,MHA和FFN),分别为Attn1、Attn2和Attn3生成输出
Z
A
t
t
n
1
Z^{Attn1}
ZAttn1、
Z
A
t
t
n
2
Z^{Attn2}
ZAttn2和
Z
A
t
t
n
3
Z^{Attn3}
ZAttn3。如何获得
Z
A
t
t
n
1
Z^{Attn1}
ZAttn1、
Z
A
t
t
n
2
Z^{Attn2}
ZAttn2和
Z
A
t
t
n
3
Z^{Attn3}
ZAttn3的工作流程如图3所示。这些输出由共享的子序列层(即解码器)进一步单独处理,以保持每个注意力的训练独立。在推理过程中消除了第二和第三个注意以及sMLP,因此在训练后不会引入额外的参数和计算开销。
损失函数。我们的损失函数是原始DETR在使用三个注意力
Z
A
t
t
n
1
Z^{Attn1}
ZAttn1、
Z
A
t
t
n
2
Z^{Attn2}
ZAttn2和
Z
A
t
t
n
3
Z^{Attn3}
ZAttn3的输出进行最终预测时的故障损失的组合:
4 实验
4.1主要结果
我们使用COCO数据集[12]来评估我们的方法,并在COCO 2017验证集上报告AP。我们将我们的方法与以下基线方法进行了比较:条件DETR[15]、DAB-DETR[13]、DN-DETR[11]、可变形DETR[25]和DN可变形DETR[11]。其中,可变形DETR[25]和DN可变形DERT[11]使用多尺度特征,其余使用单尺度特征。我们使用ResNet50(R50[8])和ResNet101(R101[8])作为CNN主干。对于DAB-DETR[13],我们进一步测试变压器主干Swin-T[14]。除非另有说明,我们遵循DETR的标准训练程序,用于批量大小为16的12-epoch和50-epoch训练.
结果如表1所示。我们看到,我们的方法始终改进了所有测试背景的所有基线方法。有两种有趣的部分。首先,对强大的骨干力量的改进往往比薄弱的骨干力量更为复杂。以DAB-DETR[13]为例,Swin-T、R101和R50的基线改善分别为1.9、1.3和0.6 AP。第二,与长时间训练计划(例如,50个时期)相比,短时间训练计划的训练(例如,12个时期)通常表现出更大的改进,这表明我们的方法可以有效地加快训练。例如,可变形-DETR-R101[25]在12epochs、24epochs和50epochs的改进分别为1.6、1.4和0.9 AP。我们的方法的快速收敛也可以在图4中看到,通过将基线与Attn1(我们的三重注意力模块中的普通注意力)进行比较。
图4。KS-Deformable-DETR-R101的三重注意力模块中每个注意力的输出的检测结果。基线为可变形-DETR-R101。基线和我们的方法都经过了50个时期(375K次迭代)的训练。注意,Attn2和Attn3在训练和推断过程中都使用GT-Fg-Bg掩码,而Attn1和基线从不访问GT-Fg-B掩码。
4.2GT-Fg-Bg-Mask对教师注意力和价值观学习的影响
我们方法的设计是首先学习高质量的A和V,然后将共享的V和A提升到更高的质量水平。在这里,我们验证我们是否为两位老师学习了高质量的A和V。我们报告了三重注意力的每个分支(Attn1、Attn2和Attn3)的解码器预测的准确性,结果如图所示。4.我们发现,在GT Fg Bg Mask的帮助下,两个教师注意力(Attn2和Attn3)以较大的优势(10+AP)超过了学生注意力Attn1。注意,用于对Attn1和Attn2进行预测的模型的所有参数都是共享的,除了用于估计其注意力图的参数。因此,很明显,与Attn1相比,Attn2学会了更高质量的注意力图。如果我们将attn1的注意力图替换为attn2的注意力图,我们可以立即获得attn2相同的高精度。Attn1和Attn2之间的比较也表明,通过简单地改进所获得的注意力图,DETR方法仍有改进的空间。同样,我们通过比较Attn1与Attn2的准确性,确认高质量的值是为第三次注意力学习的.
4.3.知识共享在三重关注中的作用
我们在第二和第三个注意中验证了知识共享策略的有效性。我们将我们的三重注意力与两个双重注意力模块进行比较:1)普通注意力和具有高质量价值的第二注意力
表3。基于DN-DETR-R50的KS-DETR消融结果。所有的双重关注都使用共享V策略。所有模型都以批量大小4训练60个时期。我们训练这些模型的时间略长于标准的50个时期,以确保它们收敛.
(在GT Fg Bg Mask的帮助下)但与普通注意力共享A(图2b)2)普通注意力和第二注意力,具有高质量注意力图,但与普通注意共享V(图2c)
我们使用DAB-DETR-R101[13]作为基线方法。结果如表所示。2.我们发现,双重注意力(共享V)比基线(单一注意力)好1.0 AP,而双重注意力(分享A)比基线好0.8 AP。我们的三重注意力表现出巨大的改善(1.3 AP)。实验证明了共享V和A在注意力学习策略的有效性,并证明了我们设计三重注意力的合理性.
4.4.Effects of sMLP
我们使用sMLP(等式10)生成教师特征,如第3.2节所述,而不是通过等式9将原始特征X与GT Fg Bg MaskMb串联。后者中每个token的特征值在最后一个通道中标记为0或1.
我们比较了这两个选项,结果如表3所示。我们看到我们的sMLP略好于连锁战略。使用sMLP优越性的可能原因是,sMLP是可学习的,因此它可以适应注意力或价值学习的输入特征,而认知不能适应输入特征.
5.结论
在本文中,我们提出了一个三重注意模块,以改进检测Transformer中缩放点积注意的学习。我们的方法通过强制教师和学生共享注意力学习中的一些组件来扩展知识蒸馏框架。我们设计了两个教师注意力,通过价值观和注意力图共享来提高普通学生注意力图和价值观的学习。我们使用GT Fg Bg Mask作为额外线索,为两位教师学习良好的注意力图和价值观,而无需训练大型教师模型。我们的方法与各种类似DETR的方法表现出一致的改进。三重注意模块可能在多个编码器层或解码器层中有效,我们将在未来的工作中研究这些方向。