论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

论文标题

DeepDPM: Deep Clustering With an Unknown Number of Clusters

论文作者、链接

作者:Ronen M, Finder S E, Freifeld O.

链接:https://arxiv.org/abs/2203.14309

代码: https://github.com/BGU-CS-VIL/DeepDPM.

摘要翻译

深度学习在无监督任务的聚类中显示出很大的潜力。这意味着,虽然传统的(非深度)的聚类方法的无参数的好处是总所周知的,但是深度聚类方法往往是有参数的:也就是说,这些方法需要一个预定义的并且固定的簇中心个数,记为K。但是在K值并不清楚的时候,依靠模型的标准选择一个合适的K值往往会导致需要大量的计算。这种情况在深度学习中尤为严重,因为往往需要经过无数次训练过程。本文工作中,作者提出了一种有效的深度聚类方法,这种方法不需要预先知道K值,因为会在训练过程中推断K值。使用一个分裂/融合网络,以一种动态结构来适应K值的变化,提出了一个新颖的loss计算函数。本文方法比现有的无参数方法表现更好(在深度和传统两方面皆是如此)。与此同时,现有的深度无参数方法往往不会缺少可扩展性,作者也将成为第一个在ImageNet上介绍它们的性能的人(这句话我怎么看不懂啊?)。作者也证明了推断K值而不是取一个固定值的重要性,在不平衡数据集上,当假设的K值距离真实值更远时会导致模型效果的退化。

相关工作

含参数的深度聚类方法:主要分成两种类型,两阶段的方法和端到端的方法。前者是在完成代理任务(pretext task)的过程中学习到特征提取。强调了SCAN在参数并非最优的时候会导致性能恶化。后者是交替进行特征学习和簇分配的。本文着重于聚类部分而不是特征学习,并且将展示如何将两种方法结合起来。本文指出,其他方法都是用一个预定义的、固定的K值,有效的K值需要大量的时间去训练才能获得(所以使用模型选择来寻找正确的K值是消耗巨大且不实用的)

无参数的传统聚类方法:贝叶斯无参数(BNP)混合模型,也称为DPM。大量计算机视觉的聚类方法依赖于贝叶斯无参聚类,部分原因是缺少针对大规模数据集的有效推理方法。有研究员针对这个提出了更高效的DPM采样器。值得注意的是,采样的一个重要替代方法是变分DPM推理。一种不基于贝叶斯的无参方法DBSCAN,该方法以密度为基础,将密集的点聚集到一起。虽然DBSCAN非常高效,但是它对参数非常敏感并且难以精调。

无参数的深度聚类方法:很少有方法会去寻找K值。有些方法使用离线的DPM推理来计算伪标签。有些依赖于缓慢DPM采样器的方法无法应用于大规模数据集。总得来说就是别人的方法要么不够高效要么不能应用于大规模数据集,要么就是利用有监督的方法。

预备知识:

高斯混合模型Gaussian Mixture Model(GMM):高斯混合模型就是用高斯概率密度函数正态分布曲线)精确地量化事物,它是一个将事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。(取自:高斯混合模型_百度百科

折棍子模型Stick Breaking:参考这篇文章从折棍子(Stick Breaking)模型到狄利克雷过程(DP)_sysuhu的博客-CSDN博客

逆威沙特分布I nverse Wishart (IW): 逆威沙特分布,也叫 反威沙特分布,统计学中出现的一类概率分布函数,定义在实值正定矩阵上。(取自:逆威沙特分布_百度百科

狄利克雷过程高斯混合模型Dirichlet Process GMM(DPGMM): 是DPM的一种具体情况,包含有无限多高斯函数的混合概念:

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)表示高斯k的参数,这里是k不是聚类的簇个数,表示的是第k个高斯函数

(下来的太难了我开始说胡话了)

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)假设是(独立地)从它们自己的先验分布中得出的:π是在浓度参数α>0的情况下从Griffiths-Engen-McCloskey stick-breaking process (GEM)获得的;论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)是独立的统一分布(先验知识),从先验分布论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)中提取出,是典型的正态-逆威沙特分布。虽然存在无限多的分量,但簇的数量仍然是有限的,因为潜在随机变量K的上界是N。通过可能的重命名聚类索引,我们可以假定,不失一般性,有论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

DPGMM算法往往用在K值不确定的情况下,往往会寻找

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)以及论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),找到了z其实就是找到了K。K值受论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)以及正态-逆威沙特分布的超参数影响。本文在DPM sampler的基础上,选择了其分裂/融合网络的网络架构,增加了潜变量论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)。对于每一个论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),都添加了一个子簇标签论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)。对于每一个论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),都添加了两个子变量论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),以及非负数权值论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)。然后,分裂/融合操作允许改变K值,通过Metropolis-Hastings模型(译者:作者有给该论文链接,感兴趣的可以自己看一下)。在推理过程中,每经过一定次数的迭代,就会将簇k分割成它的子簇。这种分割被接受的概率为min(1, Hs)

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

在分裂被接受后,每个新生成的簇群都用两个子簇群进行扩充。Hs可以解释为,将 _两个子簇下的数据的边际似然性_与其在该簇下的边际似然性进行比较的结果。

论文方法:

DeepDPM模型

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

DeepDPM可以被看作是一种DPM推理算法,通过分裂/融合操作来改变K值,并对每一个簇维护一个子簇对。使用一个由一个新颖的分期(amortized:adj. 分期偿还;已摊销的;已分期偿还的
n. 摊销额 vt. 摊销(amortize的过去分词);分期偿还;把…转让)推理训练的深度网络。DeepDPM主要由两部分构成。

第一部分是一个聚类网络clustering net

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

其中,

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),是样本点对簇k的软分布(也称为簇k对样本点x的责任值,样本点x分配到簇k的概率)

并且

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

然后计算出硬分布值

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)通过论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

第二部分是K个子聚类网络 _K_subclustering nets

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

对于每一个子聚类网络

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),输入的是每个子簇的硬分布值,输出的是每个子簇的软分布值,公式如下:

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

其中,

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),是样本点x对子簇论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)的软分布,并且有论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)。学习到的子簇分布将用来进行分裂操作。

对于这1+K个网络(1个聚类网络,K个子聚类网络),都是一个MLP加单层隐藏层。聚类网络的最后一层有K个神经元,子聚类网络的最后一层有2个神经元。

损失函数

在贝叶斯GMM中引入一种新的由最大期望EM引起的损失。在每一轮的训练中,聚类网络都被优化,并生成更好的软分布。每经过E个step的训练,就会在贝叶斯GMM中进行一个标准的M step,其中最大后验估计Maximum-a-Posterior(MAP)中使用的软赋值是由聚类网络产生的。

对于每一个样本点

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)已经每一个论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),都计算标准的E-step概率论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),其中,论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)是根据前一个epoch中的论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)计算得来。请注意论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

为了鼓励聚类网络生成相似的软分布,使用一个KL散度计算损失:

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

其他研究员使用了加权版本的MAP估计计算

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022),其中的参数为论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)的值。本文中使用相同的损失函数但是由不同的参数构成,将论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)替换成论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)(也就是聚类网络的输出)。与那些强制/假设权重是均匀的方法(例如K-means或SCAN)不同,本文通过计算推断的聚类权重论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)是被允许偏离一致性的(大概意思应该是K值是动态变化的吧)

对于子簇网络的loss函数为:

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

其中,

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)是簇k的子簇 j 的均值。在每一个epoch的结尾计算子簇的损失,以及子簇的权重和协方差,使用加权MAP估计,与簇网络的的情况相似。这个loss函数,在子簇的计算时,比KL散度的效果更好。上述的迭代过程需要一个初始化,本文使用K-means进行初始化(对于聚类网络,使用K的某个初始值,对于子聚类网络使用K=2)。DeepDPM对初始K具有相当强的鲁棒性,因此可以任意选择初始K。

通过分裂\融合操作改变K值

每经过几个epoch就会进行分裂\融合操作。因为K值在不断变化,所以聚类网络和子聚类网络的最后一层的输出神经元数目也是不断变化的。并且,分裂\融合操作有助于避免局部最优解。

分裂

分裂操作中,将一个簇分成两个簇。分裂操作的使用是随机被接受的,概率为

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)。为了适应K值的变化,如果对簇k使用了分裂操作,复制聚类网络最后一层的第k个单元,以及连接到前一隐藏层的权值,然后利用子聚类网络学习到的参数初始化两个新聚类的参数(相当于把聚类网络的输出部分复制一份)

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

其中,

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)代表两个新簇。并且对每一个新簇分配一个子簇网络。

融合

执行融合操作的时候必须保证不会同时执行多个融合操作,比如:在簇

论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)进行融合的时候,进行论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)的融合,会错误的融合出三个簇(论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022) , 论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022) , 论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022))。因此,分裂操作可以同时操作,而融合操作不能同时操作。为避免顺序地考虑所有可能的合并,本文将只按顺序融合相邻的三个邻居。融合操作的进行\阻止将以通过Hastings ratio决定,其中论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)。如果执行融合操作,两个簇将被融合,并且初始化一个新的子簇。在技术实现上,将合并后的簇的最后一层单元和连接到前一层的网络权值,并从簇网络中移除,并使用加权MAP估计初始化新簇的参数和权值。

分期最大期望推理

假设关闭分裂\融合操作并使用真实的K值。看起来,每个epoch将变成简单的单个最大期望迭代。即使这样,本文方法仍然可以得到比标准EM更好的结果。作者假设出现这样结果的原因是使用了分期最大期望推理。利用网络学习到的函数的平滑性,改进了对当前epoch和其他epoch的预测。平滑度也作为一种归纳偏差,使得观察空间中接近的点应该有相似的标签。

不用本文的loss也可以使用GMM的负对数似然,但是这会带来不稳定的优化\更差的结果。不仅如此,本文的损失基于匹配软标签,而不是似然函数/后验知识,这使得本文方法更加通用:聚类网络和聚类损失可以用于任何成分类型,而不仅仅是符合高斯分布的数据。

消融实验

探究了模型在平衡\不平衡数据集的表现

探究了初始K值对模型效果影响

Original: https://blog.csdn.net/qq_43497436/article/details/124132318
Author: 不吃香菜的zbw
Title: 论文阅读“DeepDPM: Deep Clustering With an Unknown Number of Clusters” (CVPR 2022)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/549766/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球