【论文笔记】Long-tailed Recognition by Routing Diverse Distribution-Aware Experts

1.Introduction

1.偏差和方差

基础知识

  • 单纯训练数据集的LOSS达到最小,并不能保证模型是通用的。某个训练集上的LOSS与一般化的数据集的loss之间的差异就叫做generalization error。generalization error又分为Bias和Variance两个部分。

    • 偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了算法本身的拟合能力
    • 方差度量了同样大小的训练集的变动所导致的学习性能变化,即刻画了数据扰动所造成的影响
    • 噪声则表达了在当前任务上任何学习算法所能达到的期望泛化误差的下界,即刻画了学习问题本身的难度
  • 泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。给定学习任务,为了取得好的泛化性能,则需使偏差较小,即能够充分拟合数据,并且使方差较小,即使得数据扰动产生的影响小。-周志华《机器学习》

  • 偏差:实际上也可以称为避免欠拟合
    1、寻找更好的特征 - 具有代表性。
    2、用更多的特征 – 增大输入向量的维度。(增加模型复杂度)

  • 方差:避免过拟合
    1、增大数据集合 – 使用更多的数据,噪声点比减少(减少数据扰动所造成的影响(紧扣定义))
    2、减少数据特征 – 减少数据维度,高维空间密度小(减少模型复杂度)
    3、正则化方法
    4、交叉验证法

方法实现

  • n个数据集样本D是一个变量,,模型h上输出为Y的实例x随D的实现而变化,变量D的预期方差由著名的偏差-方差解:
    请添加图片描述
  • 对于 n 个随机样本数据集 D(1),…,D(n),在 D(k) 上训练的第 k 个模型在实例 x 上预测 y(k),并且它们共同具有均值预测 ym。根据ym我们可以计算出prediction error
    请添加图片描述
    有上图右侧所示,我们可以寄哪个虽有表示为L2范数,进而将L2转化为L0-1来进行分类;
    请添加图片描述
    通过这种表示方法分析书,当前模型分析出现有的长尾方法以增加所有类的模型方差为代价来减少尾部的模型偏差,并且头尾模型偏差差距仍然很大。

2. 创新点

  1. 提出多专家模型
  2. 提出了一种分布感知损失来减少模型的偏差
  3. 提出路由模块,在效果不足时参考第二,三。。。专家意见
  4. 共享框架,在以下两点展现
    1.多专家训练基础特征阶段共享
    2.路由模块第一层共享

2.RELATED WORKS

  • 小样本学习:依赖于数据集
  • Re-balancing/re-weighting:过分关注尾部数据
  • Knowledge transfer:不能掌握知识传输过程
  • Ensembling and grouping:代码表有BBN和LFME,他们失去了头部性能和整体通用性,因为没有专家可以平衡地访问整个数据集
  • RIDE是一种非传统的集成方法
    1.它的专家共享了早期的层并减少了后期的通道,不太容易出现小尾过度拟合
    2.其专家联合优化
    3.使用动态专家分配模块根据需要为各个实例部署专家
    4.它以更小的模型复杂度和计算成本达到更高的精度

3.算法实现

1.具有共享早期骨干和减少后期渠道的专家

  • n个专家结构相投,且前面通用特征权值共享学习通用的低级特征,后期分开训练,为了减少对尾类中小训练数据的过度拟合,我们将 ψθi 中的滤波器通道数减少了 1/4(原文有写到这一句,但是没看懂),最后所有专家接受长尾数据分布感知多样性损失 LD-Diversify 和分类损失 LClassify 的培训,例如 CE 和 LDAM。
    请添加图片描述

2.个人专家分类损失

  • 我们将这种聚合损失称为协作,他的效果等同于相同大小的一个模型
    请添加图片描述
  • 上述方法过于强调相关性,因此文章提出了互补专家complementary,他强调的是一种个体损失
    请添加图片描述

3.分布感知多样性损失

  • 个体分类损失随机初始化导致具有共享主干的多样化专家
  • 文章提出了一种正则化术语来促进互补决策,最大化了不同专家在类别 y 中实例 x 上的分类概率在总共 c 个类别上的 KL 散度:(简单来说,就是让不同专家在实例x的c个分类上的带有温度的sorfmax分类最大化)
    请添加图片描述
  • 温度由类别k的数量nk决定,nk越小,T越小,使得sorfmax的分类概率对特征的变化越来越敏感。这里比较绕,y一定程度代表了最大温度和最小温度的差值,并且确保了Tk处于一个合理的范围,同时确保 βk = 1,Tk = α 用于平衡集。
    请添加图片描述
  • 这种简单的适应使我们能够找到对头部足够复杂和对尾部足够鲁棒的分类器:一方面需要强大分类器来处理头部数据的变化,但另一方面汇总成尾部的过拟合。因此我们在训练几个epoch之后才开始改变温度

4.联合专家优化

  • 通过λ加权损失,因此在第 1 阶段学习的 n 个专家同样优秀且彼此不同。 路由多元化专家。
    请添加图片描述

5.路由多元化专家

  • 根据需要任意顺序部署专家。
  • 假设已经为实例 x 部署了前 k 个专家。 路由器接收图像特征和从第一个到第 k 个专家的平均 logits,并就是否部署第 k + 1 个专家做出二元决策。 如果第 k 个专家错误地分类 x,但其余 n-k 个专家之一正确分类 x,理想情况下路由器应该打开,即输出 yon = 1,否则 yon = 0。
  • 将所提取的基础特征归一化(为了训练稳定)——》通过W1降低维度——》然后是 ReLU 和展平——》与k个专家中排名前s的平均 logits 连接——》将其投影到路由器之间独立的 W(k) 2 的标量——》最后应用 Sigmoid 函数 S(x) = 1 1+e−x 得到 [0,1] 中的连续激活值:
    请添加图片描述
  • 其中s的大小根据数据级的数量增长,原文中s 的范围从 CIFAR100 的 30 到 iNaturalist 的 50(8,142 类)
  • 路由器由一个带有权重的二元交叉熵损失:
    请添加图片描述
    • ωon代表打开的难易程度,文章经验取值100(结合精度和训练成本),如果 r(x) < 0.5,分类器使用当前的集体 logits 做出最终决定,否则继续下一个专家

6.自选加入蒸馏

  • 文章方法可以有任意数量的专家来平衡分类精度和计算成本,可以将多专家训练的模型子蒸馏应用到更少的专家

补充知识

L2 loss

  • 均方差损失函数,一般用作回归(有平方,下图中未给出)
    请添加图片描述

groud truth

  • 机器学习包括有监督学习(supervised learning),无监督学习(unsupervised learning),和半监督学习(semi-supervised learning)。在有监督学习中,数据是有标注的,以(x, t)的形式出现,其中x是输入数据,t是标注。正确的t标注是ground truth, 错误的标记则不是。

KL散度

  • 通常的概率和统计中,我们希望找到更简洁的近似分布来代替真是复杂的分布。KL散度可以衡量在近似值时损失了多少信息
  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值