【论文—data】Dynamic curriculum learning for imbalanced data classification

本文针对的问题:在人的属性分析中,最大的挑战就是数据分布的平衡;

之前的方法:re-sampling 和 cost-sensitive learning(这两个方法是什么,后文会介绍)。问题:以上的方法需要先验知识;

作者提出了一种方法啊:Dynamic Curriculum Learning(DCL),泛化性能,辨别性

DCL包括两级课程计划表(two-level curriculum schedulers):1)sampling scheduler 有两个功能:a.管理数据分布,将不平衡的数据分布排布均衡,难易数据也排布均衡;2)loss scheduler 控制分类和度量学习损失(metric learning loss)的重要性;

文中的实验数据集,人脸属性数据集CelebA和行人属性数据集RAP。

Introduction

作者明确本文针对的问题:如何处理人脸属性的数据不均衡问题,同时引入了两个概念:

class bias accuracy: is defined as the number of correctly predicted data divided by the number of whole test data;

(预测正确的测试样本数量除以整个测试数量)

class balanced accuracy:is defined as the average of accuracy in each class for evaluation

(每个类别估计后得到的平均精度)

而摘要中提到的两种方法各有缺点:

resample指的是过采样(oversample)小样本集,而降低采样(downsample)大样本集。但是resample存在的问题是:由于重复的对小样本集采样,容易导致结果模型对小样本量的数据过拟合,而对大样本集降低采样,又会无形中导致丢失了很多有用的信息;

cost-sensitive learning的出现就是为了解决resample的问题,cost-sensitive learning就是通过直接施加heavier cost在小样本集上的错误分类的数据上,但是cost-sensitive learning对不同环境的不同的样本找到一个meaningful cost 也是非常困难的。

从而作者提出了自己的方法:Dynamic Curriculum Learning(DCL)方法。DCL方法的提出是基于以下两点:(1)针对数据的不均衡问题,采样虽然是个不错的方法,但是在数据平衡的状态下,采样容易降低整个系统的泛化性能,当数据极不平衡时,这个问题会更严重。例如,在学习的前期阶段,系统会更加强调小样本集的学习,而忽视了大样本集中的信息。这样的系统通常对小样本类别拟合的较好,而对大样本数据拟合的较差。但是,到底什么是我们想要教会系统首先学会的类别间的好的表示,然后对样本进行正确分类。这个问题的答案就在如何很好的平衡class bias accuracy 和class balanced accuracy。(2)合理的结合交叉熵loss(CE)和度量学习loss(ML)。但是,作者提出这两个loss都有不同的侧重点,不能够平等的将这两个loss用于训练。CE更加侧重于有标签的分类任务,而ML更加侧重于学习没有给予标签的的soft feature 分离各种samples。同样,作者认为第一步还是要学会特征representation,然后再将样本进行正确分类。

作者总结了自己的贡献有三点:

1)作者将curriculum learning的观点用于DCL框架中,用于不均衡的数据学习问题。除了设计scheduler 函数,还有两个curriculum scheduler提出用于动态采样操作和loss回传。

2)DCL是一个统一的代表,它概括了许多现有的方法和相关的设定

3)作者的方法在人脸属性CelebA和行人属性数据集RAP获得了很好的性能表现。

 

Related Work

curriculum learning:强调的是r如何由易到难的学习,从而提升模型的泛化性能;

 

Method:

DCL第一步是一个采样的scheduler,它主要用于发现一个batch中有意义的样例,用于动态的训练网络结构,将数据不均衡变为均衡,并且从简单样本向难例样本学习。该步骤决定了DSL(动态挑选学习,Dynamic Selective Learning)成分中的采样策略。

第二步是loss scheduler,它控制了两个loss(DSL loss和度量学习loss)学习的重要性。早期阶段集更加关注soft 特征空间,但是之后会更加关注分类任务。

3.1 scheduler function design

Scheduler Function:SF(l)表示,意义:一个关于参数l的函数,SF结果取值是从1到0.它代表了当前的训练epoch。它反应了网络学习的状态,和函数的斜率,这个斜率估计了课程学习的速度。那SF函数到底长什么样,作者做了以下的各种探索:

(解释下,作者提到速度又快变慢和又慢变快,是通过SF根据l值从1到0的不同取值,而得到SF的结果的变化,而SF的结果就反应了课程的学习速度。SF值越大,课程学习也越快,SF值越小,课程学习越慢。)

其中L代表了整个训练的epoch数,lamda代表的是一个独立的隐参数,取值范围是(0,1);

以上四种类型的scheduler functions

3.2 Sampling Scheduler

作者引入了Dynamic Selective Learning(DSL)component.作者强调固定的目标分布对于selective learning而言,无法处理同时处理balanced accuracy和class biased accuracy。但是作者在自己提出的DSL中,使用了dynamic curriculum scheduler 产生target batch distribution,在训练过程中,将batch中数据由不均衡变得均衡;

Cmin指minority class。

一个batch的目标分布D:

(解释:Dtrain指的是训练开始时的数据分布,使用采样调度函数(sampling scheduler function) g(l)后,数据分布由不平衡的Dtrain变成平衡的D(l)) 。

根据当前的分布D(l),样本量多的类别动态地被挑选,样本量小的类别的样例将被重新设定权值(re-weighted)用于不同的epochs中平衡(confirm )不同的目标分布。同时DSL的loss函数如下定义:

(解释:我的理解是p代表的是预测标签yi,j和ground truth 标签的概率值,p的log函数再与权值wj做乘法的加和,Nj就是当前batch中第j类样例的数量,M就是当前batch中所有的样例数,Dj(l)是当前epoch l中第j类的目标分布,而Bj就是第j类当前batch中的分布。)

我有个疑问:Bj和Dj(l)怎样计算得到?(我的理解是正负样本的数据占比)

作者在文章中是这样解释的:在epoch一开始,公式(5)中,g(0)=1,目标分布D就是等于训练集合分布,换言之,就是真实世界的分布。最后一个epoch,g(l)就近似等于0了,目标分布D中所有元素就近似等于1,就是均衡分布。

训练刚开始时,课程调度管理模型学习整个训练数据,这个样本通常是容易样本,随着训练的进行,通过挑选majority samples和个minority 样例赋权值,系统主要对难例样本学习。

3.3 Metric Learning with Easy Anchors

除了3.2节提到的cost entropy loss LDSL,作者也使用了度量学习loss(a metric learning loss),用于学习不平衡的数据分类中更好的特征。常规的度量学习loss就是triplet loss,通常用于难例挖掘,难例指的是预测错误的类别,且类别置信度很高的样本。loss函数是如下式定义的:

在论文【7】中所有的少样本类别的样例都会被挑选作为anchors。

作者认为如果将所有的少样本类别的all样例挑选为anchors,会带来一个问题,由于少样本类别的特征会被大样本集合的特征所分开,所以会将容易的正例拉到负的一边(容易样本意味着正确预测的样例),可以看图2 :

(我的理解:秃顶作为正例,非秃作为负例,Hard+指正例中的难例,Easy+就是指正例中的容易预测正确的类别。Figure2中当使用小样本中所有的样例作为锚点时,难例作为anchor时,所有的小样本数据像anchor靠拢,而非秃顶的样例会远离秃顶锚点,从而使得样本穿过了分类边界线,导致正例样本变得混乱(chaotic))

作者提出了一种方法用于使用easy anchors LEA提升Triplet loss的采样操作,定义:

 

(我的理解:容易样本使用(9),解决数据混乱问题) 

使用LTEA后,在小样本中只有容易样本将被挑选为anchors,LTEA将困难的正例样本拉近锚点,而远离困难的负样本(结合Figure3看)。

(我的理解:通过困难样本向容易样本靠拢,类内距变小,而类间距增大,公式9就进行了很好的体现)

3.4 Loss Scheduler

研究了triplet loss和entropy loss,triplet loss 学习分布在特征空间中不同特征的soft feature,而cross entropy loss通过标签去对samples进行分类;作者为了利用好Feature representation 和 正确的分类结果,设计了课程调度(curriculum scheduler )f(l)去管理这两个loss。以3.1节内容的复合函数(composite function)为例。调度(scheduler)f(l)如下所示,解释如Figure 4:

LDSL和LTEA上面的文章都有介绍过,而f(l)中l参考当前的epoch,而L参考整个预期的epoch。p的取值范围是【0,1】,它被定义为先进的自学点(advanced self-learning point,是个什么鬼),yita为自学率(self-learning ratio),作者还着重提到yita为什么不为0,原因是由于网络要不断从之前的阶段学习用于维持特征结构(啥,不懂????)

训练过程开始时,为了feature embedding soft learning ,triplet loss LTEA由大的权值文件进行初始化,随着时间的推移,使用调度函数后,LTEA的结果会变小(由于调度函数的结果取值是慢慢变小的,所以在(10)中,LTEA的成分也越来越小);之后,由于LTEA的成分减小,那么系统更加侧重于LDSL,学习分类。最终达到自我学习点(self-learning point),就没有了“teacher” curriculum scheduler,网络就会自己进行微调直至拟合。

3.5 Generalization of DCL Framework

作者罗列了很多的数据不均衡的学习方法,显示如表1所示:

selective learning只是包含了目标分布,没有度量学习;而CRL-I没有进行重新赋予权值和重新采样,只用了度量学习中的固定权值;

4.Experiments

4.1 Datasets

作者使用了CelebA数据集合和RAP数据集合,

CelebA人脸属性数据集极不平衡,大样本类别比例为50%,数据集包含10177个人的202599张图片;

RAP行人属性数据集包含来自26台室内摄像机的41585张图片,这些数据包含了72个不同的属性,这个数据集中小样本数据集和大样本数据集的比例是1:1800.

4.2 Evaluation Metric

为了衡量不平衡的数据集的结果,作者使用了类别均衡精度(class balanced accuracy,binary classification)在单个任务上。然后计算所有任务的平均精度作为总的度量结果:

mAi代表的是第i个任务的均衡平均精度,TPi和Pi分别代表了对于第i个任务中,预测正确的正样例和所有的正样例;同理,TNi和Ni分别代表了预测正确的负样例和所有的负样例。|C|代表的是任务的数量,mA代表的是一个任务中所有的精度值。

4.3 Experiments on CelebA Face Dataset

4.3.1 Implementation Details

DeepID2作为backbone,所有实验如表2所示:

通过table2,发现参考文献CLMLE【17】中的方法和作者提的方法效果差不太多,就平均精度而言,作者的方法好于参考文献【17】的方法。不过后文提到CLMLE方法训练学习过程很复杂。

4.3.2 Overall Performance 

作者将自己的方法和很多其他的方法进行了比较,包括:Over-Sample ,Down-Sample,Cost-Sensitive,Selective Learning,CRL,LMLE 和CLMLE。整个结果可参考table2.

4.3.3 Effect of Data Imbalanced Level

Figure5中展示了在不均衡数据集上的每个属性的性能表现

图中的解释:横轴表示不均衡的程度,纵轴表示了每种方法的性能表现,随着不均衡比例的增加,不同比率下各种属性分类结果的曲线图,可以参考table2。

4.3.4 Ablation Study

作者说自己提出了DCL框架,包括采样调度(sample scheduler),使用easy anchor设计triplet loss和损失调度(loss scheduler),那这些成分到底起了什么作用?作者做了消融实验,实验结果如表3:

表3结果说明:C1代表采样调度,C2代表使用easy anchors的度量学习,C3代表了损失调度,通过table 3,可以发现随着这三种方法的使用结果是越来越好。

4.3.5 Effect of Scheduler Function Selection

作者对各种调度函数(Scheduler)进行了性能比较:

通过table4的性能比较 ,作者发现cos函数(Convex)的性能最好。

4.4 Experiments on RAP Pedestrian Dataset

4.4.1 Implementation Details

Table6说明作者的方法随着数据不均衡的比例变大,效果最好。

4.4.3 Effect of Data Imbalanced Ratio

作者使用DCL方法,在RAP数据集上进行了不均衡比例的分析。结合table6可以得知DCL方法的优势。

5.Conclusion

(略)

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值