美文网首页
论文粗读“Clustering by Maximizing Mu

论文粗读“Clustering by Maximizing Mu

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

Do K, Tran T, Venkatesh S. Clustering by maximizing mutual information across views[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2021: 9928-9938.

摘要导读

本文提出了一个新的图像聚类框架用于联合优化表示学习和聚类。该框架由两个共享的主干网络头组成,分别为“表示学习”和“聚类”。“表示学习”头在样本级别捕获对象的细粒度模式,作为“聚类”头的线索,提取粗粒度信息,将对象划分到对应的类簇中。整个模型以端到端的方式进行训练,通过最小化两个头部输出的两个对比损失的加权和。为了保证“聚类”头对应的对比损失是最优的,作者引入了一个新的评价函数,称为“点积对数(log-of-dot-product)”。

知识准备
  • 通过最大化不同视图之间的互信息进行表示学习
    由于难以直接计算互信息,通常使用最大化互信息的变分下界,本文采用了常用的下界InfoNCE:

    其中X\tilde{X}表示来自不同视图的随机变量。x_{1:M}是来自分布p_XM个样本,\tilde{x}是来自分布p_{\tilde{X}}x_1关联的样本。(\tilde{x}, x_1)为正例样本对,(\tilde{x}, x_i), (i=2,\cdots, M)为负例样本对。f(x, y)为实值函数用来评判xy之间的相似性。\mathcal{L}_{constrast}成为对比损失。
    由于 小于等于0,因此I_{InfoNCE}(X, \tilde{X})以logM为上界。
  • 在实现中,f(\tilde{x},x_i)由缩放余弦相似度来计算:

    \tilde{z}z_i分别是\tilde{x}x_i的单位规范表示向量;即 由此,(3)式中的对比损失可以被重写为 FC表示“feature contrastive”。
聚类模块的对比损失
  • 通过最大化不同视图之间的互信息进行聚类
    使用聚类模块可以得到关于类簇的软分配表示q_i=(q_{i,1},\cdots,q_{i,C})C是类簇的个数。用于聚类的损失可表示为: \tilde{q}q_i分别是与\tilde{x}x_i相对应的概率向量。H是边际簇分配概率的熵,\tilde{q}_{avg}= 这里最大化H(\tilde{Q}_{avg})是为了避免类簇分配的平凡解,即避免所有的样本都分配到同一个group中。
  • 关于相似性评判的函数选择
    本文指出,因为\mathcal{L}_{PC}应用于类别概率向量而不是连续的特征向量。因此,这里选用内积可能会造成次优解。理论上来说,最优的评判函数应该与logp(\tilde{x},x_i)成比例: \tilde{y}y_i\tilde{x}x_i对应的类簇标签。作者认为最适合的评价函数是 即为摘要中提到的“点积对数”。当\tilde{q}q_i是同一one-hot向量时,该评价值达到最大值,当\tilde{q}q_i是不同的单热向量时,该值达到最小值。

除此之外,为了避免在最小化\mathcal{L}_{PC}过程中由于类簇分配概率接近于one-hot而导致的梯度饱和现象,我们将概率向量进行了如下的平滑:

其中r=(\frac{1}{C},\cdots,\frac{1}{C})是一个C维均匀分布向量,0 \leq \gamma \leq 1是给定的平滑系数,在实验中作者将其设置为0.01。
  • 对比概率损失的实现
    在实现中作者也是采用了两种不用的方式(SimCLR Framework and MemoryBank Framework)对\mathcal{L}_{PC}进行了实现。
    对于SimCLR Framework,\tilde{q}q_i(i \in \{1, \cdots, M\})由带参分类器s_\theta直接计算。、对于MemoryBank framework,则需要保持一个无参数的memory bank \mathcal{M},该矩阵是一个包含所有样本的类簇分配概率N \times C,其中的每一行的更新由如下方式计算: \alpha是一个动量系数,这里设置为0.5。q_{n,t}是训练样本x_nt时刻对应的概率向量,对应于\mathcal{M}矩阵中的第n行。\hat{q}_n=s_\theta(x_n)是当前新的概率向量。\mathcal{M}初始化为相同的概率(\frac{1}{C},\cdots,\frac{1}{C})
聚类模块和表示学习模块的结合(CRLC)

为了避免特征的表示学习模块导致的次优解。本文提出将对比聚类和表示学习统一到一个框架中称为CRLC。

如上图所示,C-head和RL-head共享相同的backbone网络框架。该框架通常采用卷积神经网络将输入图片x映射到隐含向量hh被喂入C-head和RL-head产生聚类分配向量q和连续的特征向量z。整个网络采用聚类损失和特征对比损失同时优化的方式进行训练:
semi-CLRC(variant of CRLC)
前面给出的模型CLRC是用于无监督聚类的,可以简单的将其拓展到半监督学习中。有标签数据可以有很多种方式应用在模型学习的过程中。这里,作者采用可最简单的方式进行拓展,即将有标签数据的交叉熵损失添加到原始的对比学习框架中。整体损失可以进行如下的表示:

作者通过实验说明了当只有少数标记样本可用时,CRLC-semi优于许多最先进的SSL方法。反正就是很优秀了。


实质上来讲,C-head和RL-head的区别在于一个将中间表示h映射为类簇的概率分配q,而另一个则是所谓的连续特征表示z。从构造上来讲,只是输出层的维数不一样,以及是否需要使用softmax进行激活(貌似稍微有点类似???但毕竟学习的参数不一样)。比起doubleClustering而言,相似性的评价函数在C-head中进行了改进,设置没有考虑纵向类簇在所有数据上的分布情况的对比,可能在实验中各有千秋吧。

相关文章

网友评论

      本文标题:论文粗读“Clustering by Maximizing Mu

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