Unsupervised Feature Learning via Non-Parametric Instance Discrimination
研究论文链接:无监督特征学习基于非参数实例区分方法;GitHub存储库:NCE相关代码
摘要:
在有标签数据上训练的神经网络分类器能够很好的捕捉图片间的视觉相似性。文章假设:我们能通过训练基于实例(将每一个样本视为单独的类别)的分类器代替基于类别的分类器,得到可以捕捉视觉相似性的特征表达。我们将其总结为非参数化实例级判别 ,并且通过**噪声对比估计(noise-contrastive estimation)**解决大量实例类别引起的计算困难。
我们的实验证明了,在无监督学习的限制下,我们的方法在ImageNet数据集上超越了当前最好方法。采用更多的训练数据和更先进的网络结构,我们的方法能够进一步提高分类准确率。通过微调学习到的特征,我们能观察到与半监督学习和目标检测任务上相当的结果。同时,我们的非参数化模型十分紧致:每张图片仅需要提取128维的特征,百万量级的图片也仅需要600MB存储空间,使得实际运行时能够很快达成近邻检索的目的。
引言
研究者在此文中提出了一种无监督学习的新型方法,并起源于对监督学习物体识别结果的一些观察。在ImageNet平台中,top-5分类误差显著低于top-1误差,并且图像经过softmax层输出后预测值排名第二的响应类别更可能与真实类别具有视觉关联。
如图 1 所示,在包含猎豹(leopard)的图像中被判别为美洲豹(jaguar)的概率显著高于将其归类为书柜(bookcase)的概率 [11]。这一观察结果表明,在经典判别式学习方法未施加干预的情况下仍能自动识别出语义类别间的表层相似性(明显的相似性)。换句话说,在这种情况下明显相似性并非源于语义注释而是源于图像特征本身。

图 1激发了研究者对无监督学习方法的研究兴趣。举例而言,在猎豹图片中,网络输出的主要响应类别具有视觉相关性。如美洲豹和猎豹等哺乳动物的数据样本表现出较高的表面相似度。然而,在数据的外观相似性往往掩盖其语义标签的本质时,某些类别间的类比却更加贴近实际情况。该无监督学习方法达到了极高的类监督应用水平,并成功实现了对各个独立实例的独特特征表示的有效识别。
我们正面临一个重大挑战:由于‘类’的数量等于训练集规模,在ImageNet中这一数字已经超过一百万(具体而言,则会有超过一百万的分类单位)。直接扩展softmax至如此之多类别不可行。研究者借鉴噪声对比估计方法[9]并结合近端正则化策略[29]以提升模型性能,并通过稳定训练过程实现了更好的分类效果
为了验证无监督学习的效果,在先前的研究中主要基于线性分类器(如支持向量机SVM)进行操作,在测试阶段通过将训练得到的特征与类别信息相结合来进行识别。然而我们仍不清楚为何在未知测试任务中能够通过线性方法区分训练得到的特征。
该作者建议在训练与测试阶段采用非参数方法。他将实例间的分类问题视为一种度量学习任务,并指出其中实例间的关系通过直接从特征中计算得到的方式进行表征。具体而言,在这种框架下,每个实例的特征被单独存储在离散的内存单元中而非网络权重位置。
在测试阶段, 采用遵循学习度量的k-近邻(kNN)方法进行分类. 由于模型的学习和评估均与图像间相同的度量空间相关联, 则其训练与测试是具有一致性的. 研究者归纳了与支持向量机(SVM)及k-近邻(kNN)算法对比的实验结果.
实验结果显示,在无监督领域中
在经过微调训练后,在半监督学习框架下可进一步实现物体检测等任务具有竞争力的结果。最终而言,在运行时阶段即可完成快速最近邻检索功能:该非参数化模型具有极强的压缩能力:每张图片仅提取128个特征点,并可在内存占用约600MB的前提下存储一百万张图像并实现高效的检索操作。

图 2:本文所提出的无监督式特征提取方案采用了工作流程图的形式进行展示。模型架构设计者运用了基础型 ConvNet(Convolutional Neural Network)对输入图像进行处理,并将其提取出的空间维度设定为128维后进行了L²范式归一化处理得到特征向量。在此过程中,最优特性嵌入机制是由实例级别的鉴别器进行优化学习完成的这一机制旨在使训练样本的特征求最大可能地分布在128维单位球面上
近期工作
近期关于无监督学习的工作主要可以分为两类:生成式模型和自监督模型。
Generative Modes
生成式模型的出发点在于尽可能重构数据的分布,典型的方法有受限玻尔兹曼机(RBM),自编码器(Autoencoders)。生成式模型得到的隐空间特征能够有效帮助分类,近期的生成式模型有生成对抗网络(GAN)和变分自编码器(VAE)
Self-supervised Learning
自监督模型利用内部数据结构,通过预测图片来训练模型。具体地,模型需要预测给定实例缺失的部分。为了学习图像的表达,预测任务可以分为上下文预测,目标计数,填补图像缺失部分,将灰度图像恢复成彩色图像,甚至是完成拼图游戏。对于视频,自监督模型包括:跟踪时间连续性,预测未来帧图像,或者保持自我运动的轨迹。
Metric Learning
每个特征表示F在实例x和y之间引入一个度量:dF(x, y) = ||F(x) -F(y)||,因此,特征学习也可以看作是度量学习的一种特定形式。已有大量关于度量学习的研究。度量学习的成功应用通常会带来有竞争力的表现,例如在人脸识别[35]和person Re-Id[46]上。在这些任务中,测试时的类别与训练时的类别是分离的。一旦一个网络被训练,只能从它的特征表征来推断,而不能从随后的线性分类器来推断。度量学习已被证明对few-shot是有效的[38,41,37]。人脸识别度量学习的一个重要技术点是归一化[35,22,43],我们在这项工作中也利用了这一点。注意,这里提到的所有方法都需要以某种方式进行监督。我们的工作是完全不同的:它以一种无监督的方式学习特性,从而获得度量.
Exemplar CNN
Exemplar CNN[5]与我们的工作类似。基本的区别在于,它在训练和测试中都采用了参数的范式,而我们的方法本质上是非参数 的。我们在第4.1节的实验中研究了这种差别。举例来说,Exemplar CNN在是在大规模的数据集 上计算的,比如ImageNet。
3. Approach
我们的目标是无需监督信息学习一个特征映射:v = fθ(x), fθ是以θ为参数的卷积神经网络,将图片x映射成特征v。映射同样包含了图像空间的度量dθ(x,y)=∣∣fθ(x)−fθ(y)∣∣对于实例x和y.一个好的映射应该能够将视觉相似的图片投影得相近。我们的无监督特征学习是实例级别的判别式学习 ,我们将每张图片都当作一个独特的类别对待并训练一个分类器将这些类别分开.
3.1. Non-Parametric Softmax Classifie
Parametric Classifier
我们使用softmax标准制定实例级分类目标,假如我们有n个图像x_{1},x_{2}…,x_{n}和他们的特征v_{1},v_{2}…v_{n},对应关系是v_{i}=f_{\theta}(x_{i}),在传统的softmax公式中,图像x对应特征v=f_{\theta}(x).它被当作第ii张图片的概率是
P(i | v)=\frac{\exp \left(w_{i}^{T} v\right)}{\sum_{j=1}^{n} \exp\left(w_{j}^{T} v\right)}
wj是j类的权重向量,\mathbf{w}_{j}^{T} \mathbf{v}衡量着v与第j类的匹配程度.
假设特征维度是128,图片数目为120万,这一层的参数数目超过15亿。
Non-Parametric Classifier
式(1)中的参数softmax公式的问题是,权向量w作为一个类原型,妨碍了实例之间的比较。
研究者们提出了非参数的公式:用\mathbf{v}_{j}^{T} \mathbf{v}取代\mathbf{w}_{j}^{T} \mathbf{v},并且通过L2正则化使得\|\mathbf{v}\|=1,然后概率公式P(i | \mathbf{v})为:
P(i | \mathbf{v})=\frac{\exp \left(\mathbf{v}_{i}^{T} \mathbf{v} / \tau\right)}{\sum_{j=1}^{n} \exp \left(\mathbf{v}_{j}^{T} \mathbf{v} / \tau\right)}
,这里比较的是\mathbf{V}_{i}^{\frac{T}{}}和\mathbf{V}之间的匹配程序.
τ 是个温度参数控制分布的集中程度。学习的目标是最大化联合概率密度\prod_{i=1}^{n} P_{\theta}\left(i | f_{\theta}\left(x_{i}\right)\right),等价于最小化J(\theta)=-\sum_{i=1}^{n} \log P\left(i | f_{\theta}\left(x_{i}\right)\right)
Learning with A Memory Bank
为了计算Eq.(2)中的概率P(i|v),需要对所有的图像使用{v j}。我们保留了一个用于存储[46]的特征{vj}的memory bank V,而不是每次都对这些特征进行详尽的计算。在接下来的文章中,我们将介绍memory bank的独立设置和特征在网络中的前向传播。让V=\left\{\mathbf{v}_{j}\right\}是memory bank和\mathbf{f}_{i}=f_{\boldsymbol{\theta}}\left(x_{i}\right)是Xi的特征。在每个迭代通过随机梯度下降优化学习特征fi 以及网络参数θ。然后\boldsymbol{f}_{i}在其相对应的实例下去更新V,我们初始化memory bank V中的特征为随机的单元向量.
3.2. Noise-Contrastive Estimation Computing
在公式(2)中,当类n的数量非常大时,例如在数百万的规模下,计算非参数softmax的成本是令人望而却步的。但是类似的问题在学习单词嵌入的文献中也得到了很好的解决[25,24],其中单词的数量也可以扩展到数百万。降低计算复杂度的常用技术有层次化softmax(hierarchical softmax),噪声对比估计(noise-contrastive estimation)和副采样(negative sampling)。
我们采用NCE来近似完整的softmax分布,为了解决计算训练集中所有实例的相似度的困难。研究人员将多分类任务转化为一系列二分类任务,二分类任务是判断样本是来自于真实数据还是噪声数据。特别的,在我们的模型中,特征表示V对应于第i个实例的概率为:
\begin{aligned} P(i | \mathbf{v}) &=\frac{\exp \left(\mathbf{v}^{T} \mathbf{f}_{i} / \tau\right)}{Z_{i}} \\ Z_{i}=& \sum_{j=1}^{n} \exp \left(\mathbf{v}_{j}^{T} \mathbf{f}_{i} / \tau\right) \end{aligned}
这里的Z_{i}是一个常量.我们将噪声分布视为均匀分布:P_{n}=1 / n,并且假设噪声样本为真实样本的m倍,样本i来自与真实样本分布的概率为:h(i, \mathbf{v}):=P(D=1 | i, \mathbf{v})=\frac{P(i | \mathbf{v})}{P(i | \mathbf{v})+m P_{n}(i)}
我们近似的训练目标是最小化数据和噪声样本的负对数后验分布:J_{N C E}(\theta)=-E_{P_{d}}[\operatorname{logh}(i, v)]-m E_{P_{n}}\left[\log \left(1-h\left(i, v^{\prime}\right)\right)\right]
P_{d}表示实际数据分布,对于P_{d}而言,v是于x_{i}的相连的特征,然而对于P_{n}而言,\mathbf{v}^{\prime}是另外一个图像的特征,根据噪声分布P_{n}随机采样.在我们的模型中,v和\mathbf{v}^{\prime}从非参数memory bank V中采样。
计算归一化常数Z_{i}是耗时的,我们将其视为常数,并通过蒙特卡洛近似它:Z \approx Z_{i} \approx n E_{j}\left[\exp \left(v_{j}^{T} f_{i} / \tau\right)\right]=\frac{n}{m} \sum_{k=1}^{m} \exp \left(v_{j k}^{T} f_{i} / \tau\right)
在这,{j_{k}}是索引的随机子集,根据经验,我们发现从初始批次导出的近似在实践中是有效的。
NCE将每个样本的计算复杂度从O(n)降低到O(1)。经过如此大幅度的减小,我们的模型仍然具有竞争力.
3.3. Proximal Regularization
与典型的分类每个类有多个实例不同,我的每个类只有一个实例.在每个训练epoch中,每类样本仅出现一次,训练过程由于随机采样的波动而震荡,我们采取如下的正则项保证训练过程的稳定,在当前迭代t,x_{i}的的特征表示为:\mathbf{v}_{i}^{(t)}=f_{\boldsymbol{\theta}}\left(x_{i}\right),memory bank中保存着前一次迭代的特征V=\left\{\mathbf{v}^{(t-1)}\right\},P_{d}中的正样本的损失函数为:-\log h\left(i, \mathbf{v}_{i}^{(t-1)}\right)+\lambda\left\|\mathbf{v}_{i}^{(t)}-\mathbf{v}_{i}^{(t-1)}\right\|_{2}^{2}
\lambda\left\|\mathbf{v}_{i}^{(t)}-\mathbf{v}_{i}^{(t-1)}\right\|_{2}^{2}部分为正则项,去保证训练过程的稳定.当学习收敛时,迭代之间的差异\mathbf{v}_{i}^{(t)}-\mathbf{v}_{i}^{(t-1)}逐渐消失,增加的损失减少到原来的损失。随着训练收敛,两次迭代过程中的特征差异也随之减少,最终的损失函数为::\begin{aligned} J_{N C E}(\boldsymbol{\theta}) &=-E_{P_{d}}\left[\log h\left(i, \mathbf{v}_{i}^{(t-1)}\right)-\lambda\left\|\mathbf{v}_{i}^{(t)}-\mathbf{v}_{i}^{(t-1)}\right\|_{2}^{2}\right] \\ &-m \cdot E_{P_{n}}\left[\log \left(1-h\left(i, \mathbf{v}^{(t-1)}\right)\right)\right] \end{aligned}从图3可以看出,从经验上看,近似正则化有助于稳定训练,加速收敛,改善学习表示,而额外成本可以忽略不计。

3.4. 加权k近邻分类器
对测试图像\hat{x}进行分类时,首先提取其特征向量\hat{\mathbf{f}} = f_{\theta}(\hat{x})。随后将该特征与内存库中的所有特征进行比较,并通过余弦相似度计算得到的得分s_i = \cos(\mathbf{v}_i, \hat{\mathbf{f}})中筛选出前k个最近邻居(其中k=200)。根据这些邻居的响应权重\alpha_i = \exp(s_i / \tau)进行加权投票决定最终分类结果。特别地,在投票过程中某一类c会累计获得的总权重为w_c = \sum_{i \in \mathcal{N}_k} [\alpha_i](其中\mathcal{N}_k表示选中的邻居集合),这里的权重计算采用的是响应函数\alpha_i = s_i / τ(其中τ取值为0.07)。
4. Experiments
我们进行了四组不同的实验,第一个实验在CIFAR-10数据上比较了non-parametric softmax和parametric softmax的性能,第二组实验在ImageNet数据集上比较了各种无监督学习方法的性能。最后两组实验调查了两组不同的实验,半监督学习和目标检测,证明了我们方法学习到的特征具有良好的泛化能力。
**4.1. Parametric vs. Non-parametric Softmax **
本文的一个关键的新颖性是非参数的softmax分类。与传统的参数型 softmax相比,我们的softmax允许非参数的度量转移到监督任务上。我们比较了CIFAR-10[17]上的参数化和非参数化形式,这是一个包含10个类中的50,000个训练实例的数据集。这个大小允许我们在不使用任何近似的情况下计算式(2)中的非参数的softmax。我们使用ResNet18作为骨干网络,其输出特征映射到128维向量.

表 2 列出了基于可提取特征利用线性 SVM 和 kNN 分类器在 CIFAR-10 数据集上的 Top-1\text{-}Acc 表现。本文所提出的无参数形式 softmax 明显优于传统参数化 softmax 方法,在采用 NCE 方法时其准确率随着正样本数量 m 的增加而持续提升。
我们对基于学习特征表示的分类有效性进行了评估。**一种常见的做法[48, 2, 31]**是在训练集上训练一个SVM(Support Vector Machine)以学习到特征向量后进行预测;随后根据提取自训练网络中的特征向量对测试实例进行分类操作。此外,在所学得特征的基础上采用了最近邻(kNN)分类器来进行性能评估。值得注意的是,在非参数化softmax函数下使用的最近邻分类器能够更好地反映所学得特征的质量.

表 2:在 ImageNet 上的 Top-1 分类准确率。

表 3:直接基于在 ImageNet 上学习特征的、没有微调的在 Places 上的 Top-1 分类准确率。
Feature generalization
我们还研究了如何将学习到的特征表示推广到其他数据集。在相同的设置下,我们对场景分类的大数据集[49]进行了另一次大规模的实验,该数据集包含205个类别的2.45M训练图像。在这个实验中,我们直接使用在ImageNet上训练的特征提取网络,而不进行细化。表3比较了不同方式和不同评价策略下的结果。再次,使用基于conv5特征的线性分类器,我们的方法在AlexNet和ResNet-50中分别实现了top-1的34.5%和45.5%的具有竞争力的表现。,我们用ResNet- 50实现了41.6%的准确率。结果表明,该方法具有较强的泛化能力。
训练和测试目标的一致性
非监督特征学习是困难的,因为训练目标与测试目标是不可知的。良好的训练目标应体现在测试表现上持续提高。我们研究了训练损失与测试精度之间的关系。图4显示,随着训练的进行,我们的测试精度不断提高,没有出现过拟合的迹象。进一步优化训练目标,可以进一步提高测试精度.

An embedding-based feature dimension.

Training set size
为了研究我们的方法如何扩展数据大小,我们用不同大小的ImageNet数据训练不同的表示法,并使用最近邻来评估完全标记集的分类性能。表5显示,我们的特征学习方法受益于更大的训练集,并且随着训练集的增长,测试的准确性也会提高。这个特性对于成功的无监督学习是至关重要的.
Qualitative case study
为了说明所学习的特征,图5显示了使用所学习的特征进行图像检索的结果。前四行显示了最好的情况.所有前10个结果都与查询属于相同的类别。下面四行显示的是最糟糕的情况,前10名都不在同一类别中。然而,即使在失败的情况下,检索到的图像仍然与查询非常相似,这证明了我们的非监督学习目标的有效性.

5. Summary
我们开发了一种无监督的特征学习算法,基于一种创新的非参数Softmax公式设计。该算法以最大幅度区分不同的实例。相比之下,在图像一致性方面表现显著的是监督学习的结果。这一现象源于监督学习理论的指导。通过大量实验验证,在ImageNet和Places基准测试中发现我们的分类性能优于现有的领先方法。采用128维向量进行表示后发现,在面对海量数据时该方案表现出色,并支持深度网络结构的发展。同时,在半监督学习与目标检测领域展现出具有竞争力的表现。
