乾树 刘晓坤参与

CVPR 2018 Spotlight 论文:非参数化方法实现的极端无监督特征学习

本研究受监督学习中的输出排序的启发,指出数据本身的表面相似性而非语义标签,使得某些类比其他类更加接近。研究者据此提出了一种极端化的无监督学习方法,主要特点是非参数化训练、实例级判别(一个实例视为一个类)。在 ImageNet 上的实验结果表明,该方法在图像分类方面远超过最先进的无监督方法。若有更多的训练数据和更好的网络架构,该算法会持续提高测试结果。

深度神经网络,特别是卷积神经网络(CNN)的兴起,在计算机视觉领域取得了若干突破。大多数成功的模型都是通过监督学习进行训练的,而这需要大量的依任务类型而定的特定标注数据集。但是,在某些情况下,获取标注数据通常代价昂贵甚至不可行。近年来,无监督学习受到学界越来越多的关注 [5,2]。

研究者在本文中提出的无监督学习的创新方法源于对监督学习物体识别结果的一些观察。在 ImageNet 上,top-5 分类误差远低于 top-1 误差 [18],并且图像在 softmax 层输出中的预测值排第二的响应类更可能与真实类有视觉关联。

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

图 1:激励研究者提出无监督方法的有监督学习效果图。以猎豹图片为例,网络输出的几个最高响应类都是视觉相关的,例如美洲豹和猎豹。数据本身的表面相似性而非语义标签,使得某些类比其他类更加接近。该无监督方法将类监督发展到极致,并学习了辨别各个单独实例的特征表示。

研究者将类监督发展到极端的实例监督,并提出这样的问题:我们是否可以通过纯粹的判别学习来学到反映实例间表面相似性的度量?图像本身具有鲜明的特征,并且每幅图像与相同语义类别中的其他图像都可能有很大差异 [23]。

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

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

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

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

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

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

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

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

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

表 1:通过在学习到的特征上应用线性 SVM 或 kNN 分类器在 CIFAR10 的 Top-1 准确率。本文提出的非参数化的 softmax 优于参数化的 softmax,并且用 NCE 方法 得到的准确率随 m 单调递增。

图像分类

研究者在 ImageNet ILSVRC [34] 上学习特征表示,并将他们的方法与代表性的无监督学习方法进行比较。

实验设置。研究者通过经验验证来选择并设计参数。具体来说,他们设定 τ= 0.07,并使用 m = 4,096 的 NCE 来平衡性能和计算成本。该模型使用带 momentum 的 SGD 训练 200 个 epoch。批量大小为 256,学习率初始化为 0.03,在训练 120 个 epoch 后每 40 个 epoch 乘一次 0.1。

对比实验。研究者将他们的方法与随机初始化的网络(作为下界)及各种无监督学习方法进行了比较,包括自监督学习 [2,47,27,48]、对抗学习 [4] 和 Exemplar CNN [3]。split-brain 自编码器 [48] 提供代表当前最佳水平的强大基线。

在他们的初版论文中,他们的实验网络都基于 AlexNet 架构 [18],除了 exemplar CNN [5],其基于 ResNet-101 [3]。由于网络架构对性能有很大影响,研究者考虑了一些经典的架构:AlexNet [18]、VGG16 [36]、ResNet-18 和 ResNet-50 [10]。

研究者使用两种不同的标准评估性能:(1)对从 conv1 到 conv5 的中间特征运行线性 SVM。注意,VGG16 和 ResNet 中也有对应层 [36,10]。(2)对输出特征运行 kNN。

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

表 3:直接基于在 ImageNet 上学习特征的、没有微调的在 Places 上的 Top-1 分类准确率

图 5:查询示例的检索结果。左列是验证集查询,右列是训练集中检索到的 10 个最接近的实例。上半部分展示了最好的表现。下半部分展示了最差的表现。

论文:Unsupervised Feature Learning via Non-Parametric Instance-level Discrimination

论文地址:https://arxiv.org/abs/1805.01978

开源代码:http://github. com/zhirongw/lemniscate.pytorch

摘要:在标注数据集上训练过的神经网络分类器无须人为干预就可以在各个类别间捕捉明显的视觉相似性。我们研究了这一行为是否可以扩展到传统的监督学习领域之外:我们是否可以仅通过获取可区分单独实例的特征来学习一个可以很好捕捉实例间而非类间明显相似性的特征表示?我们将该思路看做实例级的非参数分类问题,并使用噪声对比估计来解决大量实例类带来的计算挑战。我们的实验结果表明,在无监督学习条件下,我们的算法性能远超 ImageNet 分类问题上最先进的算法。若有更多的训练数据和更好的网络架构,我们的算法会持续提高测试结果。通过微调学习到的特征,我们进一步获得了半监督学习和物体检测任务的有竞争力的结果。我们的非参数化模型非常紧凑:每张图片有 128 个特征,我们的方法存储一百万张图像仅需 600MB,从而在运行时实现快速最近邻检索。

理论论文CVPR 2018CVPR无监督学习计算机视觉图像分类
1
相关数据
神经网络技术
Neural Network

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

Alex网络技术
AlexNet

AlexNet是一个卷积神经网络的名字,最初是与CUDA一起使用GPU支持运行的,AlexNet是2012年ImageNet竞赛冠军获得者Alex Krizhevsky设计的。该网络达错误率大大减小了15.3%,比亚军高出10.8个百分点。AlexNet是由SuperVision组设计的,由Alex Krizhevsky, Geoffrey Hinton和Ilya Sutskever组成。

分类问题技术
Classification

分类问题是数据挖掘处理的一个重要组成部分,在机器学习领域,分类问题通常被认为属于监督式学习(supervised learning),也就是说,分类问题的目标是根据已知样本的某些特征,判断一个新的样本属于哪种已知的样本类。根据类别的数量还可以进一步将分类问题划分为二元分类(binary classification)和多元分类(multiclass classification)。

深度神经网络技术
Deep neural network

深度神经网络(DNN)是深度学习的一种框架,它是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。

计算机视觉技术
Computer Vision

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

卷积神经网络技术
Convolutional neural network

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

学习率技术
Learning rate

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

度量学习技术
Metric learning

即学习一个度量空间,在该空间中的学习异常高效,这种方法多用于小样本分类。直观来看,如果我们的目标是从少量样本图像中学习,那么一个简单的方法就是对比你想进行分类的图像和已有的样本图像。但是,正如你可能想到的那样,在像素空间里进行图像对比的效果并不好。不过,你可以训练一个 Siamese 网络或在学习的度量空间里进行图像对比。与前一个方法类似,元学习通过梯度下降(或者其他神经网络优化器)来进行,而学习者对应对比机制,即在元学习度量空间里对比最近邻。这些方法用于小样本分类时效果很好,不过度量学习方法的效果尚未在回归或强化学习等其他元学习领域中验证。

物体识别技术
object recognition

计算机视觉领域的一个分支,研究物体的识别任务

参数技术
parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

正则化技术
Regularization

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

查询技术
Query

一般来说,查询是询问的一种形式。它在不同的学科里涵义有所不同。在信息检索领域,查询指的是数据库和信息系统对信息检索的精确要求

半监督学习技术
Semi-Supervised Learning

半监督学习属于无监督学习(没有任何标记的训练数据)和监督学习(完全标记的训练数据)之间。许多机器学习研究人员发现,将未标记数据与少量标记数据结合使用可以显着提高学习准确性。对于学习问题的标记数据的获取通常需要熟练的人类代理(例如转录音频片段)或物理实验(例如,确定蛋白质的3D结构或确定在特定位置处是否存在油)。因此与标签处理相关的成本可能使得完全标注的训练集不可行,而获取未标记的数据相对便宜。在这种情况下,半监督学习可能具有很大的实用价值。半监督学习对机器学习也是理论上的兴趣,也是人类学习的典范。

监督学习技术
Supervised learning

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

验证集技术
Validation set

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

权重技术
Weight

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

准确率技术
Accuracy

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

半监督技术
Semi-Supervised

支持向量机技术
Support Vector Machines

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

VGG技术
VGG

到了2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

卷积技术
Convolution

推荐文章