SPICE: Semantic Pseudo-Labeling for Image Clustering

图像聚类的语义伪标记
文章来源:https://arxiv.org/abs/2103.09382


摘要

  样本间的相似性和聚类间的差异性是图像聚类的两个关键方面。然而,现有的深度聚类方法对特征相似度或语义差异的估计都不准确。本文提出了一种基于语义伪标签的图像聚类(SPICE)框架,该框架将聚类网络分为两个部分:一个用于度量实例级相似度的特征模型和一个用于识别聚类级差异的聚类头。我们设计了两种语义感知的伪标注算法:原型伪标注算法和可靠伪标注算法,实现了对聚类的准确可靠的自我监督。在不使用任何地真标签的情况下,分三个阶段优化聚类网络:1)通过对比学习训练特征模型来度量实例相似性;2)使用原型伪标记算法训练聚类头,识别聚类语义;3)采用可靠的伪标记算法联合训练特征模型和聚类头,提高聚类性能。大量的实验结果表明,SPICE比现有的方法取得了显著的改进(10%),并在六个图像基准数据集上建立了新的最先进的聚类结果,包括三个流行的指标。重要的是,SPICE显著减少了无监督和完全监督分类之间的差距;例如,在CIFAR-10上只有2% (91.8% vs 93.8%)的准确性差异。我们的代码在https://github.com/niuchuangnn/SPICE上公开


一、介绍

  图像聚类的目的是在不需要人工注释的情况下将图像分组成不同的有意义的簇,是无监督学习的一个重要任务,在许多领域都有应用。图像聚类的核心是对样本(图像)之间相似性的度量和语义聚类之间差异的度量。近年来,由于深度神经网络具有较强的表示能力,基于深度学习的聚类方法取得了很大的进展。
  首先,将自动编码器与聚类算法相结合,提出了一些深度聚类方法,通过学习表示特征,同时或交替地对[2]、[3]、[4]、[5]、[6]、[7]、[8]、[9]、[10]进行聚类,取得了比传统方法更好的聚类效果。由于对底层特征的估计过高,这些基于自编码器的方法很难捕捉到复杂图像的鉴别特征。因此,本文提出了多种方法来学习不同约束条件下的判别标签特征[11]、[12]、[13]、[14]、[14]、[15]、[16]。然而,当直接使用标签特征来衡量样本之间的相似性时,这些方法的性能有限。这是因为类别级特征丢失了太多实例级信息,无法准确度量实例相似性。Gansbeke et al[1]提出了利用无监督学习模型表示的嵌入特性来寻找相似的样本在整个数据集,然后鼓励集群模型输出相同的标签相似实例,进一步改善了聚类性能性能。考虑到嵌入特征的不完善,嵌入空间中的局部最近样本并不总是具有相同的语义,特别是当样本位于不同簇之间的边界附近时,如图1(a)所示,这可能会影响性能。本质上,SCAN仅利用实例相似度来训练聚类模型,而没有显式探究簇间的语义差异,如图1(b)所示,因此无法识别语义不一致的样本。为此,我们提出了一种基于语义伪标签的图像聚类(SPICE)框架,该框架协同实例之间的相似性和聚类之间的语义差异,对聚类产生准确可靠的自我监督。在SPICE中,聚类网络分为特征模型和随后的聚类头两部分,这正是传统的分类网络。为了有效地度量实例相似度和聚类差异,我们将训练过程分为三个阶段:
1)训练特征模型;
2)训练聚类head;
3)特征模型与聚类head联合训练

  我们强调在整个训练过程中没有任何注解。更具体地说,在第一阶段我们采用自监督对比学习范式来训练特征模型,该模型能够准确地度量实例样本之间的相似性。在第二阶段,我们提出了一种原型伪标记算法(prototype pseudo-labeling),在固定特征模型的期望最大化(EM)框架中训练聚类头,该算法可以同时考虑实例相似性和语义差异进行聚类。最后,提出了一种可靠的伪标记算法,对特征模型和聚类头进行联合优化,提高了聚类性能和表示能力。
  与实例相似性方法[1]为基础,提出原型pseudo-labeling算法可以利用预测集群标签,从聚类,获得识别集群原型特征空间,然后将每个原型标签分配给它的邻居样本训练或者集群头。因此,在原型获得良好的情况下,可以避免边界样本之间的不一致性,如图1(b)所示。另一方面,给定预测的标签,可靠的伪标注算法可以识别出嵌入空间中的不可靠样本,如图1(c 中的黄色圆圈所示,在联合训练时将其过滤掉。因此,所提出的SPICE可以通过协同相似性和差异性来产生更准确、更可靠的监督。
我们的主要贡献总结如下:

  1. 我们提出了一种新的用于图像聚类的SPICE框架,该框架通过协同样本间的相似度和聚类间的差异,对聚类产生准确可靠的自我监督。
  2. 我们采用分治策略,将聚类网络划分为特征模型和聚类头,逐步将特征模型、聚类头以及两者联合训练,不使用任何标注。
  3. 我们设计了一个原型伪标记算法,在EM框架下识别训练聚类头的原型,这可以减少样本在边界附近的语义不一致。
  4. 我们设计了一种可靠的伪标记算法,选择可靠的样本联合训练特征模型和聚类头,有效地提高了聚类性能。
  5. 大量的实验结果表明,SPICE在公共图像聚类基准上的性能明显优于最先进的聚类方法(10%),缩小了无监督分类和有监督分类之间的差距(CIFAR10上缩小~2%)。
    图1。特征空间中的语义相关性。(a)不同语义的相邻样本,其中第一个图像是查询图像,其他图像是SCAN[1]提供的特征最接近的图像。(b)不含语义的实例相似性,每个点表示特征空间中的一个样本,白线表示相似的样本。(c 语义感知相似度,不同颜色表示不同语义簇,星形表示簇中心,大圆内的点与簇中心相似,黄色圆圈内的点与邻近样本语义不一致

二、相关工作

  在这项工作中,我们的目标是在不使用任何注释的情况下训练聚类网络,这是一项更具挑战性的任务,有时可以获得与最先进的半监督学习方法相当甚至更好的结果

三、方法

  我们的目标是不使用任何的标注信息对一个包含N张图像 χ = { χ i } i = 1 N \chi = \left \{ \chi _{i} \right \}_{i=1}^{N} χ={χi}i=1N 集合聚类到K个簇中。聚类网络在概念上可分为两部分:将图像映射到特征向量的特征模型, f i = F ( x i ; θ F ) f_{i} = F(x_i;\theta _F) fi=F(xi;θF), 以及将特征向量映射到K类上概率的聚类头head p i = C ( f i ; θ C ) p_{i} = C(f_i;\theta _C) pi=C(fi;θC) θ F \theta _F θF θ C \theta _C θC分别代表特征提取模型 F F F和聚类头 C C C训练的参数。与现有的深度聚类方法不同,我们使用特征模型的输出来衡量样本之间的相似性,并使用聚类头来识别聚类之间的差异,以进行伪标记,如图2所示。通过有效地度量相似度和差异,我们设计了两种语义感知的伪标记算法,原型伪标记和可靠伪标记,以生成准确可靠的自我监控。
  具体来说,我们将网络训练分为三个阶段,如图3所示。首先,我们通过实例级对比学习对特征模型F进行优化,使相同图像的不同变换得到的特征相似,而不同图像得到的特征具有区别性。其次,在冻结第一阶段学习到的特征模型的同时,用所提出的原型伪标记算法优化聚类头C。第三,结合所提出的可靠伪标记算法对特征模型和聚类头进行优化。
\caption{}
图2:不同深度聚类方法的训练框架。(a) 最初的深度聚类方法是将传统的聚类算法与深度神经网络相结合,其中大多数与自动编码器相结合,有些仅与编码器相结合。(b) 基于标签特征的方法,直接将图像映射到簇标签,其中仅基于标签特征计算自我监控。(c) 一种两阶段无监督分类方法,首先训练特征模型,然后同时和分别使用基于标签特征的自我监督和基于嵌入特征的对比损失来训练整个分类工作。(d) 一种扫描学习框架,用于约束嵌入空间中具有相同聚类标签的相似样本。(e) 提出的SPICE框架将样本间的相似性和聚类间的差异结合起来,通过语义感知的伪标记来训练聚类网络
图3:SPICE框架示意图。(a) 采用基于对比学习的无监督表征学习对特征模型进行训练。(b) 在EM框架下,通过原型伪标记算法对聚类头进行训练。(c) 通过可靠的伪标记算法,联合训练特征模型和聚类头。图3:SPICE框架示意图。(a) 采用基于对比学习的无监督表征学习对特征模型进行训练。(b) 在EM框架下,通过原型伪标记算法对聚类头进行训练。(c) 通过可靠的伪标记算法,联合训练特征模型和聚类头。

在下面的小节中,我们将详细介绍每个训练阶段。

A.对比学习的特征模型训练

  为了准确度量实例样本的相似度,我们采用基于实例判别的无监督表示学习方法[43]来训练特征模型。如图3(a)所示,有两个分支将同一图像的两个随机变换作为输入,每个分支包括特征模型和作为两层多层感知器(MLP)的投影头。在训练过程中,我们只优化较低的分支,而将较高的分支更新为较低分支的移动平均值。由于对比学习方法受益于大量训练,因此使用内存库[55]来维护编码负样本队列,以减少GPU内存大小的要求,即 { z 1 − , z 2 − , . . . , z N q − } \left \{ z_{1}^{-},z_{2}^{-},...,z_{N_q}^{-} \right \} {z1,z2,...,zNq},其中 N q \N_q Nq是队列大小。
  最终,对一个给定图像x进行两个变换 x ′ {x}' x x ′ ′ {x}'' x,上面分支输出 z + = P ( F ( x ′ ; θ F ′ ) ; θ P ′ ) z^{+} = P(F(x';\theta _{F}^{'});\theta _{P}^{'}) z+=P(F(x;θF);θP),下面的分支输出 z = P ( F ( x ′ ′ ; θ F ) ; θ P ) z = P(F(x'';\theta _{F});\theta _{P}) z=P(F(x;θF);θP)。其中P代表投影头( projection head)的参数。 θ F ′ 和 θ P ′ \theta _{F}^{'}和\theta _{P}^{'} θFθP θ F 和 θ P \theta _{F}和\theta _{P} θFθP的移动平均。 θ F 和 θ P \theta _{F}和\theta _{P} θFθP的参数优化为如下损失函数: £ f e a = − l o g ( e x p ( z T z + / τ ) ∑ i = 1 N q e x p ( z T z − / τ ) + e x p ( z T z + / τ ) ) [ 1 ] \pounds _{fea} = -log(\frac{exp(z^{T}z^{+}/\tau )}{\sum_{i=1}^{N_{q}}exp(z^{T}z^{-}/\tau )+exp(z^{T}z^{+}/\tau )})[1] £fea=log(i=1Nqexp(zTz/τ)+exp(zTz+/τ)exp(zTz+/τ))[1]
负样本 z i − z_{i}^{-} zi可以从当前图像x以外的任何图像计算, τ \tau τ是温度系数。其中,上面的分支参数由下方分支的参数动量更新: θ F ′ ← μ θ F ′ + ( 1 − μ ) θ F \theta _{F}^{'}\leftarrow \mu \theta _{F}^{'} + (1-\mu)\theta _{F} θFμθF+(1μ)θF, θ P ′ ← μ θ P ′ + ( 1 − μ ) θ P \theta _{P}^{'}\leftarrow \mu \theta _{P}^{'} + (1-\mu)\theta _{P} θPμθP+(1μ)θP,其中 μ ∈ [ 0 , 1 ) \mu \in [0,1) μ[0,1)是一个动量系数。通过在末尾添加z+并删除第一项来更新队列。包括 τ \tau τ =0.2和µ=0.999在内的所有超参数与[43]中的相同。最后优化的特征模型参数表示为 θ F s \theta _{F}^{s} θFs,将在下一阶段使用。
  在实践中,任何无监督的表示学习方法和网络架构都可以应用于SPICE框架中

B.基于原型伪标记的聚类头部训练

  基于训练后的特征模型,我们通过显式地探索样本之间的相似性和聚类之间的差异来训练聚类头。形式上,给定图像数据集X和在第III-A节中获得的特征模型参数 θ F S \theta _{F}^{S} θFS,我们的目标是只训练用于预测聚类标签 { y i s } i = 1 N \left \{ y_{i}^{s} \right \}_{i=1}^{N} {yis}i=1N的聚类头。聚类头C是一个将特征映射到概率能力的两层MLP, p i = C ( f i ; θ c ) p_{i}=C(f_{i};\theta _{c}) pi=C(fi;θc), 其中 f i = F ( x i ; θ F s ) f_{i}=F(x_{i};\theta _{F}^{s}) fi=F(xi;θFs)。然而,在无监督的环境中,我们没有培训的基本事实。为了解决这个问题,我们提出了一个原型伪标记算法,该算法在EM框架中交替估计批处理样本的伪标记并优化聚类头的参数。
  通常,该训练阶段是求解两组变量,即聚类头C、 θ c \theta _{c} θc的参数和K簇的簇标签 { y i s } \left \{ y_{i}^{s} \right \} {yis}。与kmeans聚类算法[56]类似,我们在EM框架中交替求解两个子问题:期望(E)步骤是给定 θ c θ_{c} θc求解 { y i s } \left \{ y_{i}^{s} \right \} {yis},最大化(M)步骤是给定 { y i s } \left \{ y_{i}^{s} \right \} {yis}求解 θ c \theta _{c} θc。利用对比学习的优势,我们将特征模型克隆为三个分支,如图3(b)所示:i
•顶部分支将原始图像作为输入,并输出嵌入特征 f i f _{i} fi
•中间分支将弱变换图像作为输入,估计K簇 p i p _{i} pi的概率,然后与 f i f _{i} fi结合,通过提出的原型伪标记算法生成伪标记 y i s y_{i}^{s} yis
•底部分支将强变换图像作为输入,并使用伪标签优化 θ c \theta _{c} θc
集群式头部训练的EM过程详细如下。
Prototype Pseudo-Labeling (E-step).
  顶部分支计算嵌入特征, F = [ f 1 , f 2 , . . . , f M ] T ∈ R M × K F = [f_{1},f_{2},...,f_{M}]^{T}\in \mathbb{R}^{M\times K} F=[f1,f2,...,fM]TRM×K,中间分支计算相应的概率, P = [ p 1 , p 2 , . . . , p M ] T ∈ R M × K P = [p_{1},p_{2},...,p_{M}]^{T}\in \mathbb{R}^{M\times K} P=[p1,p2,...,pM]TRM×K,对于弱变换样本,α(Xb)。这里,M是最小批量大小,D是特征向量的维数,α表示输入图像上的弱变换。
  在给定P和F的情况下,选择置信度最高的样本来估计每个聚类的原型,然后将聚类原型的索引分配给最近的邻居作为伪标签。形式上,以第k个簇为例,每个簇的最高置信度样本选择如下: ℑ k = { f i ∣ a r g t o p k ( P : , k , M K ) , i = 1 , 2 , . . . , M } [ 2 ] \Im_{k} = \left \{ f_{i}\mid argtopk(P_{:,k},\frac{M}{K}),i = 1,2,...,M \right \}[2] k={fiargtopk(P:,k,KM),i=1,2,...,M}[2]
  其中 P : , k 表 示 矩 阵 P 的 第 k 列 , a r g t o p k ( P : , k , M K ) P_{:,k}表示矩阵P的第k列,argtopk(P_{:,k},\frac{M}{K}) P:,kPkargtopk(P:,k,KM)返回最高M/K置信度的样本索引。聚类中心在编码空间为: γ k = K M ∑ f i ∈ ℑ k f i , k = 1 , 2 , . . . , K . [ 3 ] \gamma _{k} = \frac{K}{M} \sum_{f_{i}\in \Im_{k}}^{}f_{i}, k = 1,2,...,K.[3] γk=MKfikfi,k=1,2,...,K.[3]
  通过计算嵌入特征 f i f_{i} fi和簇中心 γ k \gamma _{k} γk之间的余弦相似度,我们选择 M / K M/K M/K个最近的样本到 γ k , 用 X k \gamma _{k},用X^{k} γkXk表示,以具有相同的簇标签, y i s = k , ∀ x i ∈ X k y_{i}^{s}=k,∀x_{i}∈ X^{k} yis=kxiXk。因此,具有语义伪标签 X s X^{s} Xs的小批量图像被构造为
X k = { ( x i , y i s ∣ ∨ x i ∈ X k , k = 1 , 2 , . . . , K } [ 4 ] X^{k} = \left \{ (x_{i},y_{i}^{s}\mid\vee x_{i}\in X^{k},k = 1,2,...,K \right \}[4] Xk={(xi,yisxiXk,k=1,2,...,K}[4]
  原型伪标记过程的一个玩具示例如图4所示,其中有一批10个样本和3个聚类,根据预测概率为每个聚类选择3个置信样本以计算特征空间中的原型,并选择和标记每个聚类最近的3个样本。请注意,不同簇之间可能存在重叠的样本,因此有两个处理这些标签的选项:一个是重叠分配,即一个样本可能有多个簇标签,如图4中的蓝色和红色圆圈所示;另一个是非重叠分配,即所有样本只有一个簇标签,如碟形红色圆圈所示。我们发现,如第IV-F2节所分析的,重叠分配更好

在这里插入图片描述图4 伪标签原型的一个玩具示例。首先,给定10个样本在3个集群上的预测概率,为每个集群选择前3个自信样本,分别用绿色、蓝色和红色标记。然后,将选择的样本映射到对应的特征(用点表示),对每个星团估计原型(用星表示),其中星是用连通的点估计的。最后,选择离每个簇原型最近的前3个样本(同一椭圆内的点),赋给对应原型的索引。其他未选中的样本用-1标记,不会用于训练。虚线椭圆表示非重叠赋值。
Training Clustering Head (M-step).
  给定标记的样本 X s X^{s} Xs,采用监督学习的方式优化聚类头参数。具体地说,我们计算了前向传递中强变换 β ( X s ) β(X^{s}) β(Xs)的概率,其中 β β β表示强增强算子。然后,通过最小化后面的交叉熵(CE)损失,可以在向后传递中优化聚类头 C C C
£ c l u = 1 M ∑ i = 1 M £ c e ( y i s , p i ′ ) [ 5 ] \pounds _{clu} = \frac{1}{M}\sum_{i=1}^{M}\pounds _{ce}(y_{i}^{s},p'_{i})[5] £clu=M1i=1M£ce(yis,pi)[5]
  式中 p i ′ = s o f t m a x ( p i ) , p i = A ( F ( β ( x i ) ; θ F s ) ; θ A ) , £ c e p'_{i}= softmax(p_{i}), p_{i}= A(F(β(x_{i});θ^{s}_{F});θ_{A}),\pounds _{ce} pi=softmax(pi)pi=A(F(β(xi);θFs);θA),£ce为交叉熵损失函数。在Eq.(5)中,我们在计算CE损耗之前使用双softmax函数,因为 p i p_{i} pi已经是softmax函数的输出。考虑到伪标签不像ground truth标签那样准确,双softmax实现背后的基本思想是降低学习速度,特别是当预测是低概率的时候,有利于训练过程中的动态聚类过程(关于双softmax实现的详细分析,请参见附录A)
  上述训练聚类头的过程在算法1中得到了总结。
在这里插入图片描述  在这一阶段,我们通过表示学习来确定特征模型的参数,并且只优化轻量级聚类头。因此,计算负担大大减少,因此我们可以同时独立地训练多个聚类头。这样,通过选择最佳的聚类头,可以有效地缓解初始化时聚类的不稳定性。具体来说,可以选择参数为 θ C s θ_{C}^{s} θCs的最佳头部在整个数据集上 £ c l u \pounds _{clu} £clu的最小损失值;i、 例如,我们设置M=N,并遵循算法1中的e-step和M-step来计算损失值。在测试过程中,使用最佳聚类头将输入图像聚类到不同的聚类中。

C.采用可靠伪标注的联合训练

  给定嵌入特征和第III-B节中得到的预测标签 { ( x i , f i , y i s ) } i = 1 N \left \{ (x_{i},f_{i},y_{i}^{s}) \right \}_{i=1}^{N} {(xi,fi,yis)}i=1N,我们根据嵌入特征之间的余弦相似度为每个样本 x i x_{i} xi选择 N s N_{s} Ns最近的样本。这些最近样品的相应标签用 ς i \varsigma _{i} ςi表示。然后,样本 x i x_{i} xi的语义一致性比率 r i r_{i} ri定义为:
r i = 1 N s ∑ y ∈ ς i I ( y = y i s ) [ 6 ] r_{i}=\frac{1}{N_{s}}\sum_{y\in \varsigma _{i}}^{}\mathbb{I}(y=y_{i}^{s})[6] ri=Ns1yςiI(y=yis)[6]
  给定一个预定义的阈值 λ λ λ,如果 r i > λ r_{i}>λ ri>λ,则将样本 ( x i , y i s ) (x_{i},y^{s}_{i}) (xiyis)标识为用于联合训练的可靠标签,否则将忽略相应的标签。通过可靠的伪标记,可靠样本的子集 X r X^{r} Xr被选择为:
X r = { ( x i , y i s ∣ r i > λ , ∨ i = 1 , 2 , . . . , N } [ 7 ] X^{r} = \left \{ (x_{i},y_{i}^{s}\mid r_{i}> \lambda ,\vee i = 1,2,...,N \right \}[7] Xr={(xi,yisri>λ,i=1,2,...,N}[7]
联合训练
  对于上述部分标注的样本,可以将聚类问题转化为半监督学习范式来联合训练聚类网络。这里我们采用一种简单的半监督学习方法[54]。在训练过程中,可靠标记样本子集保持固定。另一方面,所有的训练样本应该是一致聚类的,即约束同一图像的不同变换具有一致的预测。为此,如图3©所示,将自信预测的弱变换标签作为同一幅图像的强变换伪标签。形式上,样本 x j 的 一 致 性 伪 标 签 y j u x_{j}的一致性伪标签y_{j}^{u} xjyju计算为eq(8):
y j u = { a r g m a x ( p j )      i f m a x ( p j ) ≥ η − 1              o t h e r w i s e y_{j}^{u}=\left\{\begin{matrix}argmax(p_{j}) \: \: \: \: if max(p_{j})\geq \eta & & \\-1 \: \: \: \: \: \: \: \: \: \: \: \: otherwise & & \end{matrix}\right. yju={argmax(pj)ifmax(pj)η1otherwise
其中 p j = C ( F ( α ( x j ) ; θ F ) ; θ C ) , η p_{j}=C(F(\alpha (x_{j});θ_{F});θ_{C}),\eta pj=C(F(α(xj);θF);θC)η是置信阈值。
然后,整个网络参数 ; θ F , θ C ;θ_{F},θ_{C} ;θFθC通过以下损失函数进行优化:在这里插入图片描述
  其中,第一项使用从 X r X^{r} Xr中提取的可靠标记样本 ( x i , y i s ) (x_{i},y^{s}_{i}) (xiyis)计算,第二项使用从整个数据集X中提取的伪标记样本 ( x i , y i u ) (x_{i},y^{u}_{i}) (xiyiu)计算,该数据集通过对置信预测进行阈值化来动态标记,如式(8)所示。L和U表示小批量中标记和未标记图像的数量。
  注意,SPICE揭示了利用实例级相似性和语义级差异进行聚类的重要性。基于这一关键思想,本研究致力于开发语义伪标记算法,该算法可以实际估计实例相似度和语义差异,以获得更好的聚类结果。实际上,SPICE提供了一个通用的无监督聚类框架,该框架逐步对特征模型、聚类头和整个模型进行端到端的训练。该框架能够通过提出的语义伪标记方法,将高级无监督表示学习和半监督学习方法有机地结合起来进行聚类。

四、实验结果

A、 基准数据集和评估指标

  我们评估了SPICE在STL10、CIFAR-10、CIFAR-100-20、ImageNet-10、ImageNet-Dog和Tiny-ImageNet 6种常用图像聚类数据集上的性能。表I总结了每个数据集的关键细节,其中数据集反映了图像大小、图像数量和集群数量的多样性。不同的现有方法使用不同的图像大小进行训练和测试;例如,CC[15]将这6个数据集的所有图像的大小都调整为224×224,GATCluster[14]研究了不同大小的图像在ImageNet-10和ImageNet-Dog上的有效性,表明过大或过小都会损害聚类性能。在这项工作中,我们自然地使用图像的原始大小,而没有调整到更大的图像大小。对于ImageNet,我们采用常用的图像大小224×224。聚类结果的评价指标有三种:调整Rand指数(ARI)[57]、归一化互信息(NMI)[58]和聚类精度(ACC)[59]。
在这里插入图片描述

B、 实施细节

  为了公平的比较,我们主要采用ResNet18和ResNet34这两个骨干网[68]进行表示学习。SPICE中的分类头由两个全连接层组成;即D-D-K,其中D和K分别为特征维数和簇数。具体来说,D = 512 ResNet18和ResNet34骨干网络,和集群数K是预定义的类的数量在目标数据集如表一所示显示联合培训(第三阶段)提高集群的性能,我们将香料香料没有联合训练,其中下标s表示单独训练。在表征学习方面,我们在所有的实验中都使用了MoCo-v2 [43], SCAN[1]也使用了MoCo-v2[43]。对于弱增强,标准的翻转和移位增强策略在FixMatch[54]中实现。对于强增强,我们采用与SCAN[1]相同的策略。具体来说,通过组合Cutout[69]和从RandAugment[70]中随机选择的四种变换,图像得到了强增强。在SPICE中,我们使用10个聚类头,在每次试验中为最终头选择损失最小的最佳头。为了通过可靠伪标记来选择SPICE中可靠标记的图像,我们经验地设置Ns= 100和λ = 0.95。FixMatch[54]中涉及的超参数与原文保持一致,其中η = 0.95。我们将批大小M设置为1000。

C、 聚类性能比较

  现有的方法可以分为两组,根据他们的训练和测试设置。一种是将训练分割和测试分割结合在一起,在整个数据集上训练和测试聚类模型。二是在分离的训练数据集和测试数据集上训练和测试聚类模型。为了进行公平的比较,在两种设置下对拟议的SPICE进行了评估,并与现有的方法进行了相应的比较。
  表II展示了在整个数据集上聚类的比较结果。参考最近开发的方法[12],[14],[15],在学习特征模型和聚类头时使用相同的骨干ResNet34。复制FixMatch[54]中的原始设置,我们为CIFAR-10使用WideResNet-28-2,为CIFAR-100-20使用WideResNet-28- 8,为STL-10使用WideResNet-37-2。对于没有在FixMatch中使用的ImageNet-10, ImageNet-Dog和Tiny-ImageNet数据集,我们只是在联合学习期间使用相同的ResNet34。结果显示,SPICE对ACC、NMI和ARI的改善分别比CC[15]在STL10上最近报道的最佳结果提高了8.8%、12.6%和14.4%。平均而言,我们提出的方法在ImageNet-Dog-15、CIFAR-10、CIFAR-100-20和Tiny- ImageNet-200上也提高了大约10%的ACC、NMI和ARI。值得强调的是,在没有联合训练阶段的情况下,SPICEsstill方法在大多数数据集上的性能都优于现有的使用相同网络架构的深度聚类方法。这些结果令人信服地表明,在使用完全相同的骨干网和数据集的情况下,提出的方法具有优越的性能。最终的联合训练结果明显优于单独训练结果,特别是CIFAR-10 (ACC提高了8.8%)和CIFAR-100-20 (ACC提高了7.0%)。在对Tiny-ImageNet- 200中的图像进行聚类时,虽然我们的结果明显优于现有的结果,但仍然很低。这主要是由于类的层次结构;如[1]中所分析的,一些类共享相同的晚餐类。由于性能较低,一些簇无法基于可靠的伪标记算法进行可靠标记,从而无法利用端到端训练进一步提高聚类性能。因此,如何对大量的分层集群进行聚类仍然是一个有待解决的问题。
在这里插入图片描述  表Ⅲ展示了在整个数据集上聚类的比较结果。参考最近开发的方法[12],[14],[15],在学习特征模型和聚类头时使用相同的骨干ResNet34。复制FixMatch[54]中的原始设置,我们为CIFAR-10使用WideResNet-28-2,为CIFAR-100-20使用WideResNet-28- 8,为STL-10使用WideResNet-37-2。对于没有在FixMatch中使用的ImageNet-10, ImageNet-Dog和Tiny-ImageNet数据集,我们只是在联合学习期间使用相同的ResNet34。结果显示,SPICE对ACC、NMI和ARI的改善分别比CC[15]在STL10上最近报道的最佳结果提高了8.8%、12.6%和14.4%。平均而言,我们提出的方法在ImageNet-Dog-15、CIFAR-10、CIFAR-100-20和Tiny- ImageNet-200上也提高了大约10%的ACC、NMI和ARI。值得强调的是,在没有联合训练阶段的情况下,SPICEsstill方法在大多数数据集上的性能都优于现有的使用相同网络架构的深度聚类方法。这些结果令人信服地表明,在使用完全相同的骨干网和数据集的情况下,提出的方法具有优越的性能。最终的联合训练结果明显优于单独训练结果,特别是CIFAR-10 (ACC提高了8.8%)和CIFAR-100-20 (ACC提高了7.0%)。在对Tiny-ImageNet- 200中的图像进行聚类时,虽然我们的结果明显优于现有的结果,但仍然很低。这主要是由于类的层次结构;如[1]中所分析的,一些类共享相同的晚餐类。由于性能较低,一些簇无法基于可靠的伪标记算法进行可靠标记,从而无法利用端到端训练进一步提高聚类性能。因此,如何对大量的分层集群进行聚类仍然是一个有待解决的问题。在STL10和CIFAR100- 20上,性能优于SCANMoCothat包含预训练,聚类和微调阶段。此外,我们在整个数据集设置中使用更大的骨干网来评估SPICE,在STL10和CIFAR-10上的结果非常相似,而在CIFAR-100-20上的结果显著改善。值得注意的是,SPICE显著地缩小了无监督分类和监督分类之间的差距。在包含有标签和无标签图像的STL10上,无监督方法的结果比有监督方法更好,因为无监督方法可以利用无标签图像进行表示学习,而有监督方法则不能。在CIFAR-10和CIFAR-100-20上,所有使用相同图像进行训练的方法和提出的SPICE与监督对应方法相比,进一步缩小了性能差距,特别是CIFAR-10上ACC差距仅为2%。
在这里插入图片描述  表IV提供了STL10上更详细的比较结果,这三种方法都使用MoCo[43]进行表征学习,并进行了5次计算结果的均值和标准差。与SCAN MoCothat只探索实例相似性而不进行微调相比,spices在学习集群中显式地利用了实例相似性和语义差异。另一方面,与k-means法推断具有聚类中心的聚类标签不同,spicesesis采用非线性聚类头来预测聚类标签。可以看出,SPICEsis在均值和标准差度量上都明显优于MoCo+k-means和SCAN MoCoin项,表明了本文提出的原型伪标记算法的优越性。此外,SPICE的最终结果在平均性能和稳定性方面都明显优于SCANMoCoin。总的来说,我们的比较结果系统地展示了所提出的SPICE方法在整体数据集和分离数据集设置上的优越性。
在这里插入图片描述

D、半监督分类比较

  在本小节中,我们进一步将SPICE与最近提出的半监督学习方法进行比较,包括Π-Model [28], Pseudo-Labeling [72], Mean Teacher [73] Mix- Match [32], UDA [74], ReMinMatch[53],和FixMatch [54],如表v所示,这里的半监督学习方法使用了250和1000个样本,分别在CIFAR-10和STL10上使用了地面真实标签。这里常用的CIFAR-10和STL10数据集上的半监督学习结果来自[54]。SPICE在FixMatch中使用相同的骨干网进行公平比较,并进行了5次报告平均值和标准差结果。在我们的实验中发现SPICE可以与这些先进的半监督学习方法相媲美,甚至更好。这些结果表明,spiceswithreliable pseudo-labeling algorithm可以在不需要人工交互的情况下对一组图像进行准确的标记。
在这里插入图片描述

F、实证分析

在本小节中,我们实证分析了SPICE框架中不同组件和选项的有效性
1)簇语义可视化:
  我们将spicese学习到的语义簇按照原型样本和判别区域进行可视化,如图5所示。具体来说,图5(a)展示了离簇中心最近的前三个样本,代表了簇原型;图5(b)中,每个簇包括三个样本,每个样本用原始图像和注意图进行可视化,以突出区分区域。每个聚类的注意力图是通过计算聚类中心之间的余弦相似度来计算的。(2)和(3))的数据集和单个图像的卷积特征图,然后调整大小并归一化为[0,1]。结果表明,原型样本与人工标注完全匹配,识别区域集中在语义对象上。例如,标签为1的集群捕获狗类,其最具区别性的区域准确地捕获不同位置的狗,对于所有其他集群都可以观察到类似的结果。实验结果表明,学习到的聚类具有一定的语义意义,聚类中心向量能够提取出判别特征。
在这里插入图片描述2)消融研究:
  我们在消融研究中评估spice不同成分的有效性,如表7所示。在每个实验中,我们用另一个选项替换了spice的一个成分,并进行了五次试验来报告每个指标的平均值和标准差。
  我们首先评估了重叠分配和非重叠分配的有效性,如第III-B节和图4所述。结果表明,重叠分配优于不重叠分配,这可能是因为在将标签分配给远离聚类中心的样本时,不重叠分配可能会引入额外的局部不一致性,如图4(红色虚线圈)所示。
  在训练SPICEs时,我们只优化聚类头,而冻结特征模型的参数。为了证明这种单独训练策略的有效性,我们将其与两种变体进行了比较,即联合训练特征模型和单个聚类头(Joint-SH)以及联合训练特征模型和多个聚类头(Joint-MH)。注意图3(b)中第一个分支的特征模型仍然是固定的,以便准确测量相似度。结果表明,这两种变量的聚类性能明显变差。一方面,伪标签的质量不仅取决于相似性度量,还取决于聚类头的预测。另一方面,聚类头的性能也取决于表示特征的质量。在训练过程中对所有参数进行调优时,特征模型在没有准确标签的情况下容易退化,聚类头在初始阶段容易输出错误的预测结果,从而影响伪标注质量,陷入恶性循环。
  通常,最大化不同集群上的熵是避免将所有样本分配到单个或几个集群所必需的,如GATCluster[14]所示。因此,我们在训练过程中增加了另一个熵损失,结果没有改变。这表明我们的平衡分配伪标记过程具有防止琐碎解的能力。然而,当聚类大量的层次簇时,例如在Tiny-ImageNet中200个簇时,为了避免空簇,熵损失是必要的。为了评估在CE前应用双softmax的有效性,我们将其替换为普通CE或带温度参数的CE[75]。对于TCE,我们评估了包括0.01、0.05、0.07、0.1、0.2、0.5、0.8、2在内的不同温度值,发现0.2的结果最好,并将其纳入比较。结果表明,TCE优于CE,与文献[43]一致。另一方面,TCE的结果不如双softmax CE。这些实验结果与附录A中关于衍生品的详细分析是一致的。
3)聚类头部选择:
  在无监督学习中,训练过程在没有ground truth监督的情况下很难收敛到最佳状态,因此不同试验之间通常存在较大的标准差。因此,如何在无监督训练过程中估计模型的性能以选择潜在的最佳模型是非常重要的。如第III-B小节所介绍的,我们在整个测试数据集上使用Eq.(5)定义的分类损失来近似分类性能;即损失越小,聚类性能越好。模型选择过程如图6所示,可以看出所选聚类头的性能非常接近于ground truth的选择,证明了该损失度量的有效性。这样可以过滤掉性能较差的簇头。表4的结果表明,与竞争的方法相比,SPICE有更低的标准差。重要的是,轻量级聚类头可以独立、同时训练,互不影响,不需要额外的训练时间。
在这里插入图片描述

4)可靠标注的效果:
  在第III-C节中,我们引入了一种可靠的伪标注算法来选择可靠标注的图像。在这里,我们在图7中展示了该算法的有效性,其中t-SNE用于将CIFAR-10图像的表示特征映射到二维向量以进行可视化。在图7(a)中,一些明显的语义不一致的样本很明显,SPICEson所有样本的预测ACC为83.8%。直接使用这些样本进行联合训练,ACC并没有得到提高。图7(b)为所选的可靠样本,其中局部不一致样本的比例明显降低,ACC相应提高到95.9%。采用可靠的联合训练样本,SPICE组联合训练后ACC较SPICE组显著提高(92.6% vs . 83.8%)
在这里插入图片描述
5)数据增强的效果:
  我们评估了不同数据增强对香料的影响,如表VIII所示,其中Aug1和Aug2分别对应图3(b)中第二和第三分支的数据增强。结果表明,当第二分支使用弱感知时,第三分支使用强增强时,模型取得了最好的效果。另外,当标注过程中的第二个分支使用强增强时,该模型的性能相对较差,这是由于标注过程旨在生成可靠的伪标签,而伪标签会被强增强所削弱。当第三个分支使用强增强时,模型表现得更好,因为它将驱动模型输出不同转换的一致预测。总的来说,数据增强对结果的影响较小,因为预训练的特征模型已经具备了变换不变性的能力。
在这里插入图片描述

五、讨论

  在本研究中,SPICE网络较竞争方法显著提高了图像聚类性能,缩小了无监督分类与完全监督分类之间的性能差距。然而,还有进一步改进的机会。首先,现有的深度聚类方法假设聚类数K是已知的。在实际应用中,我们并不总是有这样的优先级。因此,如何自动确定具有语义意义的聚类数量是深入聚类研究的一个开放性问题。其次,为了避免琐碎的解决方案,几乎所有现有的聚类方法都假设目标数据集在每个集群中包含相似数量的样本,这在现实应用程序中可能是,也可能不是。通常,至少有两个约束可以应用于实现这一先验,包括最大化熵[14]和平衡分配72,这是最大化熵的最优解决方案。另一方面,如果我们确实有样本的先验分布作为聚类指数的函数,这些方法的约束可以从均匀分布调整到特定的分布。理想的聚类方法应该在聚类数量和每个聚类的样本先验分布都不知道的情况下很好地工作,这是该领域的圣杯。最后,尽管香料方法在现有方法取得优越的成果,逐步训练过程的三个阶段是基于多个算法的成分,并可能进一步统一在一个高雅的框架,优化弱和强转换,这是超出了本文的范围。然而,我们的方法既有效又高效,而且容易优化和应用,因为每个训练阶段只有一个交叉熵函数,而且相当直接。重要的是,SPICE是协同实例相似性和语义差异以获得更好的图像聚类的典范工作流。

六、结论

  我们提出了一个用于图像聚类的语义伪标记框架,其首字母缩写为SPICE。为了准确测量聚类时样本间的相似性和聚类间的差异,我们将聚类网络分为特征模型和聚类头,分别用无监督表示学习算法和原型伪标记算法进行训练。然后与可靠的伪标记算法联合训练。大量的实验证明了SPICE方法在6个公共数据集上的优越性,在调整后的rand指数、归一化互信息和聚类精度方面平均提高了10%。SPICE可与最先进的半监督学习方法相媲美,甚至更好,并具有改善表征特征的能力。值得注意的是,SPICE显著缩小了无监督分类与完全监督分类之间的差距;例如,与CIFAR-10的差距仅为2%。我们相信SPICE背后的基本思想有潜力帮助集群其他领域的数据集,并应用于其他学习任务。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值