1 背景介绍
1.1 对比学习思想
孪生神经网络训练:旨在拉近同类图像的特征之间的距离、推远不同类图像之间的距离, 以获得更好的特征提取模型
自监督学习:其中的实例判别任务, 将同一批次中的每个样本视作一个独立的类, 故类别的数量与该批次的样本数量相同.
1.2 对比学习定义
对比学习的公式化定义及常用网络架构:
该公式的目标是最大化相同图像增广后的两个样本之间的相似度, 同时最小化不同图像经过不同增广后的特征之间的相似度及不同图像经过相同增广后的特征之间的相似度.
同步对称网络架构:
1.3 对比学习与度量学习的关系
相似:学习目标类似, 二者都在优化特征空间, 使得数据在特征空间中类内距离减小、类间距离增大.
不同:
对比学习 | 度量学习 | |
---|---|---|
训练数据构建方式 | 标签信息筛选样本对, 分别得到正样本对和负样本对 | 标签信息筛选样本对, 分别得到正样本对和负样本对 |
网络架构 | 特征提取网络之后增加小型的投影头网络, 将特征空间转换到投影空间中进行损失计算 | 只有特征提取网络, 通过设计度量损失函数优化特征提取模型 |
适用情况 | 适用于无标注、有标注、部分标注的数据, 支持监督、无监督和半监督学习 | 需要有标注的数据,适用于监督学习 |
1.4 对比学习与自监督学习的关系
初始的对比学习方法是自监督学习的一种,是实现无监督学习的一种重要途径,可以作为监督学习的前置, 进行模型预训练.
1.5 常用数据集
ImageNet-1K是对比学习方法最常用的数据集, 该数据集是 ImageNet 数据集的一个子集.
Cifar10 和 Cifar100是常见的应用于图像分类的数据集. 常用于分类任务评估的数据集: Food101, Birdsnap, Sun397, Cars, Aircraft, DTD, Pets, Caltech-101, Flowers.
VOC 数据集常用来评估目标检测和分割任务.
COCO数据集是一个可用于大规模目标检测、分割和关键点检测的数据集.
1.6 评价方法
在进行评估之前, 将预训练好的模型作为下游任务的主干网络, 然后, 根据下游任务和数据集的要求, 在主干网络后加入对应的任务头网络, 最后采用线性或微调方法进行评估.
两种方法均采用下游任务数据集的测试集评估模型.
线性评估方法: 冻结主干网络参数, 只训练下游任务头网络.
微调评估方法: 采用下游任务的数据训练由主干网络及任务头组成的整体网络.
2 对比学习研究现状
2.1 归类方法
对比学习工作系统的归纳总结:
特征提取网络主要使用 ResNet(Residual neuralnetwork)、Transformer[31] 等主流神经网络结构, 损失函数层分为基于互信息的损失函数、传统损失函数和混合损失函数
2.2 样本处理及样本对构造方法
对数据集的采样:
- 对无标注数据集, 通常采用随机采样的方法构建一个批次的数据;
- 对有标注数据集, 通过标签信息采样训练数据, 能够有效提高对比学习效果.
困难样本构造:
困难负样本对: 特征相似度高但并非同类
困难正样本对: 属于同一类特征相似度不高
增加困难样本在同批次中的比例能够提升网络在下游任务中的表现,在特征空间上将负样本对图像对应的两个特征向量插值, 正样本对图像对应的两个特征向量外推, 构造新的、更加困难的样本对, 最终提高对比学习的效果.
剔除假负样本:
假负样本对: 是同一类, 但计算损失时误归为负样本对
Huynh 等将图像用多种增广方法生成支持集,将该图像对应的负样本与该图像支持集进行特征相