ABD-Net: AttentivebutDiversePersonRe-Identification

github

两点贡献:

  • 分割中Dual attention network for scene segmentation上的PAM和CAM用在reid上
  • 一种更软的正则化方式

主要介绍后者(前者只是一个应用)。整个网络为:
ABD-Net: AttentivebutDiversePersonRe-Identification
其中OW和OF即为正则化,分别指的是正则化各种层如卷积,全连接层的权重(W)和正则化输出的特征图(F)。

出发点:
要求不仅有attention,还要attention Diversity。于是就要加上正则(约束),以前也有正则的过程如孙弈帆大佬的SVD那篇论文,但这些都有一个SVD的分解过程,这各计算量非常大。
作者希望同一个更softer的方式达到目的。

以前怎么做的?
ABD-Net: AttentivebutDiversePersonRe-Identification
ABD-Net: AttentivebutDiversePersonRe-Identification

什么意思?
首先否定了hard的SVD分解方式,计算量太大。紧接着指出其他方法实在让F Gram矩阵近似成为一个单位矩阵,但这很难,因为F往往是不满秩的,而单位矩阵要求满秩,因此很难(但作者最后将F可视化的结果其实很近似单位阵)。

其中F是特征或权重的Gram矩阵,分别对应OF和OW。

什么是Gram矩阵?即矩阵分解为若干向量后,向量之间彼此做内积得到的偏心协方差矩阵。详见:博客
很显然这是一个对称阵。

作者指出可以通过下式:
ABD-Net: AttentivebutDiversePersonRe-Identification
达到作者想要的attention多样性(广泛存在,attention更广)的目的。

解释一下:
其中k(F)k(F)表示F的条件数(见数值分析),对于对称方阵的F,条件数就为F的最大特征值除以最小特征值。

最小化上式就是在让矩阵F的最大特征值和最小特征值尽量接近。什么意思?
也就是让特征值尽量均匀分布,而特征值代表着矩阵中的能量,即矩阵中的信息,越大表示信息越多。于是也就是让F更加平滑,信息分布更加均匀,也就是attention的多样性达到了。

对于不是方针的F怎么办?那就把F换成FFTFF^T,按照上面一样的过程求FFTFF^T的特征值,也就是F的奇异值(SVD分解)。关于SVD分解和特征值分解的相关知识可以参考(还联系到了PCA):
博客1
博客2
更广泛的,就可以写成:
βk(FFT)122\beta||k(FF^T)-1||^2_2

作者指出上面这个在FFTFF^T的最小的特征值很小的时候会出现数值不稳定问题(结果超大)。于是改成了:
ABD-Net: AttentivebutDiversePersonRe-Identification
效果是一样的,但解决了数值问题。

那剩下的就是求FFTFF^T的两个特征值的问题了,而直接求FFTFF^T的特征值和求奇异值没啥区别,还是计算量巨大。于是作者提出了用迭代法求特征值。如下:
ABD-Net: AttentivebutDiversePersonRe-Identification

不难发现上面的迭代过程就是数值分析中的幂法求特征值的过程。至此,全文结束。

但其实思路可能是有问题的,因为作者一开始指出SVD分解计算量很大,然后转向特征值分解的过程,最后给出了特征值分解计算量也很大,然后幂法跌打求特征值,那为什么没有直接幂法跌代求SVD分解呢?也是可以同样做约束达到多样性attention的目的的。

我个人理解是作者做的和以前没有什么差别,无论是SVD分解还是特征值分解,其实都是一个过程,特征值可以说是奇异值的一种特例。作者做的也可以说是幂法迭代求SVD的过程,因此这一点做的还是和之前的人一样,而关键点则在于
ABD-Net: AttentivebutDiversePersonRe-Identification
能达到attention的多样性的提出(这个是不是本文提的不是很清楚)。

总的损失:
ABD-Net: AttentivebutDiversePersonRe-Identification

效果:
ABD-Net: AttentivebutDiversePersonRe-Identification
XE是只用softmax监督。结果可以看出加了PAM,CAM,OF和OW都能提点,而加了SVD则掉点。

ABD-Net: AttentivebutDiversePersonRe-Identification

ABD-Net: AttentivebutDiversePersonRe-IdentificationABD-Net: AttentivebutDiversePersonRe-Identification

当然效果也是很强的,SOTA妥妥的。

**图可视化:
ABD-Net: AttentivebutDiversePersonRe-Identification
ABD-Net: AttentivebutDiversePersonRe-Identification
能明显看到**更广了,也更准了。

权重可视化:
ABD-Net: AttentivebutDiversePersonRe-Identification
明显更像单位阵了。