Advertisement

Deep Clustering for Unspervised Learning of Visual Features

阅读量:

Abstract

作为一种重要的无监督学习技术,在计算机视觉领域已有广泛的应用。然而目前的研究主要集中在基于小规模数据集的大致分类任务上。在此背景下,本文提出了一种名为DeepCluster的新方法。该方法旨在同时优化神经网络参数与特征聚类之间的关系,并通过k-means标准聚类算法逐步对特征进行分组处理。为了实现这一目标,在每一步迭代过程中都会利用后续的任务反馈机制来优化网络参数以达到更好的效果。具体而言,在实验部分我们将详细探讨该方法在这些大规模数据集上的应用效果,并展示其优越性与现有最先进的技术方案相比所具备的优势优势在于这种方法能够有效提升模型在各种基准测试中的表现

关键字:无监督学习,聚类

Abstract. Clustering is a class of unsupervised learning methods that has been extensively applied and studied in computer vision. Little work has been done to adapt it to the end-to-end training of visual features on large-scale datasets. In this work, we present DeepCluster, a clustering method that jointly learns the parameters of a neural network and the cluster assignments of the resulting features. DeepCluster iteratively groups the features with a standard clustering algorithm, k-means, and uses the subsequent assignments as supervision to update the weights of the network. We apply DeepCluster to the unsupervised training of convolutional neural networks on large datasets like ImageNet and YFCC100M. The resulting model outperforms the current state of the art by a significant margin on all the standard benchmarks.
Keywords: unsupervised learning, clustering

Introduction

当前针对大范围端对端训练的模型还未面世

  • 预训练卷积神经网络普遍成为多数计算机视觉应用的基础模块。
    它们能够生成良好通用目的特征,并有助于提升在有限数据集下模型的学习能力。
  • 然而, Stock和Cisse最近的经验性研究指出,基于ImageNet的数据集当前最先进的分类器性能却被严重低估,并且存在一些尚未解决的问题.这些不足部分解释了为何尽管近年来提出了许多新型模型架构,但其实际性能却难以突破瓶颈.
  • 实际上,在当前标准下看来,ImageNet作为一个小规模的数据集.推动发展的一般方法是构建更大、更具多样性的数据集.然而,这需要大量的人工标注工作,尽管多年来社区已经积累了丰富的专业知识.
  • 使用原始数据替代标签的方法所带来的视觉表示引起的偏差将可能导致不可预见的结果.因此,这种做法呼唤一种无需依赖大规模标注的大规模Internet范围内的无监督学习方法.

聚类算法得到了广泛的应用,在实际应用中也暴露出了不少不足之处。然而,在大规模数据集两端进行端到端训练的具体案例却非常缺乏

  • 无监督学习已被广泛应用于机器学习领域,并在聚类技术、降维方法以及密度估计等方面展现出显著应用前景。
  • 然而这些成功却受限于仅针对特定领域或特定数据集进行应用的情况,在卫星图像、医学影像或新型模态数据(如深度信息等)方面表现尚有提升空间。
  • 尽管聚类方法在图像分类任务中取得初步成功[1](注:此处可加入具体引用),但将其扩展至端到端卷积神经网络的训练过程仍面临诸多挑战。
  • 具体而言这一问题源于传统聚类算法专为固定特征的线性模型设计其无法有效处理多维度非线性关系即使采用k-means等典型算法也将导致特征向量归零化最终导致聚类结果退化为单一实体。

DeepCluster解决上述问题,仅关注k-means

本文提出了一个适用于大规模端到端网络训练的创新性聚类方法,在聚类框架中可提取出有用的通用视觉特征。
为了简化起见,在本研究中仅探讨k-means算法的应用场景;然而其他聚类技术同样适用,并非局限于特定算法。
整个流程在很大程度上与常规监督学习相似;它通过大量应用常见技巧实现了高度相似的操作流程。
相比于自我监督方法;该聚类技术的主要优势在于仅需极少的专业知识;无需依赖输入数据的特殊标记信息即可运行。
尽管看似简单;但相较于现有无监督学习算法;该方法在ImageNet数据集上的分类性能和迁移任务表现均实现了显著提升。

鲁棒性得到验证

  • 最后,在修改实验拓扑结构时特别关注训练集与卷及网络结构等要素的变化情况,在此过程中框架的鲁棒性得到了有效验证。
  • 结构:基于VGG架构的网络在特征提取能力上较之于AlexNet有显著提升,并且在迁移学习任务中表现出更好效果。
  • 数据集:ImageNet被用作训练集以探究标签对网络性能的影响;该数据集的独特之处在于其基于细致粒度分类挑战设计的均衡类分布,并涵盖了丰富的动物物种。
  • 因此,在此基础上提出了YFCC100M作为可选数据集的选择方案。
    最终结果显示,在面对未知的数据分布时仍能维持最先进的性能水平
  • 当前评估指标重点考察无监督网络在类别层次信息提取方面的能力;
  • 建议将其应用到图像检索领域进行评估,并观察其在实例层次信息获取方面的表现。

本文贡献

  • 本研究提出了一种全新的基于全连接架构的无监督学习方法
    • 该方法在一系列典型的迁移学习任务中展现出卓越的效果
    • 针对图像分布未知的情况进行优化,在实验结果中超越了现有最佳方案
    • 针对当前关于网络拓扑结构评估标准的研究进行深入探讨

Relate Work

特征的无监督学习

  • 少有同本文的无监督学习深度模型。Coastes andNg 也使用k-means,但是通过自底而上地顺序学习每一层,而本文通过端对端进行学习。
  • 其他聚类损失被用于共同学习卷积特征和图像聚类,但是并没有大范围测试无法对当前卷及网络进行彻底研究。
  • Yang等通过循环框架迭代地学习网络特征和聚类。他们的模型在小数据集上取得很好的性能,但是对于大规模数据集,其高性能可能面临挑战。

自我监督式学习

  • 基于输入数据直接计算生成伪标签,并采用pretext任务替代人工标注标签的过程。
  • Doersch等采用补丁相对位置预测作为pretext任务;相比之下,Noroozi和Favaro则通过空间重排无序补丁来训练网络。
  • 与本文所采用的方法不同之处在于,
  • 这种方法要求设计预训练任务时需具备专业知识,并且能够有效适应特定领域的需求。

生成模型

  • 当前,无监督学习在图像生成领域取得了显著进展。具体而言,在预定义随机噪声和图像之间通过自动编码器学习参数映射关系。
  • GAN能够生成具有特定视觉特征的图像样本。然而其性能表现尚理想。
  • Donahue与Dumoulin等研究者的研究表明,在GAN中添加编码器能够提升生成视觉特征的能力。

Method

初步工作

f_{\theta}表示卷积映射,\theta是相关参数集合,通过应用该映射于图像捕获向量作为特征或表示.
②给定训练集X=\lbrace x_1,x_2,...,x_N\rbraceN张图像,希望找到一组参数\theta^{\ast}使得映射函数f_{\theta^{\ast}}生成较好的通用特征。
③这些参数通常通过监督式学习,即每张图片x_n与标签y_n联系(y_n\in\lbrace 0, 1\rbrace^{k}。标签表示k个可能得预定义类别中的一个。
④参数化分类器g_W预测特征f_{\theta}\left(x_n\right)顶部的正确标签.
⑤分类器的参数W以及映射参数\theta随后通过优化以下问题而一起被学习:
\operatorname*{min}_{\theta,W}\frac{1}{N}\sum_{n=1}^{N}\ell\left(g\_W\left(f_{\theta}\left(x_n\right)\right),y_n\right)\qquad (1).

  • \ell为多项式逻辑损失函数(Polynomial Logical Loss Function),其定义等价于负log-softmax形式
    • 该损失函数通过小批量随机梯度下降算法(Stochastic Gradient Descent, SGD)以及反向传播机制来计算梯度并实现优化

通过聚类进行无监督学习

其架构提供了输入信号上强有力的先验信息。本文的核心思想是通过这种弱信号激发卷积神经网络的学习能力。

为了实现这一目标,在本研究中我们采用了以下策略:首先通过卷积网络提取特征,并利用后续得到的聚类结果作为潜在标签来优化目标函数Eq.(1)。值得注意的是这种方法通过迭代学习逐步优化特征表示。

在缺乏对比点的情况下(即未提供具体对比实验),本文主要关注于k-means这一经典的聚类算法。通过对与其他主流聚类算法包括层次聚类谱系分析法以及DBI算法等方法进行比较分析的结果表明该选择对最终性能的影响较为有限。

k-means算法以一批向量作为输入(这些向量是由卷积网络生成的特征f_{\theta}\left(x_n\right)),并通过几何标准将它们划分为k个不同的类别组来实现聚类目标。具体而言,在解决以下优化问题的过程中:

\operatorname*{min}_{C\in\Bbb{R}^{d\times k}} \frac{1}{N} \sum_{n=1}^{N} \min_{y_n\in\{0,1\}^{k}} \|f_{\theta}(x_n) - C y_n \|_2^2 \quad \text{s.t.} \quad y_n^{\top} 1_k = 1

从而获得一组最优分配\left(y_n^{\ast}\right)_{n=1}^{N}以及矩阵C^{\ast}。这些结果随后被用作伪标签,并不再用于后续计算。

整体而言,DeepCluster采用了轮流的方式结合了基于Eq.(2)生成辅助标签和基于预测辅助标签更新网络权重的过程。这种轮流操作可能导致性能下降;在后续章节中将介绍如何避免这一问题。

\theta \in \mathbb{R}^{m \times n}属于卷积层参数矩阵,而\mathbb{W} \in \mathbb{R}^{k \times m}代表分类器参数矩阵,在公式(1)中被采用以实现迭代优化的学习过程.
利用公式(2)对数据集执行聚类操作以生成伪标签,并将这些生成的伪标签进一步代入公式(1),从而实现网络权重矩阵\mathbb{W}的更新.
其中,在公式(1)中定义的目标变量序列\{y_n\}_{n=1}^N = \{y_n^{\ast}\}_{n=1}^N,这些值是由公式(2)所生成的伪标签序列决定的.
如图所示:

在这里插入图片描述

避免退化方案

  • 退化方案的存在并非仅限于卷积神经网络在无监督学习中的特性,而是所有旨在结合区分分类器与标签进行联合学习的方法共有的问题。即使在应用区分聚类技术于线性模型时也会出现此类问题。
  • 解决方案通常通过施加约束或惩罚机制来确保每个聚类中的最少样本数量,并因此而无法有效处理大规模数据集。

①空聚类

原因:
辨别模型学习类间的决策边界。一个可能的决策边界是将所有输入分成一个单独聚类。这个问题使由于缺乏防止空聚类而引起的,并且在卷积网络与线性模型中出现的一样多。
方案
特征量化中使用的常见技巧包括在k-means优化期间自动重分配空聚类。
更准确地说,当一个聚类为空时,随机选择一个非空聚类,并使用其进行小随机扰动后的形状作为这个空聚类的新形状。然后,将属于非空聚类的点重新分配给两个结果聚类。

②简单参数化

原因
如果绝大多数图像被分配给几个聚类,则参数\theta将专门区分它们。
最严重时,除了一个聚类之外的所有聚类都是单例,最小化Eq.(1)会导致一个简单的参数化,其中无论输入如何,预测都将预测相同的输出。
当每个类的图片数量高度不平衡时,该问题在监督分类中也常见。
方案
基于类或pseudo-labels的均匀分布的图像采样
相当于通过给定聚类大小的倒数在Eq.(1)中提高输入在损失函数中的权重,

实施细节

训练集和卷积网络结构

  • ImageNet
  • AlexNet由五个卷积层组成(分别为96、256、384、384和256个滤波器),并带有三层全连接网络;它摒弃了传统的局部反馈规范化(Local Response Normalization),转而采用了批量归一化(Batch Normalization)技术。
  • 可选结构中使用的是经过优化设计的VGG-16模型(采用批量归一化)。
  • 由于无监督学习方法在处理彩色图像时面临挑战,在现有研究中通常会结合特定策略进行处理;本文则提出了一种基于Sobel算子的固定线性变换的方法来提取颜色特征并增强局部对比度。

优化

  • 将中心裁剪的图像特征聚类以及通过数据增强训练卷及网络(随机水平翻转和随机大小和长宽比裁剪)。这强化了数据增强的不变形,有利于特征学习。
  • 通过丢弃法、恒定步长、参数 \theta的l2惩罚范数以及0.9动量参数进行训练
  • k-means占用了训练的三分之一时间,因为需要在整个数据集上前向传播(采用Johnson等人的k-means实施方法,其每n个周期重分配聚类,但本文基于ImageNet数据集的设置更优——每个周期更新聚类)。
  • 然而基于YFCC100M的Flickr上,周期的概念消失了:在参数更新和集群重新分配之间选择折衷更加微妙。因此保留大部分同ImageNet上的设置
  • 500周期,12天,AlexNet结构,Pascal P100 GPU

超参数选择

以下游任务为基础,在Pascal VOC验证集的目标分类中选择未经过微调优化的参数配置,并采用开源代码库进行实现。

Experiments

初始阶段的实验研究将探究DeepCluster在训练期间运行特性的表现。之后,在标准基准测试中对先前先进模型的方法进行定性和定量分析前。

初步研究

采用标准互信息(Normalized Mutual Information, NMI)来评估相同数据下任务A与B之间的共享信息,并对其定义为:

  • I represents mutual information, while H denotes entropy.
    This measure is applicable to any task stemming from clustering or true labels.
    If A and B are mutually independent, then NMI equals zero;
    If either A can be exactly predicted by B or B can be exactly predicted by A, then NMI equals one.

聚类和标签的关系

在这里插入图片描述

图2呈现了训练过程在聚类任务与ImageNet标签间的NMI变化趋势。该模型评估了其预测类级信息的能力。本文仅限于该方法用于分析功能而不涉及任何模型选择阶段。随着训练进展聚类与标签的相关性逐步增强表明特征逐步捕捉到了目标类别的关键特征。

周期之间的重分配数量

每隔一个周期,在不保证稳定性的情况下都会进行一次图像重新分配到新的聚类集中。
通过计算t-1和t两个相邻周期之间的归一化互信息(NMI)值的变化情况来衡量本文模型的实际稳定性。
如图2b所示,在训练过程中会持续进行这种测量。
随着NMI值不断增加并趋向稳定(表明越来越少的重分配操作),最终其数值已接近于0.8。
然而,在达到大约0.8的水平后不再继续增长(表明大部分图像已被规律地在两个连续周期间重新分配)。
实际上,在这个过程中并未对训练产生任何影响。

选择聚类数量

该研究评估了k-means算法中不同聚类数量对用户界面及模型性能的影响。
探讨了与超参数优化阶段等同的目标任务,在PASCAL VOC 2007分类验证集上计算平均精度(mAP)指标。
考察了预设范围内的k值取样情况,并通过图2c展示300个训练周期后的结果变化趋势。

虽然每个k值在相同周期训练后的性能难以直接进行对比,但它们反映了超参数选择的过程。当设置为10,000时达到了最佳效果。假设我们将其应用于ImageNet数据集,则预期设置为1,000时能够达到最佳效果。然而显然,在某种程度上过度分割是有益的。

可视化

在这里插入图片描述

第一层过滤器

图3展示了AlexNet的第一层滤波器,并采用了DeepCluster方法对原始RGB图像以及经Sobel运算处理后的图像进行了训练。
困难已前所述。如图3左图所示, 大部分滤波器仅能提取颜色信息对其分类几乎没有帮助; 而采用Sobel运算处理后的滤波器表现出类似边缘检测的效果。

探究更深层

基于输入图像的学习方法可对目标过滤器的质量进行量化评估。该图像不仅能够最大程度地激发目标过滤器的响应,在其他同类过滤器中也表现出良好的激活效果。

在这里插入图片描述

与预期相符,在更深的卷积层中似乎提取了更为丰富的纹理特征。然而,在图5的第二行中可以看到,在最后一层的一些滤镜中似乎简单地模仿了前面各层已提取出的纹理。这一发现进一步验证了Zhang等人提出的结论:相对于来自人工标注数据(样本16-18号)的人工标注数据集而言,在第3和4个卷积层级上的特征具有更强的表现力和区分度。

在这里插入图片描述

最后,在图5中可以看出conv5滤镜下的9张激活图像显示出与语义高度相关性。这些滤镜的第一行滤镜反映了目标类别内部高度一致的结构特征。而位于第二行的位置则更加注重风格特征。

使用激活函数的线性分类

在这里插入图片描述

基于交叉验证策略优化模型参数。
参考Zhang及其团队的研究成果,在本研究中我们基于前几层卷积神经网络构建了一个线性分类器模型。
通过与受监督学习逐层特征提取的对比实验发现,在最初的几层卷积神经网络中表现出高度的专业化特征。
这些特征主要集中在目标类别识别任务相关区域。
如表1所示,在ImageNet和Places数据集上进行了详细实验分析。
DeepCluster算法在网络层次2至5之间均展现了超越现有最先进的平均准确率约1%至6%。
值得注意的是,在网络层次1处观察到较低的准确率(可能由于Sobel算子未能有效捕捉颜色信息),这一发现与上文所述结果保持一致。

最终部分展示了DeepCluster与监督式训练的AlexNet模型之间的性能差异对比:经过实验分析,在更高层级处显著提升。具体而言,在卷积层2及3处其差异程度约为4%,而在卷积层5处则跃升至12.3%,这可能意味着它们能够有效地提取丰富的类别特征信息。

补充材料中记录了多层感知机在最后一层训练的准确度数据,并指出DeepCluster的表现领先于当前先进水平8%。

相同的实验研究表明,在基于监督学习的方法中,在高层性能出现了显著下降的现象。值得注意的是,在卷积层3和4中提取出的关键特征与基于ImageNet标签训练得到的结果具有更高的可比性。这表明,在目标领域与ImageNet覆盖范围存在较大差距的情况下(即当两者之间的差距超过一定阈值时),利用现有标注信息的效果会受到限制。

Pascal VOC 2007

本文基于PASCAL VOC平台,在图像分类、目标检测以及图像分割三个领域进行了定性评估分析。值得注意的是,尽管PASCAL VOC的数据集规模相对较小且接近实际应用需求,但其模型在训练过程中需要消耗较大的计算资源,并且该方法更适合适用于少样本任务或数据集的情形。

  • 该系统利用Fast R-CNN算法实现了目标检测的结果。
  • 采用Shelhamer团队开发的代码进行语义分割处理。
  • 针对分类与检测任务,在PASCAL VOC 2007数据集上进行了性能评估,并通过验证集优化了超参数设置。
  • 在PASCAL VOC 2012数据集上进行了分割任务的性能测试,并参考现有研究进行优化。
在这里插入图片描述

表2详细地展示了DeepCluster与其他特征学习方法在三个任务上的比较情况。与之前的实验结果相比,在三个任务上DeepCluster的表现均优于之前使用的非监督方法

  • 语义分割提升7.5%
  • 目标检测,仅仅较小提升

值得注意的是,在对众多无监督方法进行对比研究后发现, 仅利用FC6-8进行学习时性能表现欠佳. 由此可见, 在DeepCluster框架下采用FC6-8与其他基准模型结合使用的方法在检测与分割任务上取得了显著效果.

Discussion

基于非监督的方法通常采用AlexNet在ImageNet上进行训练和测试,并且针对类别的识别任务进行评估。 为了深入理解并量化DeepCluster中所提到的各种偏差, 本文将重点考察不同训练集的选择和网络架构的设计, 同时关注实例级别的识别性能分析.

ImageNet与YFCC100M

ImageNet是专为细粒度目标分类而构建的数据集。它实际包含了面部特征,并通过人工标注实现了高度均衡的目标分类库。

在这里插入图片描述

如表3所示,在PASCAL VOC验证集上对ImageNet和YFCC100M两种预训练方法进行了性能对比分析。

尽管基于未核实Flickr图像的数据进行预训练的DeepCluster方法仍能超越当前最先进标准的表现。
这一结果验证了该算法在多分布场景下的鲁棒性,并具备最前沿的通用视觉特征。即使面对那些可能导致性能下降的数据分布情况(即那些不利于其设计假设的情形),该方法依然展现出卓越的能力。

AlexNet与VGG


监督学习中,基于ImageNet训练的深度网络VGG或ResNet能够获得比AlexNet更高的准确率
表4比较了采用VGG-16与AlexNet基于ImageNet训练的DeepCluster性能以及在PASCAL VOC 2007数据集上微调的测试性能。
与其他非监督学习方法对比,本文深度网络结构获得了性能上的显著提升。
采用VGG-16的性能高于现行先进标准,仅仅比第一行监督学习方法低1.4%。值得注意的是,AlexNet和VGG-16在DeepCluster与ImageNet labels的差异都是1.4%。
对比其他结构,验证了DeepCluster在缺少监督式数据情况下,对于复杂结果进行无监督预训练的相关性

实例级的评估

之前的基准测试评估了无监督网络提取类级信息的能力;然而这些方法都无法有效区分实例级图像。表5比较了基于Sobel算子处理后通过VGG-16模型训练的不同方法的性能差异。在Oxford数据集上进行预处理提高了5.5%的mAp值;而在Paris数据集上的效果未见提升。

全部评论 (0)

还没有任何评论哟~