Advertisement

Deep-Clustering-for-Unsupervised-Learning-of-Visual-Features

阅读量:

核心观点

在这里插入图片描述
在这里插入图片描述

who

  • Facebook AI Research

what

  • 该领域中聚类(clustering)是一种经典的无监督学习范式(paradigm),然而其与深度学习的有效结合却鲜有相关研究尝试。本研究引入了一种新型聚类方法DeepCluster(简称),通过将端到端学习机制与聚类算法相结合的方式,在优化网络参数的同时实现对网络输出特征的有效聚类(simultaneously optimizing both tasks of learning network parameters and performing clustering on the network outputs)。研究者通过将该方法应用于大规模数据集以及一系列迁移性任务,并验证了其显著优越性(demonstrated effectiveness in):所获得的结果不仅达到了现有的状态-of-the-art水平(state-of-the-art),而且在某些特定场景下表现更为出色(superior performance compared to existing state-of-the-art unsupervised methods)。这表明仅依赖简单的聚类算法就可实现高效的无监督特征提取。

where

背景

  • 预训练卷积神经网络在多种应用场景中展现出巨大的潜力,在目标检测、语义分割等任务中取得了显著成效。
    这些预训练模型成功地提取了丰富的通用特征,在多个领域都能得到广泛应用。
  • 在这一过程中Imagenet起到了关键推动作用, 尽管Imagenet包含海量图像数据, 但在实际应用中这一数量仍然有限, 并且其多样性的特点也不够完善. 如何有效利用更大规模的无标签数据成为亟待解决的问题, 这需要一种高效的无监督学习方法.

how

框架

该文提出了一种结合聚类与深度学习的方法框架。该方法能够提取出一些具有普遍性的特征,在图中展示出这一流程的核心逻辑:首先是对特征数据进行聚类分析;随后利用聚类结果作为辅助标签来进行神经网络的参数更新;接着使神经网络预测这些辅助标签类别;整个流程由两步依次完成:首先是特征的自动分类阶段;其次是利用分类结果进行训练阶段;这种机制看似步骤简单;但实际上其性能显著优于现有的无监督学习方法。

image-20190509164407111

整个过程可借助数学公式呈现为以下两个方程。其中第一个方程即通过聚类算法生成伪标签(pseudo-labels),而第二个方程则用于评估基于这些伪标签所造成的损失(loss)。随后系统会根据计算结果更新网络参数(parameters)以优化性能(performance)。

image-20190509164407111

避免平凡解

这种交替聚类与模型更新的方法可能倾向于通过捷径获得某些看似不合理的结论,并可能导致结果具有某种误导性。

1. Empty clusters

具体来讲,通过模型预测生成伪标签,可能导致网络生成的特征在聚类后集中在某些核心点附近,从而问题源于未对某一核心点设定最低样本数量.一种解决方法是设定每个核心点必须拥有的最小样本数量,这需要计算所有数据点以确定最低数量,然而这样的计算量过大;另一种方式则是当某一核心点为空时,随机选择一个已有的非空核心点在其基础上加入微小调整作为新的核心点,并将其归入新生成的核心点.

2. Trivial parametrization
  • 另外一个问题是大量数据被分配到少数几个类别中,在最极端的情况下,则所有数据都被分配到同一个类别中。
    • 解决这一问题的方法是通过类别(或伪标签)对样本进行均匀采样。

how much

实现细节

  • **结构:**在网络架构设计中采用了BN替代传统的LRN, 同时VGG16结合了BN技术。
    • **训练数据:**主要从ImageNet数据库中获取了训练数据集, 并采用了基于Sobel算子的颜色去色方法。
    • **优化:**在聚类阶段采用中心裁剪后的样本特征提取。为了提高模型泛化能力, 训练过程中通过左右翻转、随机大小与长宽比缩放等方式对图像进行预处理. 同时, 针对聚类任务应用主成分分析技术将高维数据降至256维。

实验

1. Preliminary study

实验部分关注的是随着训练过程的发展DeepCluster发生了哪些变化。其中使用了NMI即归一化互信息来衡量两个随机变量之间的相互依赖程度。例如当两者完全独立时若其中一个无法推断出另一个则NMI值为零。

image-20190509165000677
  • 观察簇心与图片真实标签(图2(a))之间的关系,从图2(a)可见,簇心与label之间的依赖程度随训练过程逐步增强,这表明特征逐渐地包含了图片类别的信息。
  • 接着考察第t-1epoch的簇心与第t epoch的簇心的关系(图2(b)),从图2(b)可见NMI逐步上升趋势明显。然而最后NMI饱和值仅为0.8以下,在一定程度上反映了每个epoch都会有部分样本频繁切换归属的簇心。
  • 最后分析不同K值对精度的影响(图2©)。
v2-8a535fca8e8f200b522d63c5b2216c70_hd
2. 基于激活值的线性分类
  • 基于不同卷积层特征的线性分类器模型,在ImageNet和Places两个数据集上分别进行了实验研究,并将具体结果展示于下表中。研究发现,在ImageNet数据集上,基于DeepCluster的方法分别在conv2至conv5层实现了显著地优于其他方法的表现。
v2-7271bccb31a83fe7e768a0d39b81d6f5_hd
3. 在数据集Pascal VOC 2007上实验

采用了基于DeepCluster的方法提取特征,并将其应用于Pascal VOC 2007数据集。针对不同任务进行了性能评估,并涵盖图像分类、目标检测以及语义分割等任务。实验结果表明,在三个主要任务上(如图像分类、目标检测和语义分割),采用DeepCluster方法取得了显著的性能提升。

v2-174fb09f1de269de091689eb7224a70b_hd

讨论

在上述实验中主要涉及ImageNet和AlexNet架构的应用。在接下来的部分中将对比采用不同数据集和架构进行实验的结果。

1. ImageNet versus YFCC100M

ImageNet是一种目标导向的分类体系,在各个类别间的样本分布较为均衡的情况下应用DeepCluster算法表现较为理想,并且其聚类数目与ImageNet总共有多少个类别相匹配。为了评估这种数据分布模式对模型性能的影响,在进行后续研究时我们采用了以下方法:通过从YFCC 100M数据库中随机选取一百万张图片进行预训练,并通过 hashtag 标签统计分析发现这一批次的数据样本呈现明显的不均衡性。随后我们将来自ImageNet 和 YFCC 100M两个数据库中的预训练特征分别应用于不同的任务场景中进行测试实验并观察其效果变化情况:研究表明,在面对不同类型的样本分布情况时,DeepCluster算法表现出很强的一致性和稳定性

v2-07c039dafae16463e6d08eba729de19c_hd
2. AlexNet versus VGG

在监督学习任务中,在更深度的网络架构通常能够实现更高的性能水平。我们期望DeepCluster模型同样能够达到类似的性能效果。其特征可用于ImageNet训练所得特征在Pascal VOC 2007目标检测任务上的应用,在测试时发现VGG-16架构相较于AlexNet能够实现更优的表现。

v2-09542a257cf57d0c9d22a5c9eccb10b1_hd

全部评论 (0)

还没有任何评论哟~