美文网首页
论文阅读"DeepDPM: Deep Clustering Wi

论文阅读"DeepDPM: Deep Clustering Wi

作者: 掉了西红柿皮_Kee | 来源:发表于2022-04-05 11:19 被阅读0次

    Ronen M, Finder S E, Freifeld O. DeepDPM: Deep Clustering With an Unknown Number of Clusters[J]. (CVPR 2022).

    摘要翻译

    深度学习(DL)在无监督的聚类任务中显示出了巨大的前景。但大多数深度聚类方法都是参数化的:也就是说,这种方法需要一个预定义的给定类簇数量K。然而,当K未知时,使用模型选择标准来选择其最优值可能会变得计算昂贵,特别是在DL中,因为训练过程必须重复很多次。在这项工作中,作者通过引入一种有效的深度聚类方法来弥补这一差距,该方法不需要提前给定K,并在学习过程中推断出它的值。使用 split/merge框架,一个能够适应K不断变化的动态架构和新的损失,实验结果显示提出的方法优于现有的非参数方法(经典和深度方法)。

    方法浅析
    DeepDPM使用聚类的split/merge来更改K,并设计了动态架构来适应这些更改。作者指出DeepDPM可以合并到依赖于聚类的深度学习pipelines中(例如,用于特性学习)。与离线聚类步骤(例如,K-means)不同,DeepDPM在大多数训练中是可微的(例外是在离散分裂/合并期间),因此可以用于梯度更新。 pipeline

    DeepDPM主要包含两个部分。首先是一个聚类网络,第二部分则是由K个子网络组成,分别对应每个类簇。

    • 给定K值后的DeepDPM
      首先使用聚类网络f_{cl}学习数据x_i的聚类软分配r_i z_i=argmax_k(r_{i,k})。然后,每个类簇对应的子网络f^k_{sub}使用该类簇对应的数据X_k产生对应的子类簇分配: 子网络的聚类分配会在split部分使用。
      关于f_{cl}的优化主要通过类似于EM-GMM步骤,其中E步骤会为每个样本x_i以及其可能类簇k计算可能性: 很直观的,关于k个类簇的概率求和为1.f_{cl}对应的损失为GMM和特征学习之间的KL散度: 在每个epoch之后,根据E步骤,作者则使用了一个标准的Bayesian M step。
      在后续的子聚类网络中,作者则使用了各项同性损失
    • 通过split/merge改变K
      由于K在改变,聚类网络f_{cl}的最后一层和子聚类网络的数量也必须改变。作者指出,split/merge不仅有助于改变K的值,而且可以进行大的移动,避免许多糟糕的局部最优。
      (1)splits
      作者将f_{cl}得到的每个类簇,又通过自网络分为两个簇。为了适应K的增加,如果集群k接受了一个分割方案,那么f_{cl}最后一层的第K个单元,以及连接到前一隐藏层的权重是重复的。作者使用通过子聚类网络学习到的参数来初始化两个新类簇的参数:
      (2)merges
      在合并中,作者仅考虑了每个类簇的3个近邻。从实现上来说,合并集群的最后一层单元,连同连接到前一个隐藏层的网络权重,是将其直接从从$f_{cl}中删除,使用加权MAP估计值初始化新生簇的参数和权重。

    模型的设计的思想很有意思,引入了再分割和合并的思想自适应学习K。我还是只能看懂给定K的模型流程。

    相关文章

      网友评论

          本文标题:论文阅读"DeepDPM: Deep Clustering Wi

          本文链接:https://www.haomeiwen.com/subject/idqksrtx.html