论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强

论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强

  • 摘要
  • 1 介绍
  • 2 相关工作
    • 带增强的聚类方法
    • 具有一致性损失的自监督
    • 子空间聚类中的自表达模型
  • 3 深度子空间聚类+数据增强
    • 总结
  • 4 寻找有效增强


2020年的NeruaIPS收录文章
开源代码:https://github.com/mahdiabavisani/DSCwithDA.git.

摘要

数据增强技术背后的想法是基于这样一个事实:感知的细微变化不会改变大脑的认知。在分类中,神经网络利用这一事实,通过对输入进行变换来学习预测相同的标签。然而,在深子空间聚类(DSC)中,groud-truth标签不可用,因此,人们无法轻松使用数据增强技术。我们提出了一种技术来利用DSC算法中数据增强的优点。我们学习对轻微变换的输入保持一致的子空间表示。特别地,我们在DSC算法的目标函数中引入了一个temporal ensembling组件,使DSC网络能够为输入数据中的随机变换保持一致的子空间。此外,我们还提供了一个简单的无监督过程来寻找有效的数据增强策略。增强策略具有一定的幅度和概率应用于每个epoch中的每个图像进行transform。我们在最常见的增强策略的搜索空间中找到最佳策略,从而使DSC网络在目标数据集的聚类结果中产生最高的平均轮廓系数(Silhouette Coefficient)。我们的方法在四个标准子空间聚类数据集上实现了最先进的性能。

论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强_第1张图片

1 介绍

最近的技术为计算机视觉和机器学习应用提供了大量复杂的高维数据。高维数会带来负面影响,包括不相关维数的算法混乱、维数灾难以及计算时间和内存增加。这促使我们探索用低维表示高维数据的技术。在许多实际应用中,高维数据可以通过低维子空间的并集来表示。子空间聚类问题的目的是寻找这些子空间。子空间聚类的目标是找到子空间的数目、它们的基和维数,并将数据分配给这些子空间。

传统的子空间聚类算法假设数据位于线性子空间。然而许多真实数据集用非线性流形建模更合适。为了解决这个问题,许多模型都结合了投影和核技巧来表达非线性。最近提出了深度子空间聚类(DSC)方法通过将数据投影到线性子空间中的潜在空间来学习无监督非线性映射。深度子空间聚类网络在各种数据集上表现出了良好的性能。

深度学习技术容易过拟合。数据增强通常作为一种正则化来缓解这个问题。虽然基于深度学习的方法的数据增强已被证明是有益的,但当前的DSC网络框架无法充分利用数据增强。在这项工作中,我们修改了DSC框架,并提出了一个可以将数据增强纳入DSC的模型。

子空间聚类与有监督任务中的数据增强之间的一个重要区别是,子空间聚类算法中的样本没有ground-truth。在有监督的深度学习模型中,与对象即使稍微变换也保持不变这一事实相对应,现有样本的变换被训练为使用与原始样本的ground-truth类似的一致标签进行预测。在一个无监督的子空间聚类任务中,如果数据没有ground-truth,如何表示这种一致性的属性?

DSC模型应为相似数据点提供一致输出的函数。为了实现这一点,我们优化了基于temporal ensembling的一致性损失。我们将现有样本的合理transform输入到模型中,并要求模型的自动编码器(AE)将变换后的样本映射到与原始数据的子空间相似的一致子空间。

有效的增强策略提高了深度网络的性能,但有效的增强策略可能因数据集而异。在有监督学习中,验证集通常用于手动搜索变换,如旋转、水平翻转或平移几个像素,以找到有效的增强。手动增强需要事先的知识和专业知识,并且只能在少数预定义的试验中进行搜索。有些方法自动搜索分类网络。然而,这些方法只针对分类任务而设计,不能应用于子空间聚类任务。这是因为我们在子空间聚类中没有验证或训练集。我们克服了这个问题,提供了一种简单而有效的方法,通过贪婪搜索找到有效的扩充策略,并使用平均轮廓分数来评估不同扩充策略对我们提出的模型性能的影响。

2 相关工作

带增强的聚类方法

最近提出了一种用于具有增强的深度嵌入式聚类算法的技术。在预训练阶段训练自动编码器时使用增强,在微调阶段鼓励增强的数据与相应的数据具有相同的质心。据我们所知,本文是第一次为深子空间聚类算法提出扩充框架。

具有一致性损失的自监督

对于未标记数据的不同转换,学习一致性特征的思想已经在许多工作中得到了应用,主要是在半监督和自监督学习文献中。

子空间聚类中的自表达模型

由于其简单性、理论正确性和经验成功性,基于自表达特性的子空间聚类方法非常流行。自表达特性可以表述为:
X = X C , s . t . d i a g ( C ) = 0 {\bf X=XC},s.t. diag(\textbf C)=0 X=XC,s.t.diag(C)=0

可能存在许多满足自表达条件的系数矩阵。其中,基于自表达的子空间聚类方法特别关注子空间保持解。子空间保持特性表明,如果C中的元素非零,则X中与该系数对应的两个数据点位于同一子空间中。结合这两个属性,需要解决如下形式问题:
在这里插入图片描述
其中 λ 1 λ_1 λ1是正则化常数, L S . E . \mathcal L_{S.E.} LS.E. L S . P . \mathcal L_{S.P.} LS.P.分别施加自表达特性和子空间保持特性。大多数线性方法使用 L S . E . ( C , X ) = ∣ ∣ X − X C ∣ ∣ F 2 \mathcal L_{S.E.}({\bf C,X})=\vert \vert {\bf X− XC}\vert \vert^2_F LS.E.(C,X)=XXCF2,而 L S . P . \mathcal L_{S.P.} LS.P.可以是 ℓ 1 , ℓ 2 \ell_1,\ell_2 1,2或核范数。

近年来,深度神经网络扩展了自表达性的模型。对于这些方法, x i x_i xi不需要从线性子空间的并集中提取。相反,他们使用自动编码网络将数据点映射到潜在空间,其中数据点位于线性子空间的并集中,并利用潜在空间中的自表达性和子空间保持特性。 Z ∈ R d × N Z∈\mathbb R^{d×N} ZRd×N为在自动编码器中编码的潜在空间特征。深度子空间聚类网络解决了以下形式的问题:

在这里插入图片描述
区别在于, Θ \Theta Θ是可训练参数,编码器输出的 X ^ \bf \hat X X^是对 X \bf X X的重建 L R e c . ( X , X ^ ) = ∣ ∣ X − X ^ ∣ ∣ F 2 \mathcal L_{Rec.}(\bf X,\hat X)=\vert \vert {\bf X-\hat X}\vert \vert^2_F LRec.(X,X^)=XX^F2。一旦找到合适的 C \bf C C就将谱聚类应用于 W = ∣ C ∣ + ∣ C ∣ ⊤ \bf W=|C|+|C|^\top W=C+C来得到对 X X X的分割。

3 深度子空间聚类+数据增强

当在有监督的深度学习模型中使用数据增强时,对现有transform的样本进行训练,以预测与原始样本的ground-truth标签相似的一致性标签。我们认为DSC模型应该支持为相似数据点提供一致输出的函数。当对数据点应用增强策略时,我们通过保持数据点的估计子空间成员隶属关系的一致性来处理这一性质。在训练过程中,我们通过对先前迭代中估计的affinity矩阵进行temporal ensembling来平滑子空间成员关系(即C的元素 c i j c_{ij} cij)的预测。

对于数据 X = [ x 1 , . . . , x N ] ∈ R D × N X=[x_1,...,x_N]\in \mathbb R^{D\times N} X=[x1,...,xN]RD×N,在第 t t t次迭代时对 X X X应用数据增强策略得到的数据为 X t X^t Xt,有 X t = [ x 1 t , . . . , x N t ] X^t=[x^t_1,...,x^t_N] Xt=[x1t,...,xNt]

我们的模型可以应用于各种DSC网络。在这一节中,我们考虑一个通用形式,它包括以 X t X^t Xt作为输入并生成潜在空间特征 Z t Z^t Zt的编码器。潜在空间特征 Z t Z^t Zt由参数为 C t C^t Ct的自表达层重建。也就是说, Z t C t Z^tC^t ZtCt被馈送到解码器以产生 X ^ t \hat X^t X^t,这是 X t X^t Xt的重构。图1显示了该模型的概述。请注意,这样的模型包括一个全连接层,该层连接小批量中的所有样本(自表达层)。因此,在训练期间,数据点的数量及其顺序不能改变。我们保留一个占位符,其中有N个字段对应于现有样本。

论文阅读笔记(15):Deep Subspace Clustering with Data Augmentation,深度子空间聚类+数据增强_第2张图片

如前所述,我们的目标是一个自动编码器,它对轻微变换输入的子空间成员隶属关系一致。设 C t C^t Ct为子空间聚类算法第 t t t次迭代时构造的系数矩阵。此外,设 Q ^ \hat Q Q^是子空间隶属度矩阵的现有估计,它的行表示将样本分配给的不同子空间的one-hot向量。 Q ^ T \hat Q^T Q^T ∣ C t ∣ |C^t| Ct的乘法给出了一个矩阵,其第 ( i , j ) (i,j) (i,j)元素显示了分配给第 i i i子空间的样本在重构第 j j j样本时的贡献。对于完美的子空间保持系数矩阵, Q ^ T ∣ C t ∣ \hat Q^T|C^t| Q^TCt每行只有一个非零元素(one-hot的)。

因此,在迭代t处的子空间成员矩阵的预测可以如下计算:

在这里插入图片描述
即对 Q ^ t ∣ C t ∣ \hat Q^t|C^t| Q^tCt的每行进行Softmax,我们将 Q t Q^t Qt称为时态子空间隶属矩阵。

时态子空间隶属度矩阵 Q t Q^t Qt估计当前观测 X t X^t Xt的子空间隶属度。注意,由于随机增加的输入,系数矩阵 C t C^t Ct可能在不同的时间范围内发生突然变化。虽然对于数据的轻微变换可以使用不同的系数矩阵,但我们对保持持久子空间成员的矩阵 Q t Q^t Qt感兴趣。因此,我们提出了子空间成员一致性损失。

我们保持系数矩阵的指数项移动平均(exponential moving average, EMA),为系数矩阵提供平滑的时态集合(temporal ensembling)。因此,除了时态子空间隶属度矩阵外,在每个epoch中,我们可以计算与先前迭代中系数矩阵的时态集合相对应的另一个隶属度矩阵。我们将此成员隶属度矩阵称为 Q E n s . t Q^t_{Ens.} QEns.t

C E M A t − 1 C^{t−1}_{EMA} CEMAt1为系数矩阵的EMA,直到 t − 1 t−1 t1次迭代,且 C t C^t Ct是第 t t t次迭代时计算更新的系数矩阵。EMA可如下更新:
在这里插入图片描述
其中 0 < α < 1 0<\alpha<1 0<α<1为平滑因子,因此 Q ^ E n s . t \hat Q^t_{Ens.} Q^Ens.t可如下计算:

在这里插入图片描述
注意,与 Q t Q^t Qt相比, Q E n s . t Q^t_{Ens.} QEns.t提供了更一致的子空间成员预测。为了鼓励自动编码器支持保留子空间成员隶属的函数,即使对于不同的transform的观测值 X t X^t Xt,我们提出子空间成员隶属一致性损失如下:
在这里插入图片描述

其中 C E CE CE表示交叉熵函数。 L C o n s . \mathcal L_{Cons.} LCons.惩罚了子空间成员隶属的时态变化与子空间成员隶属的时态集合 Q E n s . t Q^t_{Ens.} QEns.t的不一致性。

总结

我们通过子空间聚类和子空间成员一致性两个步骤对网络进行迭代训练。在每次迭代t时,我们用以下算法训练:

在这里插入图片描述

4 寻找有效增强

增强策略的选择对网络的性能起着重要的作用,我们将寻找最佳增强策略的问题描述为一个离散搜索问题。

我们的方法由三部分组成:得分、搜索算法和具有可行设置 n s n_s ns的搜索空间。搜索算法对数据增强策略 S i S_i Si进行采样,该策略包含有关要使用的图像处理操作、在每次迭代中使用该操作的概率以及操作的大小的信息。策略 S i S_i Si将用于训练具有固定体系结构的子深子空间聚类网络。经过训练的子网络将返回一个分数,该分数指定对输入数据应用策略 S i S_i Si对深度子空间聚类任务性能的影响。最后,所有测试的策略 { S i } 1 n s \{S_i\}_1^{n_s} {Si}1ns将根据得分排序。

你可能感兴趣的:(机器学习,深度学习,聚类)