Instance Discrimination (InstDisc) - 教程
这篇文章提出了个体判别任务(代理任务)以及memory bank,非常经典,后人给它的方法起名为InstDisc。
模型将图片经过CNN网络编码后得到的图片特征,使用对比学习的方式将其在特征空间中尽可能的区分开来(因为每张图都是自己的类)。
既然是对比学习,就需要正负样本。InstDisc中正样本就是就是这个图片本身(可能经过一些数据增强),数据集里所有其它的图片就是负样本就,这些负样本都存储在memory bank里。对于ImageNet有128万张图片,那么memory bank就要存储128万行,于是最后每张图都用128维特征表示(维度太高存储不了)。

前向过程
使用无监督的方式,学习一个embedding就是目标函数,v=()。是深度神经网络,是网络参数,学习从输入图像x到特征v的映射。一个好的embedding,类似的图片距离更近。
- 经过ResNet50编码得到128维的图片特征
- 论文的softmax不设置参数w。而是和Word2vec一样把特征当作参数,并创建一个叫做memory bank的堆进行存储所有单词的128维特征,每次通过loss更新。这样训练和测试通过存储的memory bank同使用一个度量空间。
- 论文取batch_size=256,则每个batch有256个正样本,然后从memory bank里随机地抽取4096个负样本。根据正负样本计算对比学习目标函数NCELoss。然后根据loss更新backbone和memory bank(把 mini batch里的数据样本所对应的那些特征,在memory bank测试就都来自于一个度量空间了就是里更换掉,这样无论是训练还)。
- 测试时,使用KNN进行分类
- 我们获得了训练好的模型后,对于一张图片提取他的特征,将他和memorybank中所有的存储图片特征计算相似度,然后采用k近邻算法,返回最相似的k张图片。最后根据相似度权重投票,得到其类别c。
训练细节
本文的一些超参数设定,比如backbone选择ResNet50,batch_size=256,负样本采样数为4096,特征维度dim=128,epoch=200,初始lr=0.03,计算NCELoss时τ=0.07;这些超参数在在MoCo中也是沿用的,没有进行更改。
Loss
v1, . . . , vn , vi = fθ(xi)。一张图片x,经过网络之后,得到特征v=就是n个图片, x1, . . . , xn ,有n个类别,它们的特征(),被识别为第i个类别的概率是:

常用于有 监督的分类器,w是学习到的类别权重。而对于无监督的模型,需要运用无参数的分类器。权重向量w作为类原型,防止实例之间的显式比较作者运用了公式1的一个变体,把w替换为v,通过一个L2正则化层,使得||v||=1。被识别为第i个类别的概率为

最大化联合概率就是这里 是一个温度超参数,是个标量,温度系数的作用就是它控制了模型对负样本的区分度。学习目标
,等价地最小化训练集的负对数似然。

直接计算公式2中的无参数的softmax,当类别特别大的时候,计算成分非常高。
作者运用NCE去近似,将多分类困难转化成二分类疑问,一个类是信息类别data sample噪声类别就是,另一个类noisy sample,利用学习数据样本和噪声样本之间的区别,将数据样本去和噪声样本做对比,也就是“噪声对比(noise contrastive)”,从而发现素材中的一些特性。只是,如果把整个数据集剩下的信息都当作负样本(即噪声样本),哪怕解决了类别多的难题,计算复杂度还是没有降下来,解决办法就是估计和近似就是做负样本采样来计算loss,这就是estimation的含义,也就是说它只。一般来说,负样本选取的越多,就越接近整个数据集,效果自然会更好。
memory bank中的特征 v,相对于第i个类别的概率是:

内容样本的m倍。然后特征v是就是Zi是正规化常数,假设噪声分布符合均匀分布,Pn = 1/n。我们假设噪声样本的频率data sample(用D=1表示)的后验概率是

我们的近似训练目标是最小化素材和噪声样本的负对数后验分布

Proximal Regularizatio
特征一致性差:memory bank存储了所有的图片,也就意味着模型训练了整整一个epoch才能把整个memory bank更新一遍,那也就意味着,当开始下一个epoch训练的时候,假如选了三个key,那这三个key的特征都是上一个epoch不知道哪个时间点算出来的特征了,这也就导致query的特征和key的特征差的特别远。为了缓解该难题,作者在模型中增加了一个约束Proximal Regularization,从而能让 memory bank里的那些特征进行动量式的更新(当前时刻的输出和上一时刻的输入有关),跟MoCo十分一致的。就是的想法




浙公网安备 33010602011771号