【长尾论文精读】2022-NeurIPS-SADE

Title:Self-Supervised Aggregation of Diverse Experts for Test-Agnostic Long-Tailed Recognition

1 概览

  1. 针对问题:test-agnostic long-tailed recognition

    • 一般假设测试集类别分布是平衡的,然而现实中的测试类别分布经常违背这个假设(可能是长尾甚至是逆长尾的)
    • 逆长尾分布中效果普遍很差:在这里插入图片描述
  2. 提出方法:多样化专家的自监督聚合Self-supervised Aggregation of Diverse Experts

    • 一个可以test-time自适应的多专家聚合方案 ,以应对未知的测试类分布
    • 分治地使用不同的类分布来训练具有不同特长(应对不同测试分布)的专家
  3. 提出一个新问题:Test-agnostic Long-tailed Recognition
    在这里插入图片描述

两个挑战:

1. 如何用一个单一且平稳的长尾数据集训练出多样性的专家?
	- 基于一个发现【使用的损失函数与学习到的类分布有模拟相关性】
	- 也就是通过不同损失函数学到的模型能够熟练处理不同的目标类分布
	- 得到方法:使用不同的专家指导损失函数对不同专家进行训练
2. 如何对特长不同的专家进行集成?
	- 基于一个发现【专家的专业性和预测稳定性之间存在正相关】
	- 提出了预测稳定性最大化的自监督策略(prediction stability maximization)
	- 该方法可以最大化预测标记分布和真实分布的互信息

第一个自动适应未知的测试集分布偏移的方法,甚至效果好于已经知道测试集分布的LADE

2 相关领域

Test-time training

经常用于处理训练集与测试集的分布偏移问题。

3 详细方法

3.1 Skill-diverse Expert Learning

依据:见挑战一,由下表看出,softmax loss训练的模型擅长长尾测试分布,长尾方法训练的模型擅长平衡分布。

在这里插入图片描述

在这里插入图片描述

(1) forward expert使用softmax CE loss

在这里插入图片描述

(2) uniform expert使用balanced softmax loss
受logit调整损失对长尾识别的有效性启发
The balanced softmax adjusts the prediction probability by compensating for the long-tailed class distribution with the prior of training label frequencies

在这里插入图片描述

其中,π表示类频繁系数,基数大的类对应的πk更接近1.在这里插入图片描述

(3) backward expert使用inverse softmax loss

在这里插入图片描述

在balanced softmax loss调整logit到平均分布的基础上继续调整,以适应逆长尾分布

该部分代码

进行logit adjustment之后再计算base_loss(此处使用CELoss)

def forward(self, output_logits, target, extra_info=None):  
    if extra_info is None:  
        return self.base_loss(output_logits, target)  # output_logits indicates the final prediction  
  
    loss = 0  
  
    # Obtain logits from each expert    
	expert1_logits = extra_info['logits'][0]  
    expert2_logits = extra_info['logits'][1]   
    expert3_logits = extra_info['logits'][2]    
  
    # Softmax loss for expert 1   
	loss += self.base_loss(expert1_logits, target)  
      
    # Balanced Softmax loss for expert 2  
    # tips:一个数值稳定小技巧,防止prior为0或者十分接近0,导致取log后得到无穷大。
    expert2_logits = expert2_logits + torch.log(self.prior + 1e-9)   
    loss += self.base_loss(expert2_logits, target)  
      
    # Inverse Softmax loss for expert 3  
    inverse_prior = self.inverse_prior(self.prior)  
    expert3_logits = expert3_logits + torch.log(self.prior + 1e-9) - self.tau * torch.log(inverse_prior+ 1e-9)   
    loss += self.base_loss(expert3_logits, target)  
  
    return loss

3.2 Test-time Self-supervised Aggregation

基于假设【专家对于其擅长领域的预测应当更加稳定stable】

验证假设——通过比较对样本的两个增强视图的预测之间的余弦相似度来估计专家的预测稳定性。
增强数据方法——MoCo v2中的数据增强,该数据增强被证明在自监督学习领域是有效的。

we estimate the prediction stability of experts by comparing the cosine similarity between their predictions for a sample’s two augmented views.

在这里插入图片描述

  • 专家1对于many-shot类稳定性优,而专家2对于few-shot类更稳定。

提出方法——预测稳定性最大化prediction stability maximization.

在这里插入图片描述

(1) data view generation
(2) learnable aggregation weight

w进行了归一化,即满足 w 1 + w 2 + w 3 = 1 w_1 + w_2 + w_3=1 w1+w2+w3=1
the final softmax prediction: y ^ = σ ( w 1 ⋅ v 1 + w 2 ⋅ v 2 + w 3 ⋅ v 3 ) \hat{y} = σ(w_1·v_1 + w_2·v_2 + w_3·v_3) y^=σ(w1v1+w2v2+w3v3)

(3) 目标函数

基于两个view prediction之间的余弦相似度计算
在这里插入图片描述

论文citation:
@inproceedings{DBLP:conf/nips/ZhangHHF22,
author = {Yifan Zhang and
Bryan Hooi and
Lanqing Hong and
Jiashi Feng},
title = {Self-Supervised Aggregation of Diverse Experts for Test-Agnostic Long-Tailed
Recognition},
booktitle = {NeurIPS},
year = {2022},
url = {http://papers.nips.cc/paper_files/paper/2022/hash/dc6319dde4fb182b22fb902da9418566-Abstract-Conference.html},
timestamp = {Thu, 11 May 2023 17:08:22 +0200},
biburl = {https://dblp.org/rec/conf/nips/ZhangHHF22.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}

MOMFEA-SADE是一种基于多目标优化的多任务优化算法。它是在MOMFEA(多目标多任务优化进化算法)的基础上结合了SADE(自适应差分进化算法)的思想而提出的。在MOMFEA-SADE中,算法的整体运行构成在EMTPD中,其中运行函数在Callsolver.m中。算法的主体和MOMFEA框架没有区别,最主要的区别在Strategy.m中。Strategy.m包含了整个模型的构建,其中包括极大似然函数、混合高斯模型和EM算法的描述,这些描述遵循了机器学习经典书籍PRML中的实现。[1] 在EMT算法中,知识可以从单个或多个个体中提取,并转移到其他个体中,以方便它们的搜索。其中,基于单个个体的知识转移方法(KTS)是指从一个任务的单个个体中提取知识,并将知识转移到其他任务。具有KTS的EMT算法包括MFEA、M-BLEA、LDA-MFEA、S&M-MFEA、MO-MFEA、GMFEA、TMOMFEA、MTO-DRA、MFEA-II、MFEAGHS和MFGP。这些算法通过分类交配和垂直文化传播来传递知识。在分类交配中,从群体中随机选择两个个体,然后通过模拟二进制交叉(SBX)和多项式变异产生后代。在垂直文化传播中,每个后代被随机分配一项任务。KTS使得每个任务都能获得不同的知识,从而保持了人口的多样性。然而,由于知识传递的随机性,具有KTS的EMT算法不能充分利用高质量解的知识来加速种群的收敛速度。[2] 在KTM中,一个解决方案可以由其他解决方案指导。例如,在HS场景下的KTM中,一个解决方案可以由其他任务的高质量解决方案指导。然而,KTM也可能会转移劣解的知识,导致搜索偏离理想的方向。因此,在一些KTS和KTM的方法中,每一代人只受到每次任务的一个或几个最佳解的指导,以避免将种群引向局部最优解。[3] 综上所述,MOMFEA-SADE是一种基于多目标优化的多任务优化算法,它结合了SADE的思想,并在EMT算法中引入了KTS和KTM的概念。这种算法可以通过知识转移来提高搜索效率,并避免陷入局部最优解。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值