一、简介
题目: AutoNovel: Automatically Discovering and Learning Novel Visual Categories
期刊: TPAMI 2021
任务: 给定一个数据集,其中部分样本有标签(可认为它们属于已知类),其余样本无标签(可认为它们属于新类/未知类),要求模型保留对已知类的分类能力同时对无标签样本进行聚类,或称新类发现(Novel Category Discovery)。
Note: Open World Semi-Supervised Learning与Generalized Category Discovery对Novel Category Discovery进行了扩展,他们允许无标签样本中包含已知类数据。
方法:
(1)获取良好的特征表达。在全数据(包括有标签和无标签的全部数据)上采用RotNet方法对backbone进行自监督的预训练以获得稳定的浅层表达,之后在backbone后增加一个分类头并在有标签数据上以交叉熵为损失进行网络最后几层的微调;
(2)使模型具有聚类能力。假设新类数量为k,增加第二个头,以二元交叉熵为损失联合交叉熵和一致性正则项进行协同训练(此处的二元交叉熵是基于样本相似性改进的仅作为无标签数据的损失,交叉熵仅作为有标签数据的损失,一致化正则项是指均方误差同时作为有标签和无标签数据的损失);
(3)确定新类数量k。将一部分已知类的有标签数据用于微调网络,将其余已知类样本分为两个部分,一部分作为有标签数据,另一部分假设为无标签数据,一起放入无标签数据中进行半监督的k-means聚类,根据假设为无标签的数据的性能表现和真实无标签的数据的性能表现综合确定最终的k值。
如上图所示,Novel Category Discovery的目标就是保留模型对已知类(Dog、Cat)的识别能力,同时聚类无标签数据(Monkey、Bird),并且有标签数据和无标签数据的类别不相交。
二、详情
1. 确定新类数量
原文中该部分内容在文章最后,但考虑到文章前面的内容都是在假设新类数量已知的情况下进行的,故将这部分内容放在最前面以方便理解。
如图所示,首先数据分为两部分,有标签数据(共 C l C^l Cl类)和无标签数据(类别数 C u C^u Cu待确定)。作者将一部分已知类的有标签数据用于微调backbone(对应蓝色部分,共 C l − C r l C^l-C^l_r Cl−Crl类),将另一部分已知类的有标签数据作为探测数据,并分为锚探测类集(是有标签的,对应绿色部分,共 C r a l C^l_{ra} Cral类)和验证探测类集(假设是无标签的,对应红色部分,共 C r v l C^l_{rv} Crvl类)。
作者将探测数据和无标签数据放到一起进行半监督的k-means聚类(聚类是针对通过蓝色部分样本微调后的网络提取出来的特征进行的)。文中没有给出半监督k-means聚类的详细描述,参考西瓜书第13.6节半监督聚类和Generalized Category Discovery后这里给出一个简单的方案:
首先,根据锚探测类集获取 C r a l C^l_{ra} Cral个初始类别中心,之后随机选取 C u + C r v l C^u+C^l_{rv} Cu+C

AutoNovel是一种方法,用于在保留对已知类别分类能力的同时,从无标签数据中发现和聚类新类别。它涉及预训练、微调和联合训练过程,以及使用改进的二元交叉熵和一致性正则化损失。新类别的数量通过半监督k-means聚类和性能指标确定。该方法还支持增量学习和无监督聚类任务。
最低0.47元/天 解锁文章
2063





