点击上方“CVer”,选择加"星标"置顶
重磅干货,第一时间送达
本文作者:杨朔(悉尼科技大学 博士在读)
https://zhuanlan.zhihu.com/p/344531704
注:本文系原作者投稿,欢迎大家分享工作
介绍一篇我们刚刚发表在ICLR2021 Oral上的一篇少样本学习工作,简单有效。
题目:Free Lunch for Few-shot Learning: Distribution Calibration
论文链接:
https://openreview.net/forum?id=JWOiYxMG92s
项目代码链接:https://github.com/ShuoYang-1998/ICLR2021-Oral_Distribution_Calibration
简介:从极少量样本中学习到泛化性能良好的模型是很困难的,因为极少的样本形成的数据分布往往与真实数据分布相差较大,在偏斜的数据分布上训练模型会导致严重的过拟合现象并严重破坏模型的泛化能力(见图1)。在本文中我们尝试从数据分布估计的角度去缓解少样本学习中的过拟合现象。我们尝试利用一个样本去估计该类别的整体数据分布,如果该分布估计足够准确,也许可以弥合少样本学习和传统多样本学习的差距。
方法:直接从一个样本中估计整体数据分布是非常困难的,需要很强的先验去约束分布估计的过程。我们观察到如果假设每一个类别的特征都服从高斯分布,那么相似类别的分布统计量相似度非常高,如表1。
从直观的角度理解,一个类别的mean代表该类别的general appearance,variance代表该类别某属性的变化范围(颜色、形状、姿势等)。而相似的类别(如猫和老虎)具有相似的整体外观和相似的属性变化范围。受此启发,我们提出了通过迁移基类(base class)的分布统计量的方式对少样本类别的数据分布做‘矫正’(calibration)。具体来说,我们首先为每一个base class i计算一个mean和covariance:
计算好的 和 储存起来当作base class分布先验。然后在进行少样本分类时我们利用base class的分布先验去修正少样本类别的数据分布:
得到修正后的少样本类别的分布 和 后,我们便可以从修正后的分布中直接采样:
然后利用采样得到的数据和support set共同训练分类器:
至此,该算法结束。流程如图:
实验:我们的算法无需任何可训练参数,可以建立在任何已有的特征提取器和分类器之上,并极大的提高模型的泛化能力。代码已开源,核心代码只有9行(evaluate_DC.py中的第10-19行)。我们的方法搭配最简单的线性分类器便可以达到非常高的1-shot分类性能。实验结果如图:
我们分布估计的可视化如图:
总结:在本工作中我们思考了少样本学习和多样本学习的核心差距,并提出通过分布矫正(估计)的方式弥合这种差距。在该工作的后续期刊拓展版本中我们从generalization error bound的角度为‘基于数据分布估计的少样本学习’这一类方法建立了理论框架,并证明了当数据分布足够准确时,少样本学习和多样本学习的泛化误差等价。
CV资源下载
后台回复:CVPR2020,即可下载代码开源的论文合集
后台回复:ECCV2020,即可下载代码开源的论文合集
后台回复:YOLO,即可下载YOLOv4论文和代码
后台回复:Trasnformer综述,即可下载两个最新的视觉Transformer综述PDF,肝起来!
重磅!CVer-细分垂直交流群成立
扫码添加CVer助手,可申请加入CVer-细分垂直方向 微信交流群,也可申请加入CVer大群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、Transformer、PyTorch和TensorFlow等群。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,才能通过且邀请进群
▲长按加微信群
▲长按关注CVer公众号
整理不易,请给CVer点赞和在看!