guodong's blog

PhD@zhejiang university
   

论文阅读:Unsupervised Feature Learning via Non-Parametric Instance Discrimination,CVPR2018

作者将这种直觉描述为实例级的非参数分类问题,并使用噪声对比估计来解决大量实例类带来的计算挑战。

实验结果表明,在无监督学习环境下,作者的方法在图像网络分类上大大超过了现有的方法,同时提高测试性能方面也很显著,训练数据更多,网络结构更好。通过对学习到的特征进行微调,可以进一步获得半监督学习和目标检测任务的竞争结果。框架的非参数模型非常紧凑:每个图像有128个特征,只需要600MB的存储空间就可以存储一百万个图像,从而在运行时实现快速的近邻检索。

如图 1 所示,包含猎豹(leopard)的图像被识别成美洲豹(jaguar)的概率比识别成书柜(bookcase)高很多。这一观察表明,经典的判别式学习方法在没有干预时可以自动发现语义类别之间的表面(明显的)相似性。换句话说,明显的相似性不是来自语义注释,而是来自图像本身。

如果我们在没有语义信息的情况下学习区分单独实例,那么我们最终可能会得到一个可以捕获实例间的表面相似性的特征表示,就像类监督学习在类别间仍然保留表面相似性那样。

无监督学习作为实例级别的判别形式在技术上也引人入胜,因为它可以受益于监督学习判别网络的最新进展,例如,新的网络架构。

然而,现在我们还面临着一个重大挑战,即现在「类别」的数量就是整个训练集的大小。对于 ImageNet 来说,「类别」将是 120 万而不是 1000 个类。简单将 softmax 扩展到更多的类是不可行的。研究者通过使用噪声对比估计(NCE) 逼近的 softmax 分布并采用近端正则化方法 以稳定训练过程来解决这个挑战。

为了评估无监督学习的有效性,过去的工作依赖于线性分类器(例如,支持向量机(SVM)),在测试时将学习到的特征与类别信息结合以便进行分类。但是,我们不清楚未知的测试任务是否可以将训练学习到的特征线性分离。

研究者提倡在训练和测试时都采用非参数化方法。他们将实例级别的分类看作度量学习问题,其中实例之间的距离(相似度)是以非参数方式直接从特征中计算得到的。也就是说,每个实例的特征都存储在离散的内存块中,而不是网络中的权重。

在测试阶段,使用基于学习度量的 k-近邻(kNN)进行分类。因为模型的学习和评估都与图像间的相同的度量空间有关,所以其训练和测试是一致的。研究者总结了与 SVM 和 kNN 的准确率对比实验结果。

实验结果表明,在无监督领域,该方法在图像分类方面远超过最先进的方法。具体地,在 ImageNet 1K [1] 上的 top-1 准确率为 46.5%,Places 205 [41] 为 41.6%。若有更多的训练数据和更好的网络架构,该算法会持续提高测试结果。

通过微调学习到的特征,可进一步获得半监督学习和物体检测任务的具竞争性的结果。最后,该非参数化模型非常紧凑:每张图片有 128 个特征,存储一百万张图像仅需 600MB,从而在运行时实现快速最近邻检索。

如上图所示,本文提出的无监督特征学习方法的工作流图。研究者使用骨干 CNN 将每个图像编码为 128 维空间并进行 L2 归一化的特征向量。最佳特征嵌入过程是通过实例级判别器学习的,该判别器尝试将训练样本的特征最大程度地散布在 128 维的单位球上。

Parametric Classifier. 参数化的分类器,类似softmax,公式如下,

Non-Parametric Classifier:非参数化的分类器。参数化的公式中的问题是权重向量w用作一个类原型,阻止了实例之间的显式比较,同时参数量巨大,也不好训练。因此,作者提出了非参数化的公式:

其中,强制使得||v|| =1 通过L2正则化层。τ是个温度参数控制分布的集中程度。学习的目标是最大化联合概率密度等价于最小化

Learning with A Memory Bank. 为了计算公式2中的概率,需要得到所有图片的{vj}。为了不每次都计算一下,作者使用存储他们的memory bank。V初始化为随机单位向量,在之后的迭代过程中,都将当前计算出的特征fi更新至Vi中。

当我们去掉这些权重向量时,我们的学习目标完全集中在特征表示及其归纳度量上,这些度量可以应用于空间中的任何地方,也可以应用于测试时的任何新实例。

Noise-Contrastive Estimation。当类n的数量非常大时,例如在百万的规模时,在等式(2)中计算非参数softmax,成本不允许。类似的问题在学习单词嵌入的文献中也得到了很好的解决,其中单词的数量也可以扩展到数百万。减少计算量的常用技术包括分层软最大值、噪声对比估计(NCE)和负采样。我们使用NCE来近似全软最大值。

为了解决训练集中所有实例的相似度计算困难,我们对问题进行了调整。其基本思想是将多类分类问题转化为一组二值分类问题,其中二值分类任务是区分数据样本和噪声样本。具体地说,memory bank中的第i个示例的特征v的概率是,

其中Zi 是标准化常量。我们将噪声分布形式化为均匀分布:Pn = 1/n. 在先前的工作之后,我们假设噪声样本的频率是数据样本的m倍。则特征v来自数据分布(用D=1表示)的样本i的后验概率为:

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

这里,Pd表示实际的数据分布。对于PD,V是对应于XI的特征;而对于PN,V‘是另一幅图像的特征,根据噪声分布Pn随机采样。在我们的模型中,v和v’从非参数memory bank V中采样。

计算公式4的开销很大,把它作为一个常数,使用Monte Carlo approximation来估计值:

其中{jk}是索引的随机子集。从经验上,我们发现从初始批次得到的近似是可行的,以便在实践中很好地工作。NCE将计算复杂度从O(n)降低到每个样本O(1)。经过如此大幅度的削减,我们的实验仍能取得竞争性的成绩。

Proximal Regularization。与典型的分类设置(每个类有许多实例)不同,我们每个类只有一个实例。在每个训练阶段,每个类只见一次。因此,学习过程会因随机抽样波动而产生很大的振荡。我们采用最近邻优化方法(29),并引入一个额外的术语来鼓励训练动态的平滑性。在当前迭代T中,从网络计算出数据XI的特征表示。所有表示的memory bank都存储在前面的iteration V={V(t-1)}。Pd正样本的损失函数为:

但是当训练收敛时,第二项会梯度消失。通过近端规则化,我们的最终目标变成了

Weighted k-Nearest Neighbor Classifie:为了对测试图片进行分类,我们首先计算其对应的特征,并计算其与训练集特征的余弦相似度,选出k个与其最相似的样本,利用加权投票做预测,具体地,对于类别c,可以得到一个总的权重wc

,ai是临近xi的贡献权重,取决于αi = exp(si/τ)。实验设置:τ=0.07,k=200




上一篇:
下一篇:

头像

guodong

没有评论


你先离开吧:)



发表评论

电子邮件地址不会被公开。 必填项已用*标注