【ReID】【skimming】AMC-Loss: Angular Margin Contrastive Loss for Improved Explainab

469 阅读4分钟

中了2020CVPR的workshop的一篇文章,AMC-Loss: Angular Margin Contrastive Loss for Improved Explainability in Image Classification[1],为了解决现存loss在分类问题中出现的类内样本不够聚集,类间聚类分界不够清晰的问题,文章提出了一种基于黎曼几何约束的角间隔对比损失——Angular Margin Contrastive Loss(AMC loss),作为对传统损失的一种补充,可以与交叉熵损失一同使用。实验表明,AMC loss相比传统loss对图像分类测试的表现有所提高,且在定性的可视化中有着非常惊人的提高,大大提高了可解释性。

源码:

github.com/hchoi71/AMC…

文章一览:

痛点

目前分类问题最常用的是交叉熵损失(cross-entropy loss),而诸如center loss, contrastive loss 和triplet loss这样的辅助损失函数也经常用,但是最近研究表明这些损失在计算度量时忽略了角度距离,和由特征表征所展示的低级和高级特征。这就导致了类内缺少紧凑性,类间的聚类分界线不够清晰的问题。

例如,惩罚深度特征与其对应的类中心之间的欧几里得距离的中心损失(center loss),是一种强制最小化额外类内距离的方法。即使中心损失可以提高类内部的紧密度,也不会使不同类之间的距离相距不远,从而导致类间可分离性的变化很小。

为此,作为一种替代方法,可能希望使用对比损失,同时考虑类间的可分离性。对比损失可用于学习嵌入特征,以使相似的数据彼此靠近,同时保持不相似的数据彼此分开。但是对比损失需要输入样本对来得到loss,由于数据量的庞大,传统方法构建合适的样本对具有非常高的计算复杂度,导致收敛变慢。 且使用欧式距离学习到的特征的几何特性存在固有的不匹配,交叉熵损失,欧氏距离对比损失和AMC loss的可视化对比如下图2:

模型

AMC loss最小化同类点之间的测地线距离(曲面上两点的最短距离),驱使不同类点的分离更清晰,保留了对比损失的形式有AMC-loss:

其中m_{g}为最小角度间隔,当S_{ij}=0时为非近邻对,S_{ij}=1时为近邻对,因而所有training set的组合都能被考虑进去。

在CNN部署中,模型结构如下:

通过global avg pooling得到下采样的特征后,通过单位范式特征的约束:

将特征表示为超球面上的一个点,并将其应用于AMC-Loss。

由于采样样本对需要花费大量的时间,而且之后还要计算测地线距离,这使得收敛速度会变慢,为了解决这个问题,文章采用双重随机采样样本对的方法来计算测地线距离,文章将一个batch B分为两组,一组为B1,一组为B2,每个组有n/2个样本,此时可以直接对比两个组,并做elementwise的测地线计算。

另外,无需预先选择数据对,文章通过网络输出的预测的label来计算S_{ij}

原因在于,输出的预测label本来就是各类中拥有最大概率的label。

有伪代码如下

L_{c}为交叉熵损失,λ为交叉熵损失和AMC loss的平衡参数。\omega(t)为使用高斯上升和下降曲线施加在AMC-loss上的权重函数

实验

在MNIST和CIFAR10数据集与交叉熵损失,欧氏距离对比损失对比的结果:

在10K MNIST数据集进行3维可视化的对比

可以看到类内的紧凑性和类间的分离性AMC-Loss都是更好的。

在SVHN数据集可视化的对比:

CIFAR10十种类别的注意力热图可视化对比,每一类从左到右分别为交叉熵损失,欧氏距离对比损失和AMC-loss:

关于超参数影响的分离试验

所用的模型结构如下表:

参考文献

[1] Choi H, Som A, Turaga P. AMC-Loss: Angular Margin Contrastive Loss for Improved Explainability in Image Classification[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. 2020: 838-839.