动机:
基于对的方法的性能在很大程度上依赖于其挖掘信息负对的能力。为了从每个minibatch中收集到足够的信息负对,对采样方案进行了大量的改进工作。但是无论采样方案有多复杂,硬挖掘能力在本质上都受到小批量大小的限制,这决定了可能的训练对数量。因此,为了改进取样方案,可以直接扩大小批量尺寸,从而可以立即提高基于对的DML方法的性能。
贡献:
1.我们发现了一个有趣的“缓慢漂移”现象,即在整个训练过程中,实例的嵌入实际上以一个相对缓慢的速度漂移。
2.基于慢漂移现象,我们提出了一个跨批处理内存(XBM)模块来记录和更新最近的小批处理的深层特性,从而可以跨小批处理挖掘信息实例。通过将当前迷你批处理中的每个锚点与最近的迷你批处理中的嵌入内容直接相连,我们的跨批次存储器可以提供大量的硬负对。
缓慢漂移现象:
由于模型参数在整个训练过程中不断变化,过去的小批量的嵌入通常被认为是过时的。 这些过时的特性总是被丢弃,但是我们通过识别慢漂移现象了解到它们可能是一种重要的但无需计算的资源。 通过测量同一实例在不同训练迭代下的特征差异,研究了嵌入的漂移速度。
具体实验是用对比损失从零开始训练GoogleNet,并计算一组随机采样实例的平均特征漂移在{10,100,1000}下的结果。
现象:
在少量的迭代中,特征漂移始终很小,例如10次迭代。对于大的步骤,例如100和1000,特征在早期阶段变化很大,但是在大约3K迭代内变得相对稳定。此外,当学习速率降低时,漂移速度会变得非常慢。我们将这种现象定义为“缓慢漂移”,这意味着在一定数量的训练迭代中,实例的嵌入可能会非常缓慢地漂移,从而导致在不同的训练迭代中计算出的特性之间的边际差异。具体如下图:
证明了这种“慢漂移”现象可以为基于对的损耗的梯度误差提供一个严格的上界,具体过程如下:
引理1表明,在Lipschitz假设下,梯度的误差是由嵌入误差控制的。因此,“缓慢漂移”现象确保了在小批之间进行挖掘可以为基于对的方法提供有效的负对信息。
此外,我们发现嵌入的“缓慢漂移”在DML中并不是一个特殊的现象,在其他常规任务中也存在。
XBM(CrossBatch Memory Module)
跨批处理内存(XBM)模块,包含模型初始化和更新机制。该内存模块是很容易实现,可以直接集成到现有的基于配对的DML框架作为即插即用模块,只需使用几行代码(在算法1中)。
将XBM模块作为一个队列进行维护和更新:在每个迭代中,将当前迷你批处理的嵌入和标签放入队列,并将最早的迷你批处理的实体从队列中取出。因此,该内存模块直接使用当前迷你批处理的嵌入进行更新,而不需要任何额外的计算。此外,整个训练集可以缓存在内存模块中,因为存储嵌入特性所需的内存非常有限,例如512 - d浮动向量。
使用XBM增强基于配对的DML,对XBM机制的硬挖掘能力进行研究。研究了在每次迭代中内存模块产生的有效负对的数量。具有非零梯度的负对被认为是有效的。统计结果如下图所示。在整个训练过程中,该内存模块每次迭代稳定地提供大约1,000个硬负对,而原始的小型批处理机制生成的有效对不到10个。
定性的硬性挖掘结果如下图所示。给定自行车图像作为锚点,微型批次会提供有限且不同的图像,例如屋顶和沙发,作为底片。相反,我们的XBM同时提供了与自行车相关的语义图像和其他示例,例如轮和衣服。这些结果清楚地表明,提出的XBM可以提供各种,相关的甚至细粒度的样本来构建负对。
总体来说,XBM是一种概念简单,易于实现,并且内存效率很高的内存模块。该内存模块可以使用一个简单的enquene-dequene机制进行更新,该机制利用了在过去的迭代中计算出的无需计算的特性,只需要大约0.2 GB的额外GPU内存。更重要的是,XBM可以直接集成到大多数现有的基于对的方法中,只需几行代码,并且可以显著地提高它们的性能。
实验:
使用各种传统的基于配对的DML技术,在三种广泛使用的大型图像检索数据集上评估该存储方案:斯坦福在线产品(SOP)、店内服装检索(In-shop)、北京大学车载id (vehicle leid)。在图1(中间和右边)中,该方法表现出了出色的鲁棒性,并在所有设置下带来了一致的性能改进:在相同的配置下,该内存模块在所有3个数据集上与相应的基于配对的传统方法相比,获得了非凡的R@1改进(例如,对比损失超过20%)。此外,使用XBM,一个简单的对比损失可以很容易地超过最先进的复杂方法。
图一:
XBM模块有效性的验证:
用消融研究的SOP数据集验证所提出的XBM模块的有效性。
Mini-batch大小。小型批处理大小对许多基于成对的方法的性能至关重要(图1,左)。进一步研究了它对基于内存增强对的方法的影响(如图6所示)。该方法通过将小批处理大小从16增加到256,性能提高了3.2%,而原始对比方法的性能提高了25.1%。显然,使用所提出的记忆体模组,可以大幅减少小批量的影响。这表明,该内存模块可以很好地补偿小批量的影响,为解决DML中的硬挖掘问题提供了一个更原则性的解决方案。
与通用的基于配对的DML。我们的内存模块可以直接应用到GPW框架中。我们用对比损失、三重损失和质谱损失来评价它。
内存和计算成本。分析了XBM模块在内存和计算开销方面的复杂性。
定量和定性结果:
在图像检索的三个基准上将XBM增强的对比损失与最新的DML方法进行比较。即使可以在更大的微型批处理大小下达到更好的性能(图6),也仅使用64个微型批处理,可以通过具有ResNet50的单个GPU来实现。由于骨干架构和嵌入维度可以影响召回指标,因此我们在表3、4和5中列出了具有各种配置的方法结果,以进行公平比较。
在补充材料中的其他数据集的实验: