【导读】
本篇介绍了深度神经网络表示学习+聚类的方法(深度聚类)综述,有帮助的话,文末点个赞吧~
聚类分析在机器学习和数据挖掘中非常重要。深度聚类利用深度神经网络学习适用于聚类的表示,已广泛应用于各种聚类任务。然而,现有研究主要集中在单视图领域和网络架构上,忽略了聚类的复杂应用场景。为解决这一问题,本文从数据源的角度对深度聚类进行了全面的调查。针对不同的数据源和初始条件,我们从方法论、先验知识和架构方面系统地区分了聚类方法。
具体来说,我们将深度聚类方法分为传统单视图深度聚类、半监督深度聚类、多视图深度聚类和迁移学习深度聚类四类。如图1所示。
图1:本次调查的目录树。
1 单视图深度聚类
对于传统的聚类任务,通常假设数据具有相同的形式和结构,这被称为单视点数据或单模态数据。通过深度神经网络(DNNs)提取这些数据的表示形式是深度聚类的一个重要特征。然而,更值得注意的是不同的应用深度学习技术,它们与DNNs的结构高度相关。为了比较具体的DNNs的技术路线,根据特征提取器的训练方式,我们将单视图深度聚类算法分为五类:基于深度自编码器(DAE)的深度聚类,基于深度神经网络(DNN)的深度聚类、基于变分自编码器(VAE)的深度聚类、基于生成对抗网络(GAN)的深度聚类和基于图神经网络(GNN)的深度聚类。这些方法的区别主要在于损失分量,其中损失项的定义见表1,并解释如下:
• DAE-based /GNN-based : L = Lrec + Lc,
• DNN-based : L = Lext + Lc,
• VAE-based : L = LELBO + Lc,
• GAN-based : L = Lgan + Lc。
在本文中,面向聚类的损失Lc表示聚类目标的损失。基于DAE/基于GNN的方法使用自动编码器/图自动编码器作为特征提取器,因此损失函数总是由一个重构损失Lrec和另一个面向聚类的损失Lc组成。相比之下,基于DNN的方法使用额外的任务或其他策略来优化特征提取器。基于VAE的方法优化了证据损失的下限LELBO。基于GAN的方法是基于生成式的对抗性损失Lgan。基于这五个维度,现有的单视图深度聚类方法总结见表2和表3。
表2:基于DAE和DNN的深度聚类方法总结。
表3:基于VAE、GAN-和基于GNN的单视图深度聚类方法的总结。
1.1 基于深度自编码器(DAE)的深度聚类
DAE 是一种无监督学习技术,旨在通过最小化网络的重构损失来学习低维嵌入特征空间。在基于 DAE 的深度聚类方法中,有两种主要方法来获取标签:将数据嵌入到低维特征中,然后使用传统聚类方法(如 k-means 算法)对嵌入特征进行聚类,或者联合优化特征提取器和聚类结果。定义为:
其中,φe(.)和φr(.)分别表示自动编码器的编码器网络和解码器网络。利用该编码器作为特征提取器,提出了各种聚类目标函数。我们将这些基于深度自编码器的聚类方法总结为基于DAE的深度聚类。
1.2 基于深度神经网络(DNN)的深度聚类
与基于自编码器(DAE)的聚类方法不同,基于DNN的聚类方法需要设计额外的任务来训练特征提取器。我们从“聚类导向的损失函数”和“特点”两个方面总结了基于DNN的聚类方法,其中“聚类导向的损失函数”显示是否有损失函数明确缩小内部簇距离或扩大簇间距离。基于DNN的聚类方法可以使用全连接网络来提取一维数据特征,也可以使用卷积神经网络来提取图像特征。在计算机视觉领域,有一类基于 DNN 的聚类方法专注于图像聚类,这些方法通常使用卷积神经网络来进行图像特征学习和语义聚类。图2显示了基于卷积神经网络的深度无监督学习的框架。
图2展示了基于DNN的学习框架(单视图聚类)。X是用于聚类的数据,f是用于X的特征提取器。第I部分描述了监督学习的框架。Y表示真实标签,S表示预测结果。通过Y和S,我们可以计算分类损失以进行反向传播。第II部分是具有额外任务的方法的框架。这些额外任务用于训练良好嵌入Z的网络。第III部分描述了需要微调聚类分配的方法的过程。S表示预测结果,R是S的调整。
1.3 基于变分自编码器(VAE)的深度聚类
基于变分自编码器(VAE)的深度聚类方法的目标是解决关于证据下界(ELBO)的优化问题,可以自动学习数据的特征表示和聚类,同时可以处理高维数据。其中 ELBO 是联合概率分布和近似概率分布之间的差异。p是联合概率分布,q的近似概率分布p(z|x),x是集群的输入数据和z潜在变量生成对应于x:
不同之处在于,不同的算法有不同的潜在变量生成模型或不同的正则化器。
优化后,
变分深度嵌入(VaDE)、高斯混合变分自动编码器(GMVAE)、潜在树变分自编码器(LTVAE)等备受关注的基于变分自编码器的深度聚类方法,使用不同的潜在变量的生成模型或不同的正则化器。
1.4 基于生成对抗网络(GAN)的深度聚类
基于生成对抗网络(GAN)的深度聚类方法的目标是学习数据的潜在分布,以便进行聚类,使用生成器和判别器两个网络进行训练,其中生成器用于生成假数据,判别器用于区分真实数据和假数据。
图3展示了基于生成对抗网络(GAN)的学习框架。φg是生成器,φd是判别器,εn和εc都是输入到生成器的变量,其中εn是噪声,εc是类别信息。X是用于聚类的数据,ˆX是“欺骗”判别器的假数据,函数f()作用于ˆX以生成εˆn和εˆc。
3种重要的基于生成对抗网络(GAN)的深度聚类方法:概率聚类算法是一种基于概率模型的聚类方法,可以通过最大化数据的似然函数来学习数据的潜在分布;CatGAN是一种改进的 GAN 模型,可以用于多类别分类任务和半监督学习任务;可解释的表示学习是一种基于信息理论的方法,可以学习数据的可解释特征表示。
基于生成对抗网络(GAN)的深度聚类方法可以自动学习数据的特征表示和聚类,同时可以处理高维数据和非线性数据。同时也存在一些挑战,例如训练不稳定、模式崩溃和模式坍塌等问题。因此,需要进一步研究和改进,以提高其性能和稳定性。
1.5 基于图神经网络(GNN)的深度聚类
基于图神经网络(GNN)的深度聚类方法是一种可以处理任意图结构数据的神经网络,可以应用于多种实际应用场景,如社交网络、蛋白质结构和交通网络等。
GNN的经典迭代计算方法:
即使用Banach的不动点定理来计算状态,其中F是全局转移函数,H是状态的固定点,H = F(H, X)。该迭代计算方法可以处理任意图结构数据,并且可以通过反向传播算法进行训练。在GNN的训练过程中,许多方法都试图将注意和门控机制引入到图结构中。其中包括图卷积网络(GCN)等,如图4。这些方法可以进一步提高GNN的性能和稳定性。
图4展示了图自编码器在聚类中的数据流框架。GCN(N, M)是一个图自编码器,GCN()用于表示图卷积神经网络,图自编码器由两层图卷积神经网络组成。节点属性N和图结构M都被用作编码器的输入。Z是节点嵌入向量的矩阵。α是一个激活函数,Mf是图邻接矩阵M的预测值。
GNN在半监督聚类、多视图聚类和迁移学习等方面的应用。半监督聚类是一种利用标记和未标记数据进行聚类的方法,可以通过GNN来学习数据的潜在表示和聚类。多视图聚类是一种利用多个视图数据进行聚类的方法,可以通过GNN来融合多个视图数据并进行聚类。迁移学习是一种利用已有知识来解决新问题的方法,可以通过GNN来学习跨领域的表示和聚类。
2 半监督深度聚类
半监督深度聚类是一种深度聚类方法,它结合了有监督和无监督学习的优点,可以利用少量标记数据和大量未标记数据进行聚类。该方法主要分为两个阶段:特征提取和降维,以及聚类。在特征提取和降维阶段,使用自编码器或生成对抗网络等无监督学习方法对数据进行特征提取和降维。在聚类阶段,使用传统聚类算法如K-means等对特征进行聚类。在这个过程中,少量标记数据可以用于指导聚类过程,提高聚类的准确性。半监督深度聚类方法在图像分类、文本聚类、图像聚类等领域都有广泛的应用。
半监督深度聚类方法还没有得到很好的探索。表4介绍总结了几个代表性的研究工作,这些工作使用不同的方法将关系约束和神经网络相结合,以获得更好的聚类性能。
表4:半监督的深度聚类方法。
3 多视图深度聚类
多视图深度聚类是一种利用多视角数据进行深度聚类的方法。在现实世界中,数据通常来自不同的特征收集器或具有不同的结构,这些数据被称为“多视图数据”或“多模态数据”,每个样本具有多个表示。多视图深度聚类的目的是利用多视图数据中包含的一致和互补信息来提高聚类性能。我们将多视图深度聚类总结为三类:基于深度嵌入聚类(DEC)、基于子空间聚类和基于图神经网络聚类。这些方法在表5中进行了总结。
表5:多视图深度聚类方法的总结
3.1 基于深度嵌入的聚类
基于深度嵌入聚类使用自编码器学习低维嵌入特征表示,并最小化学生t分布和特征表示的辅助目标分布之间的KL散度来实现聚类。改进的DEC(IDEC)强调数据结构保持,并在进行微调任务时添加了低维特征表示的重构损失项。一些深度多视角聚类方法也采用了这种深度学习流程。
3.2 基于子空间聚类的方法
基于子空间聚类的方法旨在处理高维数据,其中数据点可以被表示为低维子空间中的线性组合。这些方法通常使用低秩矩阵分解或稀疏编码来学习子空间表示,并使用谱聚类或k-means等传统聚类算法来实现聚类。DSC-Net、DESC等方法使用自编码器来学习低维嵌入特征表示,并使用谱聚类或k-means等传统聚类算法来实现聚类。但是它们的性能高度依赖于子空间的质量和数量。
3.3 基于图神经网络(GNN)的聚类方法
基于图神经网络(GNN)的聚类方法。GNN允许对具有任意图结构的数据进行端到端的可微损失计算,并已被应用于广泛的应用领域,如社交网络、蛋白质结构和交通网络等。DeepCluster、Graclus和DiffPool等方法使用GNN来学习数据的低维嵌入表示,并使用谱聚类或k-means等传统聚类算法来实现聚类。基于GNN的聚类方法是处理图结构数据的有效工具,但是它们的性能高度依赖于图结构的质量和数量。
4 迁移学习深度聚类
迁移学习是一种新的学习框架,用于解决训练和测试数据来自不同特征空间或分布的问题。对于复杂数据,如高分辨率的真实图像和嘈杂视频,传统聚类方法甚至深度聚类方法也无法很好地工作,因为特征空间的高维度和没有统一的标准来保证聚类过程。迁移学习通过将来自具有附加信息的源域的信息转移来指导目标域的聚类过程,提供了解决这些问题的新解决方案。
基于DNN和GAN的迁移学习深度聚类方法的总结如图6。DNN侧重于两个域的测量策略,是处理源域和目标域之间相似性较高的数据的有效工具;而GAN使用判别器来拟合测量策略,是处理源域和目标域之间相似性较低的数据的有效工具。但是它们的性能高度依赖于源域和目标域之间的相似性。
表6:基于DNN和GAN的迁移学习深度聚类方法的总结
4.1 基于深度神经网络(DNN)的迁移学习聚类方法
基于深度神经网络(DNN)的迁移学习聚类方法旨在将源域和目标域投影到相同的特征空间中,其中使用源嵌入和标签训练的分类器可以应用于目标域。深度适应网络(DAN)使用MMD(MK-MMD)的多个内核变体作为其域适应函数,数据流框架如图5。
图5展示了深度适应网络(DAN)的数据流框架。Ds是源域,Dt是目标域。f是两个域的共享编码器,可以使用现有网络进行初始化。f的前几层被冻结,f的最后几层可以在训练过程中进行微调。fs是Ds的编码器,ft是Dt的编码器。Ss是Ds的预测标签向量,Y是Ds的真实标签。St是Dt的预测结果。
4.2 基于生成对抗网络(GAN)的迁移学习聚类方法
基于生成对抗网络(GAN)的迁移学习聚类方法使用判别器来拟合测量策略,以指导目标域的聚类过程。Co-GAN在UDA中的数据流框架如图6。
图6:Co-GAN在UDA中的数据流框架。它由一对GAN组成:GAN1和GAN2。GAN1和GAN2在φg的第一层和φd的最后一层共享权重。Ds是源域,Dt是目标域。φd. Dcs和φd. Dct是通过噪声生成的。φg的第一层负责解码高级语义,φd的最后一层负责编码高级语义。在这些层中添加权重共享约束可以保证两个域具有相似的高级语义表示,但具有不同的低级特征表示。
往期精彩回顾
适合初学者入门人工智能的路线及资料下载(图文+视频)机器学习入门系列下载机器学习及深度学习笔记等资料打印《统计学习方法》的代码复现专辑机器学习交流qq群772479961,加入微信群请扫码