Yunfan-Li / Contrastive-Clustering

Code for the paper "Contrastive Clustering" (AAAI 2021)
MIT License
289 stars 92 forks source link

Cluster-level和instance-level #24

Open myt517 opened 2 years ago

myt517 commented 2 years ago

您好,paper原文中提到将表征解耦成instance-level和cluster-level,可以取得更好的效果。请问如何理解instance-level和cluster-level之间的关系呢,这两者是independent的吗?

745cc93fdff886e000bc1d5fe5fddb5

Yunfan-Li commented 2 years ago

您好,instance-level和clustering-level分别对应的是特征矩阵行和列空间的对比学习,作用于同一个特征矩阵。类似于标准的对比学习,在计算对比损失时通常会通过几层全连接将特征投影至一个子空间,此处指的是将行空间和列空间分别投影至两个子空间能够提升效果。因此从结构上来说两个投影头之间彼此independent,但是instance-level和clustering-level的对比学习是dependent的,作用于同一个特征矩阵。效果更好的现象一定程度上是因为CCH的维度限制在的类别个数,而更高维度的ICH空间可以更好的提取instance的特征。

haoweiclouds1 commented 2 years ago

云帆,您好!多次拜读了您的论文,产生了一下的几个疑问: 1.论文提到列级的MLP输出是softmax(其最佳状态是one_hot label) ,这不是instance 级所需要的吗,为什么在列级干这件事? 2.您认为列级做contrastive learning效果好本质的原因是 CCH的维度限制在和类别个数相同吗?

望得到您的解答,指点 ,非常感谢!

Yunfan-Li commented 2 years ago

您好,针对您的两个问题:1.列级进行softmax是因为我们把所有样本属于某个类别的概率分布视作一种特殊的类别表示,我们的instance级与SimCLR一致,没有尝试在instance级进行softmax,因为特征矩阵的行即便没有经过softmax也能看做instance本身的特征。2.列级的维度之所以设置为类别个数是因为我们需要通过CCH直接输出聚类结果,对于表示学习来说,一个维度更高的CCH可能会有更好的效果。希望能解答您的问题。

haoweiclouds1 commented 2 years ago

明白了您所说的了 感谢!