AdaMixer
接上一篇文章链接。在之前的文章中介绍了AdaMixer的采样模块:首先,构建三维多尺度特征空间,然后根据查询内容映射得到的偏移量,产生偏移位置,最后进行相应的采样。
下面介绍文章的自适应内容解码和模型整体架构的介绍。
3.4自适应内容解码
为获取空间和通道维度之间的关系,该文章提出在不同的维度单独进行有效的解码。采用简化的改进的MLP-mixer。【自适应混合,其动态混合权重类似于卷积当中的动态滤波器。有关MLP-mixer的内容可以看:MLP-mixer】
自适应通道混合
之前获取的采样特征,x 【一个query得到的一个组的采样特征 维度为Pin * (dfeat/g)】。自适应通道混合(ACM),通道混合特征输出和线性层是每一个组都需要进行的,动态权重在不同的采样点之间参数共享。公式如下:
自适应空间混合
在之前通道混合的结果上,首先进行维度转换,也就是矩阵转置,然后采用与通道混合类似的方法,进行空间上的混合操作。动态权重在不同的通道上参数共享。将空间混合之后的结果进行Linear,转换到与query相同的维度,构建类似于残差网络的结构。
实际上,这两部分就类似于卷积,通道混合类似于1*1的卷积,空间混合类似于与特征图大小一致的卷积操作
3.5网路整体结构
整体结构类似于transformer的解码器结构,首先计算query之间的自注意力关系,之后计算query与特征(特征是3D采样之后的特征)之间的关系(通道混合和空间混合),同时根据内容对位置向量进行调整更新(前馈网络FFN),最终预测得到边界框的类别和位置,位置是 x ,y ,z ,r 还需要进行解码操作,转变为所需要的x,y,w,h。
位置感知多头注意力
在注意力的计算中,加入了位置感知,如上公式(13),Q,K,V和标准的自注意力一样,公式中多加了B。
计算出来的Qk相似矩阵是二维的,也就是B矩阵也是二维的,B计算的是边界框之间的相似关系,也就是位置query的位置关系,如果边界框i和边界框 j 之间无重叠,boxi和boxj的交集为空的情况时,Bij趋于负无穷,表明这两个query位置上极度无关,与之前内容之间的关系(QKt)相加之后,会极大的降低这两query之间的相关性;如果边界框i包含于边界框 j ,boxi和boxj的交集为 boxi 的情况时,Bij为0,位置之间是包含的关系,所以最终取决于内容之间的相关性。基于这样的方法,成功引入了位置关系。
可以通过举例分析:
4实验
4.1细节补充
数据集
MS COCO 2017
mmdetection codebase这是一个开源的目标检测的代码框架。会很大程度上简化代码,但是对于代码学习会有些吃力。
配置
在论文阅读过程中,如果对于方法部分提出的 特征图 query 的欸都等不是很明确,导致公式阅读困难,可以先看后面实验部分,然后带入具体的数字进行分析,会容易很多。
对内容向量解码的FFN的隐藏层维度设置为2048,但是在更新位置向量的时候设置是256。
初始化
为了在早期能够进行稳定训练,在生成动态权重 和 采样位置偏移的 linear 层时,将这些层的初始权重设置为0,并且初始化变差。通过强制模型从0开始学习,可以帮助稳定训练。产生采样偏移量的偏差设置如下: Δ \Delta Δxi, Δ \Delta Δyj的均匀设置在[-0.5,0.5], Δ \Delta Δzi=-1 。类似于RoIAlign 层级策略,【RoIAlign参考链接】。线性层中产生混合权重的偏差遵循PyTorch的默认初始化。backbone初始化是在 ImageNet 1K 数据集上的预训练模型。
将所有的query位置向量初始化为decoder,使得它们的框和采样点在初始解码器阶段覆盖整个图像。与Sparse R-CNN类似。
这一部分还不是很清楚,什么叫初始化为decoder 还需要看具体的代码部分。
损失和优化器
损失计算和之前的query 目标检测一样,匹配损失、focal 损失、L1边界框损失,GIou 损失 【匹配时的 类别、边界框、Giou的 权重值依次2,5,2】。使用Adam W 优化器。
训练配方
根据需求,为了与不同类型的目标检测器进行对比,采用了不同的训练方案,具体细节看论文即可。不再赘述。
1x 策略 和3x 策略 具体看MMDetection 文档。
代表的是 训练过程经过 12(1x) ,36 (3x)个epoch,学习率的衰减不同。
4.2有限预算下的快速收敛
这些结果是在随机翻转作为唯一的数据增强并且在12个训练周期内实现的,这表明AdaMixer可以有效地使用训练样本进行监督。
4.3消融实验
表四
a.包含对 自适应内容、自适应位置 两个模块单独使用还是一起使用的对比
b.使用 两个内容混合 两个位置混合 先内容后位置 先位置后内容混合 的对比
c.与使用金字塔结构的网络进行对比
d.采样点的个数 Pin设置为多少 效果更好的对比
e.空间混合的最终输出的多少个 Pout
f.在自注意力的计算中,是采用正余弦位置编码 还是 query的位置信息编码 最终是两个一起用比较好
论文中这句话的意思 是(正余弦编码的内容向量和 (x,y,z,r)的每个组件 的) 位置嵌入 占通道数的1/4
两种位置编码相加 还是 某些query使用的是正余弦 某些是使用的query位置
表6.分组数是多少的设置
表8.采用3D采样和二维的采样的对比
4.4query 类目标检测器的对比实验结果**
具体的实验结果的细节,论文描述的很详细,看论文即可。
可视化
这两张图分别 表示的是 不同的两个query 最终 关注的区域位置。很明显的看出 两个query所关注的位置不同。
结语
本篇论文的学习已经结束,中间也有一些还有待解决,如果你有答案,可以评论或者私信我。