归一化包括两种,对图 23 中的分类权重 W 进行归一化,以及对特征 x 进行归一化。那么归一化的作用是什么呢?先来说说权重 W 的模长和特征空间分布不均衡的关系。有研究者[10]表明,训练数据库中样本多的类目对应的 W 的模长也会越长,表征模型越重视该类的分类正确程度,而忽视了其他样本数目少的类目,如图 24 所示,MNIST 和 WebFace 两个数据库都验证了上述的映射关系。而实际上我们希望的是每一类都能被平等的重视,特征空间中每一类能够均衡的划分整个空间。
众所周知,一般竞赛中大家都会融合多个模型的结果来提升精度。但是在实际的项目落地,我们需要同时考虑部署模型的精度和速度,融合多个模型会占用更多计算资源,降低前向速度。那么怎么既然融合多个模型结构的优势,又不增加计算资源呢?这就是互学习模型的核心思想,如下图所示,互学习模型通过 KL 散度 loss 来吸收其他模型的结构优势,部署的时候只需要部署一个模型即可,不增加计算资源。
在重排序里面,我个人非常欣赏互 k 近邻算法[17],非常简单高效。互 k 学习算法最早被提出来用于行人再检索,如下图 43 所示,其核心发现是,对于 query 样本,其检索的 top-10 样本中,正样本(和 query 为同一人)换做查询样本时,其 k 近邻中有原始的 query 样本,而负样本(和 query 非同一个人),其 k 近邻中没有原始 query 样本,基于该发现,作者在马氏距离的基础上,增加了基于互 k 近邻的距离度量,如图中下方所示,基于该度量可以有效的对原排序进行重排序,将正样本挪前,将负样本挪后。