[深度学习论文笔记][CVPR 16]Deep Metric Learning via Lifted Structured Feature Embedding

时间:2022-09-13 09:52:51

[CVPR 16] Deep Metric Learning via Lifted Structured Feature Embedding

Hyun Oh Song, Yu Xiang, Stefanie Jegelka, Silvio Savarese
from Stanford and MIT

paper link

Intuition:

该工作要解决的问题是分类种类数目极多的图像分类任务。当分类种类非常多的时候会面临两个问题:(a) 分类器的优化难度会显著增加;(b) 种类数目多的时候,每一类的训练数据数量会比较少。

为了改善训练质量,作者将一种改进的metric learning的方法引入到深度分类网络中。

Method:

本文提出的metric learning方法,我总结起来主要有两点:

  1. 仍是基于pair-wise contrast的loss,仍然需要构建正样本对和负样本对。属于建立在contrastive loss和triplet loss之上的incremental work。
  2. 选择正负样本对的方法有所改进。所有的样本对在mini-batch中寻找,不需要事先选定或者训练前随机抽取生成。

具体的细节也十分简单。给定一个训练的mini-batch,将网络前向传播得到各个样本的特征向量:

  1. 首先计算mini-batch内每个样本特征之间的欧氏距离。这一步可以通过矩阵运算以较小的运算成本得到。此时得到一个距离矩阵D。第i行第j列的元素代表batch中,第i,j个样本的特征欧氏距离。
  2. 之后根据分类的label,随机选出一些正样本对。
  3. 对于一个正样本对(i,j),分别找出离样本i和j的最近的负样本i’,j’组成两对负样本。
    当随机选取了一个正样本对(i,j)的时候,就可以得到两对负样本对(i,i’)和(j,j’)。
  4. 之后使用类似于triplet loss形式的loss function计算回传梯度。在计算距离的时候对式子稍作修改,使用了更加平滑的形式降低优化难度:

[深度学习论文笔记][CVPR 16]Deep Metric Learning via Lifted Structured Feature Embedding

除了loss function中的距离平滑之外,这篇文章提出的方法与triplet loss相比,差别仅在负样本的选取策略上。作者认为,当mini-batch size足够大的时候,在batch之内寻找hardest negative pairs比triplet loss在所有训练样本中随机选取效果更加。这一点虽然在实验结果上得到了验证,但是从道理上仍然有些模糊。