Advertisement

论文阅读笔记(12):Deep Clustering for Unsupervised Learning of Visual Features, 基于深度聚类的视觉特征无监督学习

阅读量:

基于深度聚类的视觉特征无监督学习

  • 摘要内容

  • 本节将简要介绍...

  • 方法部分详细阐述了...

    • 基于无监督的聚类分析
    • 防止出现退化解的情况
    • 处理空聚类问题
    • 简单的参数化处理
  • 准备工作阶段包含了以下关键步骤:

    • 基于无监督的聚类分析
    • 防止出现退化解的情况
    • 处理空聚类问题
    • 简单的参数化处理
  • 实验

      • 定性分析 * * 聚类与标签间的关联 * 每个epoch期间重新分配的次数

      • 确定聚类类别数量的过程

      • 可视化

        • 激活的线性分类
    • 总结


facebook AI实验室19年的论文,deep cluster的基础

摘要

一种无监督学习方法,在计算机视觉领域获得了广泛的关注和研究

介绍

在大多数计算机视觉应用中被用作构建模块的卷积神经网络(ConvNet)已获得广泛认可。这些模型具备了出色的基础能力,并可提升基于有限数据训练出的模型的泛化能力。ImageNet作为一个大规模全监督数据集的存在促进了卷积神经网络预训练技术的发展。然而,在ImageNet上分类性能的研究显示其被高估的现象较为普遍。这表明尽管近年来提出了许多新颖的设计架构与基础研究方法,在实际性能表现却始终未能突破瓶颈。鉴于当前标准下ImageNet规模相对较小——仅包含100万张图像——这一局限性导致无法充分反映真实场景下的表现潜力。因此,在现有条件下推动相关技术的发展仍面临诸多挑战:首先需要构建一个涵盖范围更广的数据集以支持更大规模的学习任务;其次还需要开发能够有效利用现有标注资源的方法以降低对标注依赖的程度;最后还需探索能在无监督或半监督条件下实现可靠的大规模学习的技术路径

无监督学习已在机器学习领域获得诸多研究关注,并常被用于计算机视觉相关任务中。其中聚类、降维或密度估计等方法均被广泛应用。例如,“bag of features”模型通过人工生成的本地脚本运用聚类技术构建有效的图像级特征。其成功原因之一在于这些方法能够适应于特定领域或数据集(如卫星图像、医学图像等),甚至可推广至由新模式(如深度学习)捕获的新类型图像数据,在这些场景下标注标签通常难以获取充足数据支持。多项研究表明基于密度估计与降维的无监督学习方法可能适用于深度模型 ,从而能产生具有潜力的多模态视觉特征表示。然而尽管聚类技术在图像分类任务中取得了一些初步成果[1] ,但对其应用于卷积神经网络(ConvNet)端到端训练方案的研究却相对较少见报道[2] 。一个主要问题在于传统聚类算法主要针对固定特征空间上的线性模型设计,在需同时优化特征提取时通常效果不佳[3] 。例如若采用k-means算法对ConvNet进行联合优化,则会导致一种平凡解:即特征向量收缩至零空间并使各簇中心压缩为同一位置点

在本研究中, 我们开发并提出了一种新型的聚类架构, 该架构基于大规模端到端训练网络. 通过采用聚类框架结构设计的方法论框架, 在实验结果中发现能够提取出具有重要视觉意义的特征向量. 该架构, 如图1所示, 包括两个核心模块: 第一部分是在图像描述符处理过程中, 并行优化了两类不同的优化目标: 一个是基于层次化聚类模型实现图像特征向量的自适应提取; 另一个是基于卷积神经网络(CNN)权重更新机制的设计策略. 第二部分则是通过预测聚类分配更新ConvNet权重的方式实现两者的动态平衡. 为了简化分析过程和减少计算复杂度考虑, 我们将研究重点暂时放在k-means算法上. 不过, 此外在实际应用中建议采用更为鲁棒的方法如幂迭代聚类算法(PIC). 整个设计思路与传统的有监督学习 pipeline 具有高度的一致性. 相比之下, 自监督学习方法依赖于大量领域先验知识以及输入信号的支持, 这一特点使得该方法更具灵活性和适应性. 尽管从实现层面来看这一架构较为简洁明了, 但在ImageNet分类基准测试中所取得的结果明显优于现有的无监督学习方案.

在这里插入图片描述

随后,在深入研究框架的健壮性时,我们进行了多方面的调整与优化工作。基于Doersch等人的研究[25],我们进一步扩展了对无监督学习方法性能影响的关键因素分析范围。通过引入该改进方案后,在不显著影响模型泛化能力的前提下显著提升了功能的质量及其后续传输性能。与此同时,在一定程度上有助于理解标签对网络性能的影响。然而需要注意的是,在这种情况下所采用的数据分布具有一定的局限性:具体而言,在ImageNet上进行分类任务时会遇到一些挑战性问题:例如,在平衡良好的类组成中包含各种各样的狗品种等不同物种的图像实例。为此,在保持数据多样性的同时又不引入过多偏见的情况下(例如在类别间存在较大差异的情况下),我们考虑引入来自YFCCF100M数据集的随机图像样本作为补充数据来源

方法

准备工作

基于统计学习理论的当代计算机视觉方法主要依赖于有效的图像特征提取技术。在多数场景中, convnet被视为将原始图像转换为固定维度向量空间的常见工具之一,其在经过充分的数据训练后展现出卓越性能,并在多个标准分类基准上持续取得最佳结果。
为了系统性地描述这一过程,我们通过f_θ符号来表示convnet映射关系,其中θ代表相应的参数集合。
具体而言,将此映射应用于输入图像所得出的结果可被视为特征或表征。
给定一个包含N个样本的训练集X={x₁,x₂,…,x_N},我们的目标是确定一组参数θ∗使得映射f(θ∗)能够生成具有良好通用性的特征。

这些参数通常通过监督学习方法进行训练;即每个图像x_n\$与其对应的标签y_n\$关联;此标签代表图像所属的k个明确类别之一;分类器g_W用于预测特征f_θ(x_n)对应的正确标签;随后,在解决以下优化问题时共同学习分类器的参数W和映射函数中的参数θ$$

在这里插入图片描述

其中\ell被定义为多项式形式的逻辑斯蒂损失,并被称为负对数Softmax函数。通过小批量随机梯度下降算法结合反向传播技术来计算梯度以最小化该成本函数。

无监督聚类

假设θ是从高斯分布中随机采样的情况下,在没有学习机制支持下,
即使缺乏有效的学习机制支持,
函数f_θ将无法生成理想的特征表现。
然而,在标准转移任务中的性能显著优于仅依赖概率水平的模型。
值得注意的是,
随机神经网络的优异性能与其卷积层的设计密切相关,
这些卷积层对于提取和处理关键信号具有重要意义。
该研究的核心思想是通过这个微弱而可靠的信号作为引导信息来优化网络性能。
为了实现这一目标,
我们将convnet的输出进行聚类分析,
并将后续聚类结果作为"伪标签"用于改进等式(1)中的模型。
所采用的方法是一种迭代优化过程,
通过不断更新和优化特征表示来逐步提升模型能力。

聚类已有丰富的研究基础,并针对不同场景设计出多种聚类方法。本研究重点考察标准聚类算法:k-means,在其他聚类算法的部分实验结果表明:这种选择的影响并不显著。k-means算法接受一组向量作为输入,在本研究中所用输入是基于convnet提取的有效特征f_θ(x_n);根据几何准则将这些特征划分为k个不同的簇体。具体而言:该算法通过求解以下优化问题来实现这一目标:共同学习一个d×k维质心矩阵\mathbf{C}以及每个图像n对应的聚类分配变量\mathbf{y}_n

在这里插入图片描述

针对此问题, 本研究生成了一组最优分配(y^∗_n)_{n≤N}以及一个质心矩阵C^∗. 这些分配被用于生成伪标签数据集.

总体而言,在使用公式(2)对特征进行聚类的同时赋予样本伪标签;随后在通过公式(1)预测这些伪标签来逐步更新convnet的参数。该模式容易导致平凡解;我们将在下一节详细探讨如何规避此类退化解。

避免退化解

尽管普通的解决方案并不局限于神经网络中的无监督学习场景,在联合学习判别分类器与标签关联的方法中都可能适用。即使在线性模型中应用时同样能够解决这一问题。常采用的方法是通过约束或惩罚每个类别中的最小样本数量来实现目标。这些参数在整个数据集中被计算得出,在面对大规模数据集时这种做法并不适用。本节我们将阐述这些平凡解的核心原因,并提出一种简洁且易于扩展的具体解决方案。

空聚类

判别模型在类别间划分决策边界的问题涉及如何避免出现无法区分的情况。这一问题源于缺乏有效的空聚处理机制,在特征量化过程中通常会遇到此类挑战。在特征量化中采用的一种常用策略是在k-means优化过程中动态调整被空化的簇。具体而言,在某个簇变为为空时我们会随机选取尚未被空化的另一簇,并将其质心及其附近加入到一个新的扰动区域。然后将其余属于非空簇的数据点分别归入这两个新簇以完成重新分配

简单参数化

在数据分布失衡的情况下,在监督分类任务中会出现性能下降的问题。具体而言,在极端情况下(即只有一个类别外),其余各类仅有一个样本点位于决策边界附近时(如图1所示),最小化方程(1)会导致了一个相对简单的参数化模型。然而,在实际应用中发现:当各类别之间的样本数量呈现高度失衡状态时(例如多数类别仅有少量样本而少数类别拥有大量样本),即使采用较为复杂的网络架构(如CNN),监督分类依然会面临性能瓶颈问题。为了避免这一情况的发生,在分类任务中通常采用均匀采样策略以平衡各分类器的学习难度

实现细节

Convnet架构
本研究基于经典的AlexNet体系结构。其卷积层配置包含五个模块:96、256、384、384和256个滤波器(用于特征提取);并配合三个全连接层(用于分类任务)。本研究去除了传统的本地响应规范化层,并采用了批处理规范化方法。同时参考了VGG-16网络中批归一化机制的应用情况。非监督学习方法通常不直接处理颜色信息;而其他替代策略也被提出作为备选方案。基于Sobel滤波器的固定线性变换被采用以去除颜色干扰并增强局部对比度。

优化
在训练过程中,在中心裁剪后的图像特征中实施聚类,并结合数据增强技术。这种方法有助于提高模型对变换的鲁棒性,在特征学习中具有重要意义。该网络采用基于dropout层、恒定学习率、权重θ的L2正则化以及动量率为0.9的随机梯度下降算法进行训练。每个批次处理256张图像。对于聚类操作,在完成主成分分析降维至256维后执行白化处理并应用L2归一化处理。值得注意的是,k-means算法所需时间较长,因为其通常需遍历整个数据集进行前向传播操作;因此,每隔n个epoch重新分配一次聚类参数是必要的,但我们在ImageNet数据集上的实现则是每隔一个epoch就更新一次聚类参数,这种设置几乎达到了最优状态;而在Flickr数据集上,由于参数更新与聚类重分配之间的权衡更为微妙,我们采用了每隔一定间隔更新一次的方式以获得更好的效果。

实验

定性评估

在这里插入图片描述

其中I代表mutual information的概念,而H则代表entropy.该评估标准能够适用于基于cluster-level pseudo-labels或ground truth labels的各种分布情况.当两个分割A与B相互独立时,计算得到的NMI值为零.相反地,当其中一个分割的结果能唯一地由另一个分割的结果推导出时,计算得到的最大可能值即为1.

聚类和标签之间的关系

图2(a)清晰地反映了训练过程中聚类分配与ImageNet标签之间归一化互信息值的变化轨迹。该指标衡量模型预测类别层次信息的能力,并随着训练进程逐步增强聚类与标签之间的依存关系

在这里插入图片描述

epoch中的重分配的次数

在每一个训练周期中,我们将图像进行重新聚类分配,而放弃稳定性这一指标的保证。通过计算前后两个周期的聚类间NMI值来评估模型实际具有的稳定性水平,观察到图2(b)中的NMI值持续上升,这表明被重新分配的图像数量逐渐减少。随着训练的深入,各聚类中心趋于稳定位置,然而需要注意的是,NMI的最大收敛值仅为0.78,这表明存在相当数量的图像始终在其所属类别之间被重新分配。

选择聚类的类数目

我们评估了k-means算法中聚类数K值对其模型效果的影响。我们进行了与超参数选择过程相同阶段的后续实验,并以Pascal VOC 2007分类验证集为基准评估。我们在对数尺度上调整了聚类数K值,并在图2(c)中展示了训练3,999个epoch后的结果。每次调整后得到的性能指标虽存在差异性问题,但仍能反映我们的超参数选择策略。在该研究中发现,在K=1, 1⁄4⁄4×1e4时达到了最佳表现。鉴于我们在ImageNet上进行过模型训练工作,在这里我们推测当设置为K=1, 1⁄4⁄4×1e3时可能会有更好的表现;然而,在某些情况下过度分割可能会带来额外的好处。

可视化

第一层滤波器
图3展示了基于Deep Cluster对原始RGB图像以及经过Sobel滤波预处理后的图像训练所得AlexNet第一层滤波器的效果。在未经任何预处理的情况下学习convnet效果不佳(如图3左侧所示),大多数过滤器仅关注颜色信息(如图3左侧所示),这些颜色信息通常在对象分类任务中作用有限。经过Sobel滤波预处理后的滤波器作用类似于边缘检测器

在这里插入图片描述

图3展示了AlexNet第一层滤镜的工作原理,在此分别基于原始RGB图像和经过Sobel边缘检测的处理结果进行训练

深入探究

在这里插入图片描述

图4展示了基于ImageNet上Deep Cluster训练方法的应用结果。具体而言,在AlexNet模型中选择了conv1、conv3和conv5层中的目标滤波器,并从YFCC100M数据集中筛选出一个包含1,00万张图片的子集进行进一步分析与可视化处理。在这一过程中,我们首先从该子集中提取了目标滤波器的空间分布特征,并结合前9个具有最大激活值的激活图像来进行后续分析。这些结果表明,在这种特定的数据集构建策略下(即基于DeepCluster方法),所提取的目标滤波器能够有效反映数据样本的主要特征信息,并且其空间分布模式能够使这些输入样本达到最大激活程度

在这里插入图片描述

在图5中,使用了YFCC100M模型,在其最后一个卷积层中提取了来自1000万张随机选取子集中前9张激活图像的目标滤波器。第一行为检测包含物体特征而被激活的目标滤波器。底部一行则反映了对图像风格感知更为敏感的目标滤波器。具体而言,滤波器编号为119和182的两个实例分别主要受到了背景模糊效应和景深变化的影响。

激活的线性分类

我们系统地在多个冻结卷积层上进行线性分类器的训练,并通过逐层对比监督特征以评估各层次的专业化程度。具体而言,在经过监督特征逐步对比后发现, convnet逐渐表现出高度的专业化能力, 即其能够专门用于对象分类任务。我们的实验结果主要集中在ImageNet和Places数据集上, 通过交叉验证方法选择超参数设置并记录了实验结果的主要发现。研究发现, 在ImageNet数据集上, Deep Cluster算法在各卷积层之间的性能表现有所差异, 其中从 conv3 到 conv5 层之间, Deep Cluster的性能表现优于现有最先进的方法约3%至5%. 有趣的是, 在 conv4 层时取得了显著的进步, 而在 conv1 层表现较差, 这可能与Sobel滤波器未能捕获颜色信息有关. 与之前的可视化结果一致表明, conv3相对于更深的层次(如 conv5), 较浅层(如 conv3)的性能表现更为优异. 最后一项研究表明:随着模型深度逐渐增加(如从 conv2 到 conv3), 两者的性能差距逐渐扩大;而到了 conv5 层时差距进一步扩大至14.4%, 这表明高层神经元可能携带了更多的类别区分信息.

在这里插入图片描述

总结

本文提出了一种可扩展性增强的聚类方案,在无监督式的网络学习过程中应用其中。具体而言,在卷积神经网络生成的关键特征空间中运用k-means算法实现分类目标;为了优化模型效果,在判别损失函数框架下将聚类预测结果作为伪标签参与参数更新过程以获得更好的收敛效果。当模型应用于ImageNet或YFCC100M等大规模数据集时,在各项标准评估指标下的表现均显著优于现有最先进的方法;值得注意的是的是该方法对于输入数据本身并无特殊限制要求,并且无需依赖大量领域相关的专业知识;从而使其成为适用于标注样本极度匮乏领域深度表示的一种理想方案。

全部评论 (0)

还没有任何评论哟~