三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

simGCD - Parametric Classification for Generalized Category Discovery: A Baseline Study

simGCD - Parametric Classification for Generalized Category Discovery: A Baseline Study

摘要

GCD那篇论文里认为参数化的分类器会在旧类上过拟合,所以用非参数化的半监督k-means来替代,本文从这里提出挑战,认为并不是过拟合导致效果差,而是不可靠的伪标签导致的问题,并且发现了两种偏置,一个是分类器会更偏向已知类别,另一个是模型对新类和旧类的预测分布不均衡。

因此提出基于熵正则化的参数化分类器方法,取得了比较好的结果。希望成为一个强有力的基线。

——简而言之就是对开山之作回避的方式提出挑战并给出解决方案,走另一条路线取损失函数。

1、引言

之前的模型都是在大量有标注数据下训练的,但是很多任务并不能有充分的标注数据,所以开始聚焦在无标签数据上,半监督是一种,近年来的GCD又进一步拓宽了边界。

一般来说有两种技术路线:1、生成通用的强有力特征来促进新类的发现(表示学习、自监督方式) 2、生成伪标签来引导参数化分类器(标签和伪标签数据联合优化框架和分类器)

前任工作用kmeans代替参数化分类器,会增大计算复杂度,并且kmeans不能反向传播梯度,所以不能联合优化分类边界。

这启发了作者探究的动机,导致参数化分类器方法失效的原因到底是什么,在有监督的条件下,验证了以前的范式,得出的结论是不可靠的伪标签,以及两个偏差才是根因。(我觉得这些都是现象吧,算根因吗?

基于这些发现,提出一种简单的参数化分类器的方法。表示学习上参考GCD,分类器上,对于有标签数据采用交叉熵损失,无标签数据采用自蒸馏(同一张图像的一种增强视图产生伪标签,监督另一种增强视图)。还引入了一个熵正则项,通过促使模型在所有可能的类别上给出更加均匀的标签预测,来克服预测不均衡问题。

贡献:

  • 重新审视参数化分类器失败的原因,并给出三个关键因素,
  • 提出一个简单的可以联合优化的参数化分类器方法
  • 实验

2、相关工作

  • 半监督学习
  • 开放世界半监督
  • 广义类别发现
  • 深度聚类

3、探究参数化分类器失败的原因

从表示学习和新类上的伪标签质量两个组件探究

——一直觉得伪标签质量是一个现象而不是根因,就觉得伪标签质量很难可迁移

3.1 探索设置

表示学习用GCD一样的方法:有标签样本用有监督对比学习,所有样本都做自监督对比学习,真实的标签不会使用,只是用来学习有效的特征。

分类器:计算类别和特征的余弦相似度,为每一个类别学习一个类别中心,图像特征与哪个类别中心最相似,就更可能被预测为哪个类别。

训练设置:损失和表征学习解耦

这里是用来诊断分类器的有效性,都是用交叉熵损失来训练分类器,所以Oracle supervision其实是一种理想情况,如果我的标签质量够高,分类器效果会好吗?

3.2 用哪种表示来构建分类器?

以往的分类器用的是投影层的输出,GCD用的是主干网络的输出,在这两种表示上用四种不同的训练方式。

  • 对旧类而言,backbone 特征基本一直更适合分类;
  • 对新类而言,backbone 特征具有更高上限,但其优势依赖高质量伪标签。
3.3 表示学习应该解耦还是联合优化?

以往的参数化分类器方法中,通常会利用分类目标对网络进行联合微调,但是GCD用了kmeans后,聚类过程不会反向传播影响表示学习,完全解耦。

所以作者想探讨,联合训练是否导致了以往参数化分类器识别新类别性能下降(究竟是改善表示还是会导致学习到的表示被错误的伪标签带偏)。
——不知道怎么形容,肯定会被带偏啊

  • 联合训练本身不是好或坏,它的效果取决于分类监督是否可靠
3.4 问题在于有偏差的预测结果

表示学习和联合训练的研究说明这两个设计本身没问题,只是可靠的伪标签是很重要的,不可靠的伪标签会带来什么结果呢?

真实新类样本→被预测为旧类

随着训练进行,旧类原型通常会学得更稳定,分类器更容易把不确定的无标签样本分配给旧类。错误的新类伪标签又会进一步强化旧类原型,于是形成循环:

新类样本被预测为旧类→旧类获得更多伪标签→旧类原型更强→更多新类样本被预测为旧类.

  • 有效证明了参数化分类器并非不能用于 GCD;
  • 构造了一个很强、很简洁的 baseline;
  • 通过自蒸馏和熵正则化改善了伪标签训练;
  • 但没有从根本上解决“如何获得可信的新类监督”;
  • 仍依赖预训练特征中已经存在较好的新类结构。

4、本文方法

在GCD的框架之上,联合训练一个带有自蒸馏和熵正则化的参数化分类器

对比表示学习+原型分类器学习

对比表示学习就是有标签的用有监督对比学习,并且所有样本加上自监督对比学习

4.2 参数化分类器

先初始化一组原型C,特征和原型计算余弦相似度,经过softmax之后得到软标签,而增强视图经过sharp之后得到软伪标签。

对于有标签数据,直接用真实标签和软标签计算交叉熵,对于无标签数据,用伪标签计算交叉熵进行引导,并且对于无标签样本加一个簇的平均正则项。

(第一项是交叉熵,第二项是簇平均正则项)

5、实验

这部分懒得看了

6、总结

选择了GCD放弃的道路方向,不用聚类做,而是继续用分类器。

通过实验,展示了高质量的伪标签是重要的,但是解决方法里没有从这里突破。

下一步可以探讨的是,怎么构造一个可靠的伪标签,怎么确定一个伪标签的质量是可靠的。

旧类偏置问题修正方向:

  • 旧类和候选新类原型是否应使用不同的更新强度;
  • 是否根据旧类相似度判断样本的新颖性;
  • 是否需要对旧类和新类进行分组归一化;
← 返回列表