FALCON:打破界限,粗粒度标签的无监督细粒度类别推断,已开源| ICML‘24

news2024/9/25 21:18:15

在许多实际应用中,相对于反映类别之间微妙差异的细粒度标签,我们更容易获取粗粒度标签。然而,现有方法无法利用粗标签以无监督的方式推断细粒度标签。为了填补这个空白,论文提出了FALCON,一种从粗粒度标记数据中无需细粒度级别的监督就能发现细粒度类别的方法。FALCON同时推断未知的细粒度类别和粗粒度类别之间的潜在关系。此外,FALCON是一种模块化方法,可以有效地从多个具有不同策略的数据集中学习。我们在八个图像分类任务和一个单细胞分类任务上评估了FALCONFALCONtieredImageNet数据集上超过最佳基线22%,实现了600多个细粒度类别。

来源:晓飞的算法工程笔记 公众号,转载请注明出处

论文: Fine-grained Classes and How to Find Them

  • 论文地址:https://arxiv.org/abs/2406.11070
  • 代码地址:https://github.com/mlbio-epfl/falcon

Introduction


  机器学习在具有大量精确标记数据的领域表现出色。虽然粗粒度标签通常是丰富且易于获得的,但由于类别之间微妙的差异和少量具有区分性的特征,精细标签的精确注释却具有挑战性。因此,在许多领域,获取这种精细标签需要领域专业知识和繁琐的人工努力。例如,B细胞和T细胞可以很容易区分,但区分CD4+T细胞和CD8+T细胞等非常细粒度的细胞亚型则需要识别极少量的特定标记。为了自动化获得精细标签的繁琐工作,需要能够区分细粒度标签中微妙差异的机器学习方法。

  先前的研究表明,粗粒度标签可用于更有效地学习细粒度类别。弱监督分类方法使用粗粒度标签作为一种弱监督形式,以提高细粒度分类性能。最近,出现了少样本学习方法。它们在一组粗粒度类别上进行训练,然后通过每个类别仅有的几个标记样本进行细粒度分类的适配。然而,所有这些方法都需要预设一组细粒度类别以及获取它们的一小部分样本。

  在这项工作中,论文提出了一种名为FALCONFine grAined Labels from COarse supervisioN)的方法,它可以在一个粗标记的数据集中发现细粒度类别,并且无需任何监督。FALCON的关键发现是,细粒度预测可以通过结合粗粒度和细粒度类别之间的关系来恢复粗粒度预测。基于这个发现,FALCON开发了一个专门的优化过程,交替进行推断粗粒度和细粒度类别之间的未知关系和训练细粒度分类器。粗粒度和细粒度类别之间的关系是通过解决一个离散优化问题来推断的,而细粒度分类器则使用粗粒度监督和细粒度的伪标签进行训练。此外,FALCON可以无缝地适应和利用具有多个数据集的不兼容粗粒度类别,并以相同的细粒度级别重新标记。

  将FALCON与其他备选基准方法在八个图像分类数据集以及生物领域的单细胞数据集上进行了比较。实验结果显示,FALCON在没有监督的情况下有效地发现了细粒度类别,并且在图像和单细胞数据上始终优于基线方法。例如,在包含608个细粒度类别的tieredImageNet数据集上,FALCON的性能比基准方法提高了22%。此外,当使用具有不同粗粒度类别的多个数据集进行训练时,FALCON能够有效地重用不同的注释策略来改进其性能。

Fine-grained Class Discovery


Problem setup

  设 X \mathcal{X} X 为样本空间, Y C \mathcal{Y}_C YC 为包含 K C K_C KC 个粗粒度类别的集合。假设给定了一个粗粒度标记的数据集 D = { ( x i , y c i ) } i = 1 N \mathcal{D}=\{(\mathbf{x}^i,y_c^i)\}_{i=1}^N D={(xi,yci)}i=1N ,其中 x i ∈ X \mathbf{x}^i\in\mathcal{X} xiX y c i ∈ Y C y_c^i\in\mathcal{Y}_C yciYC 。另外,每个样本 x ∈ D \mathbf{x}\in\mathcal{D} xD 都与一个细粒度类别 y f y_\text{f} yf 相关联,而这些细粒度类别来自于一个未知的细粒度类别集合 Y F \mathcal{Y}_F YF 。假设每个细粒度类别 y f ∈ Y F y_\text{f}\in\mathcal{Y}_F yfYF 都与单个粗粒度类别 y c ∈ Y C y_c\in\mathcal{Y}_C ycYC 相关联,即具有唯一的粗粒度父类。细粒度类别的数量 K F = ∣ Y F ∣ K_F = |\mathcal{Y}_F| KF=YF 大于 K C K_C KC ,并且这个值可以在先前得知或进行估计。给定一个粗粒度标记的数据集 D \mathcal{D} D ,目标是发现一组细粒度类别 Y F \mathcal{Y}_F YF 。因此,希望仅通过粗粒度标记数据集的监督来恢复细粒度标签 τ F : X → Y F \tau_F: \mathcal{X} \rightarrow \mathcal{Y}_F τF:XYF

Parameterizing the Fine-grained Class Discovery

  在FALCON中的一个关键发现是,对细粒度预测和类别关系的组合会产生粗粒度预测。因此,可以利用类别关系将细粒度预测和粗粒度标签联系起来。

  使用一个概率分类器 f θ : X → Δ K F − 1 f_\theta: \mathcal{X} \rightarrow \Delta^{K_F-1} fθ:XΔKF1 对细粒度标签 τ F \tau_F τF 进行建模,将输入映射到( K F − 1 K_F-1 KF1 )维的 Δ K F − 1 \Delta^{K_F-1} ΔKF1 概率单纯形(每个点代表有限个互斥事件之间的概率分布,每个事件通常被称为一个类别) 。然后,对分类器的细粒度预测 p f \mathbf{p}_\text{f} pfargmax,可以得到样本的细粒度类别 Y F \mathcal{Y}_F YF

τ F ( x ) = argmax i   p f i , where p f = f θ ( x ) . \begin{equation} \tau_F(\mathbf{x}) = \text{argmax}_i \, \mathbf{p}_\text{f}^i, \quad \text{where} \quad \mathbf{p}_\text{f} = f_\theta(\mathbf{x}). \end{equation} τF(x)=argmaxipfi,wherepf=fθ(x).

  这里, θ ∈ R d \theta \in \mathbb{R}^d θRd 是细粒度分类器的参数, p f \mathbf{p}_\text{f} pf Δ K F − 1 \Delta^{K_F-1} ΔKF1 上的一个点。

  利用细粒度预测 p f \mathbf{p}_\text{f} pf 和类别关系 M \mathbf{M} M 得到粗粒度预测 p c \mathbf{p}_\text{c} pc

p c = M T p f , \begin{equation} \mathbf{p}_\text{c} = \mathbf{M}^T \mathbf{p}_\text{f}, \end{equation} pc=MTpf,

  其中, p c \mathbf{p}_\text{c} pc 是( K C − 1 K_C-1 KC1 )维概率单纯形 Δ K C − 1 \Delta^{K_C-1} ΔKC1 上的一个点, M ∈ { 0 , 1 } K F × K C \mathbf{M} \in \{0,1\}^{K_F \times K_C} M{0,1}KF×KC 是一个描述细粒度和粗粒度类别关系的二进制矩阵。具体而言,元素 M i j \mathbf{M}_{ij} Mij 等于1表示第 i i i 个细粒度类别与第 j j j 个粗粒度类别相关联,否则为0。由于每个细粒度类别只与一个粗粒度类别相关联,矩阵 M \mathbf{M} M 的每一行之和为1。因此, M \mathbf{M} M 是一个无向二分图的邻接矩阵,用于建模粗粒度和细粒度类别之间的关系。

FALCON通过粗粒度监督同时学习细粒度分类器和类别关系,使用交叉熵目标函数(CE)来利用粗粒度监督,并学习参数 θ \theta θ 和关系 M \mathbf{M} M

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:joint_objec…

  通过对离散类别关系 M \mathbf{M} M 和连续分类器参数 θ \theta θ 进行联合优化,会导致不稳定且计算成本高昂。为了避免这些问题,论文扩展目标函数并对参数 θ \theta θ 和类别关系 M \mathbf{M} M 进行交替优化。

FALCON中的交替优化过程如图1所示,并按以下步骤进行:

  1. 在给定类别关系 M \mathbf{M} M 的情况下,对由参数 θ \theta θ 参数化的细粒度分类器进行训练。
  2. 根据分类器的细粒度预测和粗粒度标签,推断类别关系 M \mathbf{M} M
  3. 该过程重复进行预定义的轮数。

Training Fine-grained Classifier

  在固定类别关系 M \mathbf{M} M 的情况下, L coarse ( θ , M ∣ D ) \mathcal{L}_\text{coarse}(\theta, \mathbf{M}|\mathcal{D}) Lcoarse(θ,MD) 变为 L coarse ( θ ∣ M , D ) \mathcal{L}_\text{coarse}(\theta|\mathbf{M}, \mathcal{D}) Lcoarse(θM,D) 。但仅通过粗粒度标签训练细粒度分类器,无法在一个粗粒度类别中分开细粒度类别。为了克服这个问题,在FALCON中引入了额外的目标,鼓励细粒度预测的局部一致性和置信度,从而更好地从粗粒度类别中的分离细粒度类别。

  • Consistent and confident fine-grained predictions

  给定输入的最近邻,通过强化最大化输入样本预测与相邻样本预测之间的点积来鼓励细粒度预测一致预测。相应的损失 L NN \mathcal{L}_\text{NN} LNN 是点积的对数几何平均:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:nn_loss} \m…

  其中, N ( x , y c ) \mathcal{N}(\mathbf{x}, y_c) N(x,yc) 表示给定样本 x \mathbf{x} x 在同一粗粒度类别 y c y_c yc 内的最近邻样本集合, x ^ \hat{\mathbf{x}} x^ N ( x , y c ) \mathcal{N}(\mathbf{x}, y_c) N(x,yc) 中的一个元素,并且 L = ∣ N ( x , y c ) ∣ L = |\mathcal{N}(\mathbf{x}, y_c)| L=N(x,yc) 。参数 θ EMA \theta_\text{EMA} θEMA 是在迭代过程中计算参数 θ \theta θ 的指数移动平均值:

θ EMA t = γ θ EMA t − 1 + ( 1 − γ ) θ t , \begin{equation} \theta_\text{EMA}^t = \gamma \theta_\text{EMA}^{t-1} + (1-\gamma) \theta^t, \end{equation} θEMAt=γθEMAt1+(1γ)θt,

  其中, γ \gamma γ 是超参数, t t t 代表训练迭代次数。与先前研究不同的是,论文从相同粗粒度类别中检索最近邻样本,并使用EMA参数。

  损失函数 L NN \mathcal{L}_\text{NN} LNN 确保了相邻样本之间的细粒度预测的一致性。然而,一致的预测也可能是模棱两可的,这会阻碍形成充分的细粒度类别。因此,通过最小化细粒度预测和目标分布 q q q 之间的交叉熵,可以鼓励更有信心地将样本分配到细粒度类别中:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:conf_loss} …

  细粒度目标分布 $ q $ 利用粗粒度标签 $ y_c $ 的信息来优化各个细粒度类别的分布。使用类别关系 $ \mathbf {M} $ 和参数 $ \theta_\text{EMA} $ 来定义目标分布 $ q $ ,如下所示:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:q_target} q…

  其中, T T T 是一个标量温度超参数, s \mathbf{s} s 表示细粒度分类器的逻辑回归。标量 Z Z Z 是一个归一化常数,定义为 Z = ∑ i = 1 K F M i , y c exp ⁡ ( s i / T ) Z=\sum_{i=1}^{K_F} \mathbf{M}_{i, y_c} \exp( \mathbf{s}^i / T ) Z=i=1KFMi,ycexp(si/T)

  引入的目标分布 q q q 和最近邻的细粒度预测可以被视为一种伪标签形式,如图1(左)所示。将损失函数 L NN \mathcal{L}_\text{NN} LNN 和损失函数 L conf \mathcal{L}_\text{conf} Lconf 合并为一个在细粒度预测的联合损失 L fine \mathcal{L}_\text{fine} Lfine

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:cons} \math…

  • Regularization

  为了避免退化解,进一步通过引入最大熵损失函数 L reg \mathcal{L}_\text{reg} Lreg 来稳定训练,该损失函数在聚类相关任务中常被使用。

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:reg_ent} \m…

  损失函数 L reg \mathcal{L}_\text{reg} Lreg 有助于避免将所有样本分配到相同的细粒度类别的退化解。

  • Total loss of the fine-grained classifier

  将这一切综合起来,FALCON优化以下目标来训练细粒度分类器:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:final_cls} …

  其中, λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2 λ 3 \lambda_3 λ3 是调制超参数。使用细粒度分类器的预测结果之后,FALCON学习细粒度和粗粒度类别之间的关系。

Inferring Class Relationships

  给定细粒度分类器 f θ f_\theta fθ ,优化时要求对所有可能的类别关系进行离散优化,以找到最优的 M \mathbf{M} M 。主要的困难在于,目标函数既是关于 M \mathbf{M} M 的非线性函数,又由于庞大的数据集大小 N N N K C < K F ≪ N K_C < K_F \ll N KC<KFN )而难以进行评估。然而,离散优化求解器需要对目标函数进行多次评估,且仅适用于特定的问题类别,如线性目标函数。为了克服上述问题,FALCON采用了对目标函数近似,从而实现了对类别关系的高效推断。

  • Approximated coarse-grained supervision

  首先固定细粒度分类器的参数 θ \theta θ ,并将粗粒度标签的损失 L coarse \mathcal{L}_\text{coarse} Lcoarse 以矩阵形式重新表达:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:cls_matrix_…

  其中, Y o h ∈ { 0 , 1 } N × K C \mathbf{Y}_{oh} \in \{0, 1\}^{N\times K_C} Yoh{0,1}N×KC 是一个将粗粒度标签表示为one-hot向量的矩阵,而 P ∈ [ 0 , 1 ] N × K F \mathbf{P} \in [0, 1]^{N\times K_F} P[0,1]N×KF 是将细粒度预测聚集到行中的矩阵。对数操作是逐元素进行的,而 tr ( ⋅ ) \text{tr}(\cdot) tr() 是迹运算符(矩阵对角线之和)。

  为了克服讨论中的挑战,使用泰勒展开对损失 L coarse \mathcal{L}_\text{coarse} Lcoarse 进行近似,并以计算效率高的方式对其进行重新表述:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:linear_coar…

  成本矩阵 C = Y o h T P ∈ R + K C × K F \mathbf{C} = \mathbf{Y}_{oh}^T \mathbf{P} \in \mathbb{R}^{K_C \times K_F}_+ C=YohTPR+KC×KF 有效地编码了粗细类之间的连接强度,每个成本矩阵元素 C i j \mathbf{C}_{ij} Cij 与粗类 j j j 被分配到细类 i i i 的样本数量成比例。因此,上述公式的最优解仅保留了粗细类之间最强的连接。需要注意的是,新目标可以比原目标更高效地进行评估,因为矩阵 Y o h T P \mathbf{Y}_{oh}^T\mathbf{P} YohTP 可以预先计算。

  • Regularization

  计算目标 L coarse lin \mathcal{L}_\text{coarse}^\text{lin} Lcoarselin 的最优解可能会导致在粗粒度类之间出现严重不平衡的细粒度类分配。因此,引入了一个额外的正则化项,惩罚细粒度类在粗粒度类之间的分配偏差:

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:M_bal} \mat…

  其中, 1 K F \boldsymbol{1}_{K_F} 1KF 表示 K F K_F KF 维全为1的列向量。因此, M T 1 K F \mathbf{M}^T\boldsymbol{1}_{K_F} MT1KF 是一个 K C K_C KC 维的向量,其值对应于每个粗粒度类关联的细粒度类的数量。常数 K F 2 / K C 2 K_F^2/K_C^2 KF2/KC2 修正了损失,使其在平衡分配的情况下为零。

  • Total loss for inferring class relationships

FALCON通过求解以下优化问题来恢复细粒度类和粗粒度类之间的关系 M \mathbf{M} M

KaTeX parse error: Undefined control sequence: \label at position 19: …egin{equation} \̲l̲a̲b̲e̲l̲{eq:objective_M…

  其中, λ M \lambda_M λM 是一个超参数,用于控制 L bal \mathcal{L}_\text{bal} Lbal 的影响力。集合 M \mathcal{M} M 包含所有可能的类别关系:

M = { M ∈ { 0 , 1 } K F × K C   ∣   M 1 K C = 1 K F , M T 1 K F ≥ 1 K C } . \begin{align} \mathcal{M} = \{& \mathbf{M} \in \{0, 1\}^{K_F \times K_C} \, |\, \nonumber \\ & \mathbf{M}\boldsymbol{1}_{K_C} = \boldsymbol{1}_{K_F}, \mathbf{M}^T\boldsymbol{1}_{K_F} \geq \boldsymbol{1}_{K_C} \}. \end{align} M={M{0,1}KF×KCM1KC=1KF,MT1KF1KC}.

  优化公式本质上是一个带有线性约束的整数二次规划问题,该问题涉及仅有 K F ⋅ K C K_F\cdot K_C KFKC 个二进制变量的优化。因此,即使由此产生的问题本质上是NP-hard的,也可以迅速地利用现代硬件计算出解。实验证明,FALCON可以应用于包含数百个细粒度类别的真实数据集中。

Training on Multiple Datasets

  细粒度类别可以以不同的方式被分组成粗粒度类别。例如,可以根据饮食习性(食肉动物与杂食动物)、体型大小(小型与大型)或生物分类学(Canis lupusCanis familiaris)对动物进行分组。因此,尽管对相同细粒度类别的实例进行了聚合,但数据集往往具有不同的标签。FALCON可以无缝地应用于在具有不同粗粒度标签的多个数据集上的训练。

  具体来说,设 D l = { ( x i , y c i ) } i = 1 N l \mathcal{D}_l = \{(\mathbf{x}^i, y_c^i)\}_{i=1}^{N_l} Dl={(xi,yci)}i=1Nl 是一个数据集,其中 x i ∈ X \mathbf{x}^i \in \mathcal{X} xiX y c i ∈ Y C l y_c^i \in \mathcal{Y}_C^l yciYCl ,而 Y C l \mathcal{Y}_C^l YCl 是数据集特定的粗粒度类别集合。假设每个数据集 D l \mathcal{D}_l Dl 的样本都可以与共享的细粒度类别集合 Y F \mathcal{Y}_F YF 中的细粒度类别关联,将来自 D D D 个数据集的样本合并为一个组合数据集 D all \mathcal{D}_\text{all} Dall

D all = ∪ l = 1 D { ( x , y , l )   ∣   ( x , y ) ∈ D l } . \begin{equation} \mathcal{D}_\text{all} = \cup_{l=1}^D \{ (\mathbf{x}, y, l) \, | \, (\mathbf{x}, y) \in \mathcal{D}_l \}. \end{equation} Dall=l=1D{(x,y,l)(x,y)Dl}.

D all \mathcal{D}_\text{all} Dall 中的每个数据点都是一个由输入、粗粒度标签和样本来源数据集的索引组成的三元组,通过建模 D D D 个数据集特定的映射 M l \mathbf{M}_l Ml 来扩展:

L coarse ( θ , M 1 , … , M D ∣ D all ) = 1 ∣ D all ∣ ∑ ( x , y c , l ) ∈ D all CE ( M l T f θ ( x ) , y c ) . \begin{equation} \mathcal{L}_\text{coarse}(\theta, \mathbf{M}_1, \dots, \mathbf{M}_D | \mathcal{D}_\text{all}) =\\ \frac{1}{|\mathcal{D}_\text{all}|}\sum_{(\mathbf{x}, y_c, l) \in \mathcal{D}_\text{all}} \text{CE}(\mathbf{M}_l^Tf_\theta(\mathbf{x}), y_c) . \end{equation} Lcoarse(θ,M1,,MDDall)=Dall1(x,yc,l)DallCE(MlTfθ(x),yc).

  因此,将多个数据集集成到FALCON框架中只需要推断出 D D D 个数据集特定的类别关系 M l M_l Ml 。与单个数据集的情况类似,FALCON通过解决公式14推断出数据集特定的类别关系。所有 D D D 个离散优化问题是相互独立的,可以并行求解。

Experimental Setup


Datasets & Metrics

  • Datasets

  在八个图像分类数据集上评估了FALCON,包括Living17Nonliving26Entity30Entity13tieredImageNetCIFAR100CIFAR-SICIFAR68数据集。数据集Living17Nonliving26Entity30Entity13来自于BREEDS基准测试。

  1. 对于tieredImageNet数据集,将训练、验证和测试的分类体系合并为一个包含 608 608 608 个细粒度类别和 34 34 34 个粗粒度类别的单一数据集。
  2. 对于CIFAR100数据集,使用具有 20 20 20 个粗粒度类别和 100 100 100 个细粒度类别的原始标签。原始的CIFAR100数据集中,每个粗粒度类别都有相同数量的细粒度类别,每个细粒度类别中也有相同数量的样本。因此,额外引入了两个不平衡版本的CIFAR100数据集,命名为CIFAR68CIFAR-SI数据集。
  3. CIFAR68数据集的情况下,从原始数据集中删除了 32 32 32 个细粒度类别,以使粗粒度类别中的细粒度类别数量不平衡。
  4. CIFAR-SI数据集的情况下,从每个细粒度类别中删除了高达 70 % 70\% 70% 的样本,实际上导致了样本分布的不平衡。

  此外,为了表明FALCON具有广泛的适用性,考虑了来自生物领域的单细胞RNA测序数据集。在从COVID-19患者血液样本中收集的PBMC数据集上评估了FALCON。任务是在给定粗粒度细胞类型的情况下将细胞分类为细粒度细胞亚型。根据对应于细粒度标签的真实细胞亚型对该方法进行评估。PBMC数据集极度不平衡(基尼系数大于0.5)。在单细胞数据上进行了转导性设置下的性能评估。

  所有考虑的数据集的概述如表1所示。缩写L17代表Living17N26代表Nonliving26E30代表Entity30E13代表Entity13C100代表CIFAR100C68代表CIFAR68CSI代表CIFAR样本不平衡,tIN代表tieredImageNetPB代表PBMC

  • Metrics

  在没有细粒度基准标签的情况下训练了FALCON和基线模型。因此,报告细粒度聚类准确度作为评估指标。

Acc = max ⁡ p ∈ P ( Y f ) 1 ∣ D ∣ ∑ i = 1 ∣ D ∣   【 y f i = p ( y ^ f i ) 】 . \begin{equation} \text{Acc} = \underset{p \in \mathcal{P}(\mathcal{Y}_\text{f})}{\max} \frac{1}{|D|} \sum_{i=1}^{|D|} \, 【 y_\text{f}^i = p(\hat{y}^i_\text{f})】. \end{equation} Acc=pP(Yf)maxD1i=1Dyfi=p(y^fi).

  在这里, P ( Y f ) \mathcal{P}(\mathcal{Y}_\text{f}) P(Yf) 是所有细粒度类别标签的排列组合。在实践中,可以使用匈牙利算法高效地计算该度量。此外,我们还报告了调整兰德指数(ARI)。由于FALCON还学习了类别关系,我们使用图编辑距离(GED)报告了学习到的标签关系与地面真相图之间的差异。图编辑距离计算必须添加或移除的节点和边的数量,以使其匹配目标图。

Baselines

  由于没有专门为粗粒度监督下细粒度类别发现的方法,将FALCON与可以应用于该设置的方法进行比较,包括改编为细粒度类别发现的聚类和跨粒度少样本方法。

SCAN是一种深度聚类方法,直接将其应用于细粒度类别发现,通过对数据进行聚类。然而,SCAN在训练过程中无法利用有关粗粒度类别的信息。因此,额外通过在同一粗粒度类别中强制保持邻居之间的一致预测来对SCAN进行了改进。这种改进使得SCAN能够利用粗粒度监督。我们将这个基准方法称为SCAN-C

  论文进一步将跨粒度少样本学习方法作为基线进行比较。ANCOR是一种跨粒度少样本学习方法,它学习细粒度表示空间。因此,对提取的特征运行K均值聚类以恢复细粒度预测,使用相同的方法来改编SNCASCGM是一种少样本学习方法,可直接应用于细粒度类别发现,因为它提供了细粒度预测。

  论文还加入GEORGE,它通过分布鲁棒优化粗分类目标。GEORGE只学习细粒度表示空间,因此我们再次运行K均值算法来恢复细粒度预测。

  最后,可以通过对细粒度标签进行经验风险最小化(ERM)来确定性能的上限。

Implementation Details

  对于来自CIFAR数据集的小尺寸图像,使用ResNet18作为骨干网络,并对剩余的五个图像数据集使用ResNet50作为骨干网络。使用自监督预训练方法MoCoV3对所有方法(即FALCON和所有基线方法)进行初始化。在训练过程中,更新模型的所有参数。将输入的弱增强与 θ EMA \theta_\text{EMA} θEMA 配对,将强增强与 θ \theta θ 配对。使用自监督特征表示之间的距离来检索最近邻。在Optuna中使用TPE算法对CIFAR100数据集进行超参数搜索。使用Gurobi解决离散优化问题。

  在单细胞数据的情况下,使用具有4个线性层和ReLU激活的随机初始化MLP。通过计算前2k个高度变异基因的距离来检索最近邻。

Experimental Evaluation




如果本文对你有帮助,麻烦点个赞或在看呗~
更多内容请关注 微信公众号【晓飞的算法工程笔记】

work-life balance.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2121315.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS7虚拟机下安装及使用Docker

文章目录 一&#xff0c;准备工作二、安装Docker三、启动Docker四、验证Docker五、使用Docker六&#xff0c;卸载Docker 有一个Centos7的虚拟机&#xff0c;想要安装个docker测试一些docker用法和熟悉命令 一&#xff0c;准备工作 1&#xff0c;使用uname -r命令检查系统内核…

价值流架构指南:构建业务创新与竞争优势的全面方法论

如何通过价值流引领企业数字化转型&#xff1f; 在当前数字化转型的背景下&#xff0c;企业面临的挑战日益复杂化&#xff1a;如何更快响应市场变化&#xff1f;如何优化资源配置提升效率&#xff1f;如何确保客户体验始终处于行业领先&#xff1f;《价值流指南》由The Open G…

Java实现简易计算器功能(idea)

目的&#xff1a;写一个计算器&#xff0c;要求实现加减乘除功能&#xff0c;并且能够循环接收新的数据&#xff0c;通过用户交互实现。 思路&#xff1a; &#xff08;1&#xff09;写4个方法&#xff1a;加减乘除 &#xff08;2&#xff09;利用循环switch进行用户交互 &…

解决windows中项目启动端口被占用报错

1.在启动项目时报错端口被占用 解决: 1.cmd命令行输入命令: netstat -ano | findstr “8000” 2.可以看到PID为8448&#xff0c;下面只要将该PID关闭即可&#xff0c;有两种方法: ①在任务管理器中找到PID为8448的服务结束 ②命令行输入: >taskkill /PID 8448 /F 3.再查…

关于低代码平台几个新技术应用的实践体验

最近在整理平台的基本功能使用体验&#xff1a; 1&#xff0c;使用低码平台&#xff0c;创建用户业务站点交互原型&#xff0c;基本是可行的。虽然相对于专业的 墨刀、蓝湖、figma 等在用户体验上还有差距&#xff0c;但对于普通应用差别不大。 2&#xff0c;根据UI/UE原型&am…

力扣(LeetCode)每日一题 2181. 合并零之间的节点

题目链接https://leetcode.cn/problems/merge-nodes-in-between-zeros/description/?envTypedaily-question&envId2024-09-09 题目描述 给你一个链表的头节点 head &#xff0c;该链表包含由 0 分隔开的一连串整数。链表的 开端 和 末尾 的节点都满足 Node.val 0 。 对…

HNU-2023电路与电子学-CPU综合设计

写在前面&#xff1a; 本次实验是课程的最后一次实验&#xff0c;要求按照指导书的说明将之前的板块整合成一个完整的CPU&#xff0c;建议大家每连接一个板块都进行一次仿真验证&#xff0c;保证能正常运行且功能正常&#xff0c;如果等到CPU组装好再调试工作量较大并且有些错…

如何恢复最近删除的文件[Windows Mac]

可以通过多种方式删除文件。因此&#xff0c;用户需要恢复他们不小心删除的文件的情况并不少见。 好消息是&#xff0c;用户至少通常可以在删除最近删除的文件后几天或几周内恢复它们。 回收站是 Windows 中的文件删除保护措施&#xff0c;可以轻松恢复文件。 除非另有配置&…

第二证券:科创板股票交易规则,科创板新手可以买吗?

科创板是独立于现有主板商场的特别板块&#xff0c;面向的是国际科技前沿、经济主战场、国家严峻需求&#xff0c;首要服务于契合国家战略、打破要害核心技术、商场认可度高的科技立异企业。 科创板是独立于现有主板商场的特别板块&#xff0c;面向的是国际科技前沿、经济主战…

二叉树 - 验证二叉搜索树

98. 验证二叉搜索树 方法一&#xff1a;辅助数组 /*** Definition for a binary tree node.* function TreeNode(val, left, right) {* this.val (valundefined ? 0 : val)* this.left (leftundefined ? null : left)* this.right (rightundefined ? null :…

WPF中创建横向的ListView

在WPF中&#xff0c;要创建横向的ListView&#xff0c;您可以通过设置ItemsControl的ItemsPanel来改变其项的排列方向。以下是一个简单的示例&#xff0c;展示了如何将ListView的项横向排列&#xff1a; 在这个例子中&#xff0c;WrapPanel用于横向排列其子元素&#xff0c;而…

本地Linux服务器使用docker搭建DashDot并实现公网实时监测服务器信息

文章目录 前言1. 本地环境检查1.1 安装docker1.2 下载Dashdot镜像 2. 部署DashDot应用3. 本地访问DashDot服务4. 安装cpolar内网穿透5. 固定DashDot公网地址 前言 本篇文章我们将使用Docker在本地部署DashDot服务器仪表盘&#xff0c;并且结合cpolar内网穿透工具可以实现公网实…

C语言 ——— 学习并使用条件编译指令

目录 何为条件编译指令 常见的条件编译指令 学习条件编译指令 使用条件编译指令 在程序预编译阶段&#xff0c;条件编译指令的代码转换 多分支的条件编译指令 何为条件编译指令 在编译一个程序的时候&#xff0c;如果要将一条语句&#xff08;一组语句&#xff09;选择编…

Redis学习Day2——Redis基础使用

扩展阅读推荐: Redis 教程 | 菜鸟教程 (runoob.com) 黑马程序员Redis入门到实战教程_哔哩哔哩_bilibili 细说 Redis 九种数据类型和应用场景_redis数据类型及应用场景-CSDN博客 一、命令篇 1.1 Redis的命令分类 Redis是典型的K-V型数据库,key标识字符串,而value包含了很…

React Native 0.76版本发布

关于 React Native 的 New Architecture 概念&#xff0c;最早应该是从 2018 年 RN 团队决定重写大量底层实现开始&#xff0c;因为那时候 React Native 面临各种结构问题和性能瓶颈&#xff0c;最终迫使 RN 团队开始进行重构。 而从 React Native 0.68 开始&#xff0c;New A…

在B端管理系统中,复杂或者DIY功能,都依赖哪些编辑器/设计器

一、引言 在当今的商业环境中&#xff0c;B 端管理系统扮演着至关重要的角色。这些系统不仅需要满足企业日常的运营管理需求&#xff0c;还需要具备足够的灵活性和可扩展性&#xff0c;以适应不断变化的业务需求。而在实现复杂或可 DIY 的功能方面&#xff0c;各种编辑器和设计…

C++VTK鼠标框选局部删除三维网格

程序示例精选 CVTK鼠标框选局部删除三维网格 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《CVTK鼠标框选局部删除三维网格》编写代码&#xff0c;代码整洁&#xff0c;规则&#xff0c;易…

暗星·Java实战之进阶旅游网

简介 暗星旅游网&#xff0c;是一个分为管理员端和用户端的项目&#xff0c;有权限分离认证&#xff0c;管理员端&#xff08;后台&#xff09;进行旅游产品的维护&#xff0c;主要功能有&#xff1a;管理员管理&#xff0c;角色管理&#xff0c;权限管理&#xff0c;认证和授…

Python怎么发送邮件:基础步骤与详细教程?

Python怎么发送邮件带附件&#xff1f;怎么使用Python发送邮件&#xff1f; 无论是工作中的通知、报告&#xff0c;还是生活中的问候、邀请&#xff0c;电子邮件都扮演着不可或缺的角色。那么&#xff0c;Python怎么发送邮件呢&#xff1f;AokSend将详细介绍Python发送邮件的基…

三、排序算法

文章目录 一、排序算法的介绍二、算法的时间复杂度2.1 基本介绍2.2 时间频度2.3 时间复杂度的表示2.4 算法的平均时间复杂度和最坏时间复杂度 三、算法的空间复杂度四、排序算法4.1 交换排序4.1.1 冒泡排序4.1.2 快速排序 4.2 选择排序4.2.1 简单选择排序4.2.2 堆排序 4.3 插入…