《 MultiGrain: a unified image embedding for classes and instances》论文阅读笔记
这篇论文提出了一个多粒度图像嵌入框架MultiGrain, 旨在统一处理不同粒度的信息以提升表征能力. 通过将类内差异与类间差异相结合, 该框架不仅能够有效提取类内特征, 还能实现对单个实例级别的详细刻画. 研究者们创新性地将类内差异与类间差异进行融合, 从而实现了对不同粒度信息的有效整合. 实验结果表明, 该框架在多个评估任务中均展现了优异性能.
- 1 概述
-
2 相关领域的研究现状
-
3 系统架构设计
-
- 3.1 空间降维操作的设计与实现
-
3.2 学习目标的设定与优化策略探讨
-
3.3 基于数据增强技术的批量处理方法研究
-
3.4 图像白化处理方案的设计与实现细节
-
3.5 输入分辨率设置方案的设计与实施要点
-
4 实验和结果
-
-
4.1 实验设置
-
- 训练设置
-
4.2 使用不同分辨率的图像,找最佳的P*值
-
4.3 损失函数 λ的影响
-
4.4分类结果
-
4.5 检索结果
-
-
主要亮点 :
(1)无论是在分类任务还是在检索任务中所采用的特征相同,并且两者的效果都较为理想。然而,在进行分类任务时会额外训练一个线性分类器模型;而用于检索的任务则基于余弦相似度计算来评估结果的相关性。需要注意的是,并非是我之前所预想的那样能够将最相关的图片排列在前面;相反地,则是能够将最相关的图片能够将最相关的图片排列在前面;类似的相关图片排列在后面。
(2)该方法通过增强技术显著提升了检索系统的准确性。具体而言,在每个batch中包含同一实例的不同增强版本。请注意,在分类任务中通常使用的是不同实例的数据;而同一实例的不同增强版本则是在专门训练检索系统时添加进去的数据。
通过增添一个GeM池化层到ResNet之后,在训练阶段能够利用低分辨率的图片进行训练,并且在测试阶段使用高分辨率图片;同时,在分类任务中明显提高了准确率。
1 简介
该系统采用了两个不同的损失函数进行优化,在分类任务中应用了交叉熵损失函数,在实例区分任务中则采用了Ranking loss与Contrastive loss相结合的方式进行优化。
该系统采用了GeM(Global Average Pooling)技术,在训练阶段仅依赖低分辨率图像,在检索阶段则可灵活地采用高分辨率图像作为检索源。
在分类任务方面取得了79.3%的top1准确率的历史最高水平。
图像识别任务按照层次划分为classes, instances, copies(对原始图片进行拷贝并进行了一些修改)
对这三个任务进行特殊化处理被视为专业做法;然而,在日常应用中却成为一个瓶颈;因为人们在使用一个系统检索时可能希望实现三种检索功能。
检索系统的性能主要取决于关键因素的设置,在设计过程中需要权衡多个重要指标:首先是数据库存储容量与查询速度之间的关系;其次是提高查询效率与获取准确结果之间的平衡。
如果只是将三个任务的特征以狭隘的方式结合起来……相当于数据库规模翻了一番……这样的做法并不明智。
本文提出了一种新的表示方法……实现了三个任务的结合……尽管它们在语义粒度上存在细微差别。
这三个任务之间存在密切的逻辑联系。同一个实例必然属于同一个类别;同一个拷贝必定对应同一个实例。因此,在类别、实例以及拷贝一致的情况下,描述子在特征空间中会变得较为接近。
然而各任务间的相似程度存在差异。对于同类别的包容性要求更为严格;而对于细微图像改动的高度敏感性则体现在另一端
通过一个带有指数参数p的广义平均池化(Generalized Mean Pooling, GeM)操作将空间响应map转化为固定尺寸。其中指数参数p被用来调节可区分性和鲁棒性。这也是一种有效的机制,在实际应用中能够适应不同分辨率的输入图像。
而且训练实例部分没有用新的标签。
2 相关工作
图像检索系统:基于局部特征的深度学习模型(如CNN)在图像识别领域取得了显著进展。该系统在实现高效检索的同时,在算法层面仍存在较大的优化空间。具体而言,在特征提取阶段可引入更为鲁棒的方法;在模型训练阶段可采用多尺度学习策略;在检索阶段可结合相似度度量优化技术;此外,在数据库预处理阶段引入增强技术以进一步提升检索效果也是值得探索的方向。
多任务训练 :备受关注的领域之一在于神经网络显示出良好的迁移性能。值得注意的是,在训练过程中仍存在较大的优化空间。
数据集增强:针对本文中的SGD算法而言,在数据库中不仅包含不同类型的实例,在同一实例经过多次数据集增强后能够有效地提升了模型的泛化能力。
BA采样与本文提出的新型数据增强方法具有高度相似性。在实施数据集增强的过程中,在处理较大的batch规模时(即较大批次的数据),通过复制同一图像的强化版本来补充训练数据会带来显著的效果。这得益于复制操作相比传统的数据增强方法更为便捷。
本文采用固定大小的batch进行处理。然而,在每个实例下的图片数量相对较少。此外这种方法也被称为repeated augmentations (RA)。作者主张该方法在提升神经网络泛化能力方面具有普遍适用性。
3 结构设计
该方法指出了分类与搜索任务之间的差异,并探讨了解决这些差异的方法是什么
| 分类 | 检索 | |
|---|---|---|
| 空间池化 | 平均池化 | RMAC及GeM |
| 损失函数 | 交叉熵 | 三元损失triplet |
| 批采样 | 多种多样 | 每批图片数量相同 |
| 白化操作 | 否 | 是 |
| 分辨率 | 小(2242-3002) | 大(800-1k) |
3.1 空间池化操作
分类:池化用于实现对位置变化下的鲁棒性。 检索过程需要考虑更多的局部位置信息,并且有时候提供的查询图像可能没有经过专门训练过的训练数据。
概述广义均值池化(GeM)是一种在单个特征图中完成的聚合操作。与传统的最大值池化(MAC)不同,在GeM中整个特征图通过指数平均的方式进行聚合。

即整个图像中每一个像素点的p次幂之和后再进行p次根运算的结果值表示该图像的空间特性信息量的一种度量方法。
当p>1时会增强输入特征图的空间对比度并聚焦于图像中的边缘区域或显著变化的地方这些细节在后续实验中将会进一步阐述
为什么叫generalized,因为p=1时是平均池化,p=无穷是max pooling。
为了便于复习R-MAC方法,请注意以下内容:
唔,在GeM主要用于检索任务时,并未应用于分类场景。因此研究者首次将此池化方法应用于分类任务中。进一步表明这种参数调节机制能够有效地适应各种不同的任务场景,在提升训练和测试阶段的图像分辨率方面表现出显著的优势。
3.2 训练目标
采用了结合两个损失函数的形式构建了loss。交叉熵常用于分类问题中。在检索任务中使用的对比损失(Contrastive Loss)旨在使正样本之间的相似度低于某个阈值,并使负样本之间的相似度高于该阈值。Triplet Loss仅关注于确保每个正样本与其对应的负样本之间的相对距离关系。然而,在实现这些损失函数时需要调整多个超参数。特别是如何选择合适的positive-negative pair以及triplet的采样策略显得尤为重要。具体而言,在对比损失(Contrastive Loss)中主要涉及配对采样(Pair Sampling),而在Triplet Loss中则涉及三元组采样(Triple Sampling)。
所以使用文献[47]的一种loss,是一种有一些triplet损失好处的变种的对比损失。这个文献有个博客分析过了,附上链接:https://zhuanlan.zhihu.com/p/27748177。
博客中说的模型坍塌在文献[47]中定义是:all images have the same embedding.
损失函数具体如下:

其中:

在采样的过程中,正样本是已知的明确实例;而负样本的采样则通过一个与距离D函数及embedding维度相关的概率密度函数(PDF)来进行。

这里的|B|是batch大小,也就是平均损失。
3.3 使用数据增强的batch训练
仅针对单一数据集进行分类学习;各类中可包含多个具体样本;单个样本仅对应一张图片;随后对该数据集进行增强处理;具体而言,在增强过程中每个样本将被赋予多张图片用于检索任务的学习;这种设计无需依赖额外标签信息。
novel sampling-enhancement methodology, RA, is introduced for effective retrieval data augmentation. For the training dataset, each batch is selected to contain |B|/m distinct images, and then enhanced through multiple augmentation steps to increase the batch size by a factor of m. When original images exhibit similarity, the corresponding augmented images will also preserve this similarity, ensuring that y_{ij}=1.
在SGD采样方法上进行改进的主要区别在于,在线增强版本的图像会与其原始版本保持高度关联性;而在过去的尝试中期望增强出来的图像与原图不相似以增加数据多样性的方法已被证明不够有效
但对于较大的批次大小而言,在与原本 IID(独立同分布)情况下的采样效果相比要更好一些,在本任务中确实如此。我们推测其原因在于能够有助于提取重复图片中的不变特征。相比之下,在采用 SGD 的标准采样策略时,在同一张图片的不同增强版本仅会在不同的 epoch 中出现。
3.4 白化
PCA白化过程会在分类阶段的最后一步被消除影响,在此之后我们可以直接提取并使用白化后的特征作为分类依据!

证明如下:

其中:

,该过程可以用下面内积的性质证明得到。

3.5 输入大小
分类任务通常采用较低的分辨率,在实际应用中发现其计算开销相对较低即可满足需求。相比之下,在实际应用中使用较低的分辨率能够显著降低计算开销。然而,在检索任务中则要求更高的分辨率以确保信息检索的准确性与稳定性需求得到满足。例如800×1024这样的分辨率为宜。然而,在技术上将如此高的分辨率进行联合训练并不现实因此在模型训练过程中我们通常会采用较低的如224等分辨率先完成模型参数的学习随后再提升到更高分辨率为测试数据做准备这主要得益于GeM算法的优势
最终,网络结构如下:

4 实验和结果
4.1 实验设置
训练设置
优化方法:采用的优化算法为SGD;学习速率:初始值设定为0.1,在第30、60及90个epoch周期内执行学习速率衰减操作;经过多少个完整的训练周期?每个 epoch 包含多少个小批量处理?每一批的大小固定为512个样本,并完成5005/2的小批量处理次数(相当于每个 epoch 进行两次完整的训练集遍历)。等训练检索任务时采用了稀疏自表达模型(RA),其中参数 m 设置为3;当执行检索任务时采用了稀疏自表达模型(RA),其中参数 m 设置为3;数据集增强:通过典型的图像预处理手段进行数据增强:包括翻转操作、随机裁剪以及添加随机亮度噪声等技术;池化指数:池化策略采用 P ∈ {1, 3} 的配置方案;实验表明该设置能够有效提升模型性能并降低过拟合风险

输入大小和剪裁:训练时的图像尺寸均为[H,W] = [1,\ 1]像素(此处H表示高度、W表示宽度)。在测试阶段,则使用了三个不同的分辨率:分别为[H,W] = [5, 1],\ [8, 1],\ [96, 1]像素(注:括号中的数值为实际使用的分辨率)。在实际应用中,默认情况下会将图像较短的一边放大至固定长度(例如将短边缩放到固定长度),并从中提取中央区域作为输入特征图块;而对于更高分辨率的情况(如[H,W] = [567, 7]像素),则会直接按照目标分辨率进行处理,并无需额外剪裁操作以满足统一的输入尺寸需求。
间隔损失和批采样:参数配置如下:
- 间隔损失函数的选择直接影响着模型的学习效率;
- 对于批采样策略,则采用了随机抽样的方法。
YFCC 1.ooM数据库是基于雅虎Flickr于二零一四年创建的一个影像数据库。它包含了自二零零四年至二一一四年期间产生的约一亿条媒体内容,在此期间生成了九千九百二十万个图像与八十万视频片段的数据内容。值得注意的是只有四十八百百万张照片以及大约一万零多张视频片段带有地理坐标信息
4.2 使用不同分辨率的图像,找最佳的P*值
当s设定为224时,在训练过程中达到最佳效果(P*=3)。然而当s值超过224时,则要求p必须大于3才能满足分类或检索任务的需求。随后我们从IMAGENET数据库中选取了包含2000张图片的数据集(命名为IN-aug),每类提供两张图片,并采用了m=5的RA方法进行实验。具体而言,在ImageNet上实现了分类准确率(acc),并在UKB上进行了检索测试(acc)。结果显示在IN-aug数据集上的测试准确率与UKB表现非常接近因此我们下一步计划采用IN-aug数据集在不同分辨率下的最佳模型参数(P)。
| s∗ | 224 | 500 | 800 |
|---|---|---|---|
| p∗ | 3 | 4 | 5 |
4.3 损失函数 λ的影响
对于不同的参数设置{λ=..., ..., ..., ..., ..., ...}来说,在测试集中达到了最佳的检索性能但其分类效果欠佳(因为此时测试集上的检索损失占主导地位),而在验证集中则表现出色但在实际应用中效果并不理想(因为此时验证集上的结果并不理想)。因此,在后续实验中我们选择将参数设置为λ=..., 此时无论是在分辨率还是图像质量方面都取得了显著的结果。
4.4分类结果
四个关键因素推动了其优异的表现:
(1)通过RA技术实现了一个相对稳定的提升(+0.6%)。
(2) margin loss策略通过提升数据增强后的模型泛化能力(+0.2%)。
(3)采用三阶GeM(Generalized Earth Mover's Distance)算法后,在目标区域特征响应上取得了显著提升(+0.4%)。
(4)在分辨率方面进一步优化时(如500分辨率、P=3时),实现了更高的性能提升(+1.2%)。这种优化可能源于P=3训练所获得的稀疏特征及其在多分辨率上的均衡泛化能力。然而,在s=800的情况下由于与原始训练数据存在较大分辨率差异而导致性能下降。为了验证Gem独立带来的优势,在使用AA的数据集增强后进行测试得到了实验结果:使用res-50模型达到了当前最高top1准确率
4.5 检索结果
RA是重要的成功因素;然而,在某些方面还有待改进。
但认为自己提出的方法的优势在于能够从分类和检索中提取出关键特征;同时,在低分辨率条件下也能表现出良好的性能。
