一、简介
题目: Generalized Category Discovery
会议: CVPR 2022
任务: 给定一个数据集,其中部分样本有标签(这里称其为已知类),其余样本无标签(可能属于已知类也可能属于未知类),要求将无标签样本中属于已知类的样本正确分类,对属于未知类的样本进行聚类。
方法:
(1)使用vision transformer(ViT)进行特征提取。自监督权重(self-supervised ImageNet weights)赋初值,之后结合有监督对比损失和无监督对比损失对权重进行微调;
(2)假设k已知,使用半监督k-means方法进行聚类。首先,由有标签样本确定已知类样本质心,再由k-means++方法确定未知类样本质心,之后通过k-means进行类别质心的更新迭代(k的个数取自作者定义的clustering accuracy的最高得分处所对应的值,由Brent’s algorithm寻找);
(3)获得聚类结果后,通过Hungarian algorithm将聚类结果中的已知类部分与真实标签匹配起来,实现对已知类的分类和未知类的聚类。

图中,绿框中的Elephant、Frog、Bird为带标签的已知类样本,带 ? 的红框为无标签的待标记的样本,其中有Elephant、Bird等已知类,也有Tiger、Cat等未知类。任务就是给红框中的样本打标签,已知的部分进行分类,未知的部分进行聚类。
二、详情
1. 特征提取
直接对图像数据进行分类或聚类效果必然不理想,需要先提取出空间性质较好的特征。作者表示ViT作为特征提取器或Backbone对近邻分类器十分友好,因此将其ViT选作特征提取器。从上图可以看出,与ResNet50(DINO)提取的特征相比,使用self-supervised ImageNet weights初始化的ViT(DINO)的类内距离更小、类间距离更大。
此外,为了增强ViT的表示学习(特征提取)能力,作者使用目标数据集中的数据对特征提取器进行了微调。主要采取的是对比学习的损失优化策略,将全部样本(包括有标签和无标签的全部数据)视为无标签样本使用如下无监督对比损失:
其中, z i \textbf{z}_i

该论文提出了一种在部分样本有标签的数据集上进行分类和未知类聚类的方法。通过使用预训练的ViT进行特征提取,并结合有监督和无监督对比损失进行微调。然后,利用半监督k-means确定已知和未知类别的质心。通过Brent’salgorithm找到最佳类别数k,并用Hungarianalgorithm匹配已知类的标签,完成分类和聚类任务。
最低0.47元/天 解锁文章
768





