Unsupervised Feature Learning via Non-Parametric Instance Discrimination

本文最后更新于:2 个月前

Introduction

本文基于样本分类和噪声对比估计提出了一个无监督表示学习算法。下图展示了一个Intuition Example:

对于一个有监督的分类器,输入一张图片,作者观察到分类器的Softmax Response中较高的那些类都是在视觉上看起来比较接近的(美洲豹Leopard,美洲虎Jaguar,印度豹Cheetah),也就是说网络捕捉到了类间的视觉相似性,不过这是在有标签的情况下。对于无监督表示学习任务,作者将这个观察推广到了一个极端情况,就是把每一个样本都视作不同的类,然后让分类器来学习样本(类)间的视觉相似性。不过直接这么做会有严重的效率问题,所以作者还利用了Memory Bank机制和噪声对比估计来提高效率。

Proposed Method

学习一个嵌入表示函数v=fθ(x)。在表示空间中dθ(x,y)=∥fθ(x)fθ(y)

Non-Parametric Softmax Classifier

Parametric Classifier

在经过嵌入表示函数之后,得到表示向量vi=fθ(xi)。要基于这个向量进行分类, P(i|v)=exp(wiv)jexp(wjv)

Non-Parametric Classifier

同时约束

最后的损失函数为负对数似然损失(negative log-likelihood):

到这里,算法的大框架就确定下来了,剩下的就是解决两个效率上的问题。一个是损失函数的计算每次都需要计算整个训练集的表示,同时Softmax函数由于分母对应的项目很多(等于训练集大小)在效率上也有问题。

Learning with A Memory Bank

这里解决第一个效率问题。要计算损失函数,需要遍历整个训练集获得对应的表示,而在训练的时候是一批一批的数据,每次重新计算表示效率很低。为了解决这个问题,作者引入了缓存机制,即加入一个memory bank ,用来保存计算好的表示。一开始采用单位随机向量初始化,之后在训练的时候不断更新

Noise Contrastive Estimation

第二个效率问题很容易想到使用噪声对比估计(Noise Contrastive Estimation, NCE)来做。NCE主要是将计算复杂的分母作为一个参数来进行优化:

其中,噪声分布,如果噪声样本数量是真实数据的倍,那么随意给定一个样本,其属于真实样本的后验概率为: 其中。这里的真实数据分布为。NCE的损失函数就是要最大化,最小化 为了计算

Proximal Regularization

每个类别只有一个样本

最终的损失函数:

Weighted k-Nearest Neighbor Classifier

。记

Experiments


评论基础模式加载中... 如需完整体验请针对 disq.us | disquscdn.com | disqus.com 启用代理并 尝试完整 Disqus 模式 | 强制完整 Disqus 模式