关键词:
距离度量学习
机器学习
深度学习
行人重识别
图像检索
摘要:
距离度量学习是机器学习中的一个重要分支。近些年来,随着机器学习的飞速发展,距离度量学习受到了研究者们广泛的关注,并被使用到各式各样的现实应用中,例如图像分类、图像检索、聚类、人脸识别以及行人重识别等。距离度量学习通过探索训练数据内在的统计特征来学习得到一个鲁棒的距离度量,将数据映射到一个特征空间,使得相似的样本互相接近,不相似的样本互相远离,进而有利于提升相应任务的效果。作为一个基础的研究方向,距离度量学习的发展推动了各个研究领域的发展。传统的距离度量学习可以直接得到一个显式的度量矩阵或是线性变换。该方法比较直观而且便于加入对于度量矩阵和线性变换的限制,但是其非线性性需要通过核方法等方式来实现,涉及较多复杂的数学推导。随着近年来深度卷积神经网络的发展,传统的距离度量学习与深度学习相结合,深度度量学习应运而生。深度度量学习将约束集成到损失函数上,利用深度神经网络作为一个非线性映射函数来学习得到一个特征空间。得力于神经网络强大的学习能力,一般而言深度度量学习的效果优于传统距离度量学习,但是深度度量学习需要较为庞大的训练数据和计算资源来训练神经网络以达到预期目标。因此两种方法都有各自的优势和缺点,非常值得深入研究,合理利用其优势同时规避其缺陷。随着各种电脑和手机应用的发展,应用数据量逐年增长。由于人们对于应用性能以及实时性要求提高,诸如在线应用这种实时性应用的需求量在不断提升。因此如何提高距离度量学习的效率,设计出兼具低复杂度和高性能的距离度量学习方法至关重要,研究低复杂度的距离度量学习方法是一个具有深远意义和光明未来的研究方向。本论文主要针对低复杂度的距离度量学习算法研究,希望能够在低复杂度的情况下获得学习性能的提升。目前已有的传统距离度量学习算法主要是直接学习得到一个马氏矩阵或是学习一个线性变化。已有的深度度量学习算法可以大致分为三类:学习实例-类别相似度约束的深度度量学习方法、学习实例-代理相似度约束的深度度量学习方法以及学习实例-实例相似度约束的深度度量学习方法。这些距离度量学习方法挖掘训练数据中的有用信息,在许多任务中验证了其性能,但是仍然存在着许多缺陷。(1)直接学习马氏矩阵或线性变化的算法复杂度是平方量级的,与输入数据维度有关,难以扩展到高维数据情况。(2)不能够充分利用训练数据的信息,在训练中引入随机性或需要利用其它域的训练数据进行辅助。(3)基于实例-类别相似度约束以及实例-代理相似度约束的深度度量学习方法经常受到监督信息不足的影响进而导致性能退化;而基于实例-实例相似度约束的深度度量学习方法则因为算法复杂度至少是平方量级的而造成训练效率低的问题,且需要依赖较为复杂的采样和加权机制。(4)目前的深度度量学习方法没有很好地探索数据类别的结构信息,容易造成“监督崩塌”的现象,即学习到的信息只是有利于提升训练集上的表现,不能很好地迁移到测试集上,这一现象在行人重识别和细粒度图像检索这类训练集和测试集类别完全不重叠的任务中体现的尤为明显。本论文针对上述问题,设计了低复杂度的距离度量学习方法,用于解决现有算法存在的缺陷。本论文介绍的工作主要分为三个部分:基于组合系数的半监督距离度量学习,基于特征向量的距离度量学习以及利用原型分布指导的深度度量学习。基于组合系数的半监督距离度量学习针对直接学习马氏矩阵或线性变化计算复杂度高的问题,通过将半正定的距离度量矩阵拆分成基向量线性组合的形式,通过随机向量和学习线性组合系数来对目标距离度量矩阵进行近似,将变量和计算复杂度由平方量级降低到常数量级。另外还提出了一种新颖的半监督学习方法将算法扩展到了半监督学习框架下,利用了无标记数据中潜在的数据特征。针对非平滑目标函数的优化问题,本文提出了一种基于交替方向乘子法的优化算法,在每一步都直接求得闭式解,进一步地提升了训练速度降低训练代价。特别地,在人脸检索数据集上相较于凸优化包提速将近30倍。针对基于组合系数的半监督距离度量学习使用随机向量而引入的随机性且不能反映数据信息这一问题,之前的算法利用其它域数据学习特征向量,这需要额外的训练数据和开销。基于特征向量的距离度量学习引入了由训练数据明确学习得到的特征向量,仅需要利用特征值最大的几个特征向量即可获得绝大部分训练数据中的信息,进一步提高了运算效率和实验性能,并且在人脸检索的大数据集上得到验证。利用原型分布指导的深度度量学习,针对目前最先进的深度度量学习算法依赖于大量的成对相似度监督信息,而且不能很好地探索数据结构的信息而容易造成“监督崩塌”这两个问题,提出利用原型级别的数据结构来对距离度量学习进行额外的监督,降低了对于大量监督信息的依赖,将计算复杂度由平方量级降低到了线性量级。此外,本文提出的原型分布能够反映原型级别的数据结构,增强了在测试集上的泛化能力,进而提升了算法性能,并在行人重识别和细粒