简介
目前细粒度图像识别的卷积神经网络中存在一下几个问题
- 注意力的数量是有限的,预先定义的,限制了模型的灵活性和有效性
- 没有部件注释的情况下,特征图各个通道无法直接用作注意力图
- 每个部件训练训练卷积神经网络的效率不高
本文提出了三线性注意采样网络(TASN),用一种高效的方式,使用师生网络从数百个部件提议,然后在单一的卷积神经网络中学习细粒度特征。具体来说,TASN由以下三个部分组成:
- 一个三线性注意力模块,通过对通道之间的关系进行建模从而生成注意力图
- 一个基于注意力的采样器,高分辨率突出显示参与部件
- 一个特征蒸馏器,提取部件特征后,通过权重共享和特征保留策略转化为对象级特征
本文在iNaturalist,鸟、车数据集上实现了最2020年新水平
方法核心
网络架构
如图所示,对于给定的输入,首先经过主干网络卷积操作生成特征图,然后有三线性注意力模块将其转换为注意力图,然后随机选择其中的一个注意力图对输入图像进行注意力采样,然后以高分辨率模式保留注意力区域的细节,称为细节保留图。同时为了保留图像整体细节,对所有注意力图取平均值再次对注意力图采样,称为结构保留图。最后使用共享参数的知识蒸馏方法,使用软交叉熵将细节保留图的特征信息提炼到结构保留图中。
三线性注意力
对于输入的特征图,本文进行了特征图的融合操作,原始特征图的尺寸为
(H,W,C)
,将H
和W
相乘,重塑为(C,H×W)
,然后使用以下公式计算三线性注意力
本质上就是对通道维计算自注意力,在第一次相乘时,使用软最大化操作输出结果,生成的是每个通道和其他通道的关联性。然后将通道之间的关系融合到空间维度的特征图当中,从而融合相似区域不同通道的信息。本文使用软最大化来规范注意力,第一次是对空间信息归一化,第二次是通道关联的归一化,最后将输出重塑为(H,W,C)
,每个通道都代表一张注意力图
细节采样
在拥有了多个通道的注意力图之后,细节保留图对保留了原始图的全局结构并对细节区域额外采样,更专注于辨别性区域的细节。结构保留图则去除了没有细粒度细节的区域,从而可以以高分辨率保留辨别性区域。
得到注意力图之后,随机选择一个注意力图作为细节保留图,随着训练的进行,所有的注意力图都可能被选中。然后将该注意力图视为采样概率密度图,具有较大注意力值的区域更有可能被采样,然后对X轴和Y轴使用最大值计算将注意力图分为两个维度,这样比求和更为稳定,然后对其求积分,使用反函数获得映射坐标。总之注意力图就是原始坐标和映射坐标的映射函数。
细节蒸馏
将细节保留图和结构保留图作为输入,利用类似师生网络的方式将部件细节信息转移到主网络中,两者共享参数。输出预测结果后,结构保留图输出的结果计算和正确类别的交叉熵损失,同时计算细节图的输出概率和结构保留图的对正确类别预测概率差异的交叉熵损失。最后总损失为两者的加权和。通过这种方法,可以细粒度细节学习的特征传导到主网络中,随着网络迭代,可以将所有特征提取到主网络中。
总结
本文看似高大上的三线性注意力,本质就是将小块大小设置为1×1的自注意力机制,目前应该是已经被Transformer完全替代了,不过在2019年能提出本文的方法也是十分具有创新型的,计算不同通道之间的联系,从而更好的规范特征图。
本文还结合了知识蒸馏的方法,对判别性部件特征融合的方式进行优化,和传统的连接方法比起来,这种方法可以更有效的提炼特征,作为创新点也十分有新意,在Transformer中也可是使用相似的方法。
在细节采样方面,我认为做的比选择性稀疏采样这边文章做得更好,也更容易理解,因为只需要计算最大值和积分,从而将原始图像进行重构,获得更具有判别力的细节信息。同时部件的数量不用认为定义。可以考虑使用这种方法对注意力图进行缩放,从而获得更广泛的注意力信息。