前言 

本文提出了一种概念上简单但特别有效的长尾视觉识别的多阶段训练方案,称为蒸馏自监督(Self Supervision to Distillation, SSD)。在三个长尾识别基准:ImageNet-LT、CIFAR100-LT和iNaturist 2018上取得了SOTA结果。在不同的数据集上,SSD比强大的LWS基准性能高出2.7%到4.5%。

本文来自公众号CV技术指南的论文分享系列

关注公众号CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

论文:Self Supervision to Distillation for Long-Tailed Visual Recognition

Backgound


深度学习通过在大规模、平衡和精选的数据集(如ImageNet和Kinetics上训练强大的神经网络,在图像和视频领域的视觉识别方面取得了显著的进展。与这些人工平衡的数据集不同,真实世界的数据总是遵循长尾分布,这使得收集平衡数据集更具挑战性,特别是对于样本稀少的自然类。然而,由于数据分布高度不平衡,直接从长尾数据中学习会导致显著的性能退化

缓解长尾训练数据造成的恶化的一系列常见方法是基于类别重新平衡策略,包括重新采样训练数据和设计成本敏感的重新加权损失函数。这些方法可以有效地减少训练过程中头部类的支配,从而产生更精确的分类决策边界。然而,由于原始数据分布是扭曲的,而过度参数化的深层网络很容易拟合这种合成分布,因此它们经常面临过拟合尾类的风险

图1.真实世界的数据总是遵循长尾数据分布,这是由几个样本丰富的头部类(即蓝色立方体)主导的,但也包含许多数据稀缺的尾类(即绿立方体和黄色立方体),称为原始分布。直接从长尾数据学习可能会导致性能显著下降。处理不平衡问题的一种常见方法是重新采样,即随机地从头类中丢弃图像,并从尾类中重复采样图像(相同的图像用唯一的罗马数字标记),从而产生均匀分布。这种策略可能会导致尾部类过多,而头部类不合适。

为了克服这些问题,最近的工作分离了表示学习和分类器训练的任务。该两阶段训练方案首先学习原始数据分布下的视觉表示,然后在类均衡采样下训练冻结特征的线性分类器。事实证明,这个简单的两阶段训练方案能够处理过度拟合的问题,并在标准的长尾基准上设定了新的SOTA性能。然而,这种两阶段训练方案不能很好地处理不平衡的标签分配问题,特别是在表征学习阶段

创新思路


论文的目标是设计一种新的长尾视觉识别学习范式,以期共享两种长尾识别方法的优点,即对过拟合问题具有较强的鲁棒性,并有效地处理不平衡标签问题。为了达到这一目标,论文的想法是研究如何将标签相关性纳入到一个多阶段的训练方案中。

受到模型压缩中知识蒸馏工作的启发,作者观察到由教师网络产生的软标签能够捕获类之间的内在关系,这可能有助于通过将知识从头部类转移到尾部类来进行长尾识别,如图1所示。因此,软标签为标签建模的多阶段训练策略提供了一种实用的解决方案。

基于上述分析,论文提出了一种概念上简单但特别有效的长尾视觉识别的多阶段训练方案,称为蒸馏自监督(Self Supervision to Distillation, SSD)。

SSD的主要贡献有两个方面:

(1)用于学习有效的长尾识别网络的自蒸馏框架;

(2)自监督引导的蒸馏标签生成模块,为自蒸馏提供更少偏向但更多信息的软标签。

具体地说,首先将多级长尾训练流水线简化在一个简单的自精馏框架内,在该框架中我们能够自然地自动挖掘标签关系,并结合这种固有的标签结构来提高多级训练的泛化性能。

然后,为了进一步提高自精馏框架的健壮性,论文从长尾训练集本身出发,提出了一种自监督的增强精馏标签生成模块。自监督学习能够在没有标签的情况下学习有效的视觉表征,并且可以平等对待每幅图像,从而缓解了标签分布不平衡对软标签生成的影响。

综上所述,论文的主要贡献如下:

  • 提出了一种简单有效的多阶段训练框架(SSD)。在该框架中,通过将软标签建模引入特征学习阶段,共享了再平衡采样和解耦训练策略的优点。

  • 提出了一种自监督引导的软标签生成模块,该模块可以同时从数据域和标签域生成鲁棒的软标签。这些软标签通过从头到尾传递知识来提供有效的信息。

  • SSD在三个具有挑战性的长尾识别基准测试(包括ImageNet-LT、CIFAR100-LT和iNaturist 2018数据集)上实现了SOTA性能。

Methods


蒸馏自监控(SSD)的总体框架如图2所示。SSD由三个步骤组成:(1)自监督引导的特征学习;(2)中间软标签生成;(3)联合训练和自蒸馏。

图2.自监督蒸馏(SSD)框架的管道。

论文首先使用实例平衡抽样同时训练标签监督和自监督下的初始教师网络。

然后,通过类均衡采样细化类决策边界,在视觉表示的基础上训练一个单独的线性分类器。这种新的分类器产生训练样本的软标签,用于自蒸馏。

最后,在前一阶段的软标签和原始训练集中的硬标签的混合监督下训练一个自精馏网络。由于硬标签和软标签在是否偏向头部类的问题上存在语义鸿沟,论文对这两种监督分别采用了两个分类头。

自监督引导的特征学习

在这一阶段,在原始的长尾数据分布下训练网络进行分类任务。分类任务由两部分组成:一是传统的C-Way分类任务,其目的是将图像分类到C语义类别;二是纯粹从数据本身出发的平衡的自监督分类任务。虽然C-way分类任务提供了丰富的语义信息,但它也受到长尾标签的影响。尾部类的样本可能会被数据丰富的类淹没,从而导致表示不足的问题。

因此,论文构造了均衡的自监督分类任务,例如预测图像旋转和实例判别,这些任务在不受标签影响的情况下平等地考虑每幅图像。旋转预测识别{0◦,90◦,180◦,270◦}之间的旋转角度。实例判别将每个图像视为一个单一类别,该类别等同于TON-WAY分类,其中N是训练集中的图像数量。

中间软标签生成

在此阶段,需要在冻结要素之上的类平衡设置下调优分类器,以生成提取的标签。论文选择了可学习权重缩放(LWS)方法,因为它在各种设置下都有良好的性能。它学习重新调整分类器的权重,以避免类头部的倾向。在给定图像的情况下,微调的分类器提供了相对平衡和软的标签,集成了标签驱动和数据驱动的信息,作为下一步自蒸馏的教师监督。

联合训练和自蒸馏

由于表示和分类器是在不同的采样策略下分别训练的,因此整个网络可能不是最优的。然而,在分类器学习阶段对骨干网络进行直接微调会损害泛化能力。相反,论文提出在原有的长尾数据分布下,结合原始标签和平衡提取标签的混合监督,联合训练另一个骨干网络和分类器。

在这个阶段对网络进行初始化,因为以前的表示仍然是相对有偏差的,很难通过微调来摆脱局部极小值。此外,其他自训练论文也发现类似的结论,即从头开始训练学生比由老师初始化学生要好。在学习混合监督后,最终的模型可以获得比教师模型更高的性能,此外,额外的分类器微调步骤是可选的,但建议进一步提高性能(IV-分类器微调)。

通过自我监督增强特征学习

在特征学习的第一阶段,论文选择使用标准监督任务和自监督任务以多任务学习的方式训练骨干网络。由于标签的高度偏见,监督任务可能会忽略数据稀缺类的图像,而自监督任务会平等对待每个样本,而不受长尾标签的影响。形式上,设θ为共享骨干网的参数,ω为监督任务的参数,ω为自监督任务的选择参数。

然后,有标签的输入图像的自监督任务损失函数可表示为L_self(x;θ,ω_Self),L_sup(x,y;θ,ω_sup)表示监督交叉熵损失。这一阶段的总损失如下所示:

选择旋转预测和实例判别作为自监督代理任务。网络可以通过解决这些代理任务来学习正确地表示图像。

旋转预测

预测图像旋转是一种简单而有效的经典的自监督任务。给定一个图像,将其在{0◦,90◦,180◦,270◦}之间随机旋转一个角度,以获得旋转的x‘。这两个图像同时发送到网络。原始图像用于原始的交叉熵损失。选择旋转的x‘来预测旋转度,该旋转度可以表示为一个4向平衡分类问题。在这种情况下,特定参数ω自身被实现为传统的4向线性分类器。

实例判别

在实例判别任务中,将每幅图像看作一个不同的类别,并学习一个非参数分类器对每幅图像进行分类。形式化地称图像的ℓ2-归一化嵌入,v‘i是从具有不同变换的图像副本中提取的ℓ2归一化嵌入。实例判别的损失可能是:

其中τ是温度,K是作为底片样本的其他图像的数量,可以从内存库和当前小批次中检索。论文建立了一个带有特征队列的动量网络,以产生大量的负样本,并利用MLP投影头ω自身将主干输出转换到低维特征空间。

基于自蒸馏的长尾识别

论文用硬标签和软标签来表示训练图像。目标是学习一个嵌入函数F,它编码成特征向量f=F(x;θ),以及两个分类器G_hard和G_soft,特征向量f将被发送到两个线性分类器G_hard和G_soft,以得到输出逻辑z_hard=G_hard(F)和z_sof t=G_soft(F)。z~表示教师模型的输出,则软标签为:

T是默认设置为2的温度。然后,知识蒸馏损失写成:

对于硬标签监督,使用标准交叉熵损失Lce。因此,最终的损失是这两个损失的组合:

Conclusion


在三个长尾识别基准:ImageNet-LT、CIF AR100-LT和iNaturist 2018上取得了SOTA结果。在不同的数据集上,SSD比强大的LWS基准性能高出2.7%到4.5%。

1. ImageNet-LT数据集的TOP-1精度。与以ResNeXt-50为主干的SOTA方法进行比较。

2. 在不平衡因子为100、50和10的CIFAR100-LT数据集上的TOP-1精度。与以ResNet-32为骨干网络的最新方法进行了比较。

 欢迎关注公众号 CV技术指南 ,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读。

在公众号中回复关键字 “入门指南“可获取计算机视觉入门所有必备资料。

其它文章

AAAI2021 | 任意方向目标检测中的动态Anchor学习

ICCV2021 | 用于视觉跟踪的学习时空型transformer

论文的科学写作与哲学

计算机视觉中的传统特征提取方法总结

ICCV2021 | TOOD:任务对齐的单阶段目标检测

Pytorch 数据流中常见Trick总结

计算机视觉中的transformer模型创新思路总结

PNNX: PyTorch 神经网络交换格式

论文创新的常见思路总结|    卷积神经网络压缩方法总结

神经网络超参数的调参方法总结   |数据增强方法总结

Batch Size对神经网络训练的影响|计算机视觉入门路线

论文创新的常见思路总结|    池化技术总结

归一化方法总结       |  欠拟合与过拟合技术总结

注意力机制技术总结   |   特征金字塔技术总结

2021-视频监控中的多目标跟踪综述

一文概括机器视觉常用算法以及常用开发库

统一视角理解目标检测算法:最新进展分析与总结

给模型加入先验知识的常见方法总结|    谈CV领域审稿

全面理解目标检测中的anchor|    实例分割综述总结综合整理版

HOG和SIFT图像特征提取简述|    OpenCV高性能计算基础介绍

目标检测中回归损失函数总结|    Anchor-free目标检测论文汇总

2021年小目标检测最新研究综述    |小目标检测常用方法总结

单阶段实例分割综述|    语义分割综述|    多标签分类概述

视频目标检测与图像目标检测的区别

视频理解综述:动作识别、时序动作定位、视频Embedding

资源分享 | SAHI:超大图片中对小目标检测的切片辅助超推理库

ICCV2021 | 简单有效的长尾视觉识别新方案:蒸馏自监督(SSD)的更多相关文章

  1. 小程序容器技术,App热更新与敏捷开发新方案

    作为追求代码洁癖的软件工程师,我们对"紧耦合"的技术实现可以说是深恶痛绝.要解决当前企业移动端App日益沉重.难以真正迭代.投入产出比低的问题,首先在技术架构上要实现真正的&quo ...

  2. 一种抛弃GPS的中近距离高精度无线同步新方案

    目前,对于需要做同步数据采集的项目,大家不约而同的选用GPS作同步源,用GPS的秒脉冲作同步基准.对于是1000米内的多采集点的应用来说,这是一种浪费. 目前福州慧聚通信技术有限公司推出一款无线同步数 ...

  3. 简单梳理下 Vue3 的新特性

    在 Vue3 测试版刚刚发布的时候,我就学习了下 Composition API,但没想到正式版时隔一年多才出来,看了一下发现还是增加了不少新特性的,在这里我就将它们一一梳理一遍. 本文章只详细阐述 ...

  4. 关于解决asp.net mvc网站页面Banner图片即时更换css里背景图片url相对路径问题的新方案

    最近在网站首页上想将Banner壁纸给做到后台上传随时更改的效果.遇到问题便是:将上传的图片路径动态添加到首页css代码中,结果尝试了网上提供的思路,更改相对路径,换为url中“../../Conte ...

  5. 简单暴力的TP5多主题方案

    一个小项目,需要配置多套前端主题.解决的思路是根据域名加载不同的主题配置. 一.在应用目录 application 下创建 common 目录. 二.application/common 目录下创建 ...

  6. webpack4导入jQuery的新方案

    本文的目的 拒绝全局导入jQuery!! 拒绝script导入jQuery!! 找到一种只在当前js组件中引入jQuery,并且使用webpack切割打包的方案! 测试环境 以下测试在webpack3 ...

  7. webpack系列——webpack3导入jQuery的新方案

    本文的目的 拒绝全局导入jQuery!! 拒绝script导入jQuery!! 找到一种只在当前js组件中引入jQuery,并且使用webpack切割打包的方案! 测试环境 以下测试在webpack3 ...

  8. QGIS源码编译步骤详解——官方新方案

    目录 源码下载 环境下载 Cygwin64 OSGeo4W CMAKE Visual Studio 2017 环境配置 配置 编译   方案详细可见源码文件中INSTALL.md. 源码下载   QG ...

  9. CoordinatorLayout的简单应用(材料设计新控件)

    CoordinatorLayout字面意思为:协调布局,一般作为根布局使用.关于这个布局,记录一下两个用法,备忘. 一.配合 FloatingActionBar 使用 <?xml version ...

随机推荐

  1. k8s网络模型与集群通信

    在k8s中,我们的应用会以pod的形式被调度到各个node节点上,在设计集群如何处理容器之间的网络时是一个不小的挑战,今天我们会从pod(应用)通信来展开关于k8s网络的讨论. 小作文包含如下内容: ...

  2. JSRE中的多任务与多线程

    前言 ​ 这几天在爱智官网看了下JSRE其他的Api,看了一个比较有意思的模块 - 多任务模块task,大致看了下他们的接口说明和案例,感觉和多线程差不多,然后就准备去看下实现方式,找了很久没有找到源 ...

  3. 深入理解Spring IOC源码分析

    Spring容器初始化 本文使用的是Spring 5.1.7版本 写在前面:我们看源码一般有3种方式. 第一种直接用class文件,IDEA会帮我们反编译成看得懂的java代码 第二种是用maven的 ...

  4. 1组-Alpha冲刺-2/6

    一.基本情况 队名:震震带着六菜鸟 组长博客:https://www.cnblogs.com/Klein-Wang/p/15535649.html 小组人数:7人 二.冲刺概况汇报 王业震 过去两天完 ...

  5. N体模拟数据可视化 LightningChart®

    N体模拟数据可视化 LightningChart ​ N体模拟也许是目前最先进的数据可视化类型之一.事实上,我们现在谈论的不再是以商业为中心的传统数据的可视化,现在它甚至超越了比如振动分析等先进数据源 ...

  6. [at4631]Jewels

    如果要选某颜色,必然会选该颜色最大的两个,那么不妨将这两个宝石权值修改为两者的平均数,显然不影响两者的和,也即不影响答案 接下来,将所有宝石按权值从大到小排序,并在权值相同时按颜色编号从小到大(使颜色 ...

  7. List、ArrayList、迭代器、链表、Vector

    1.List接口中的常用方法. List是Collection接口的子接口.所以List接口中有一些特有的方法. void add(int index, Object element) Object ...

  8. 花了30天才肝出来,史上最全面Java设计模式总结,看完再也不会忘

    本文所有内容均节选自<设计模式就该这样学> 序言 Design Patterns: Elements of Reusable Object-Oriented Software(以下简称&l ...

  9. nginx安装与配置3-反向代理两台

    1.nginx 反向代理 两台tomcat 2.8080.8081 启动tomcat 记住每个tomcat都有两个端口不要出现tomcat端口占用情况 3.启动项目访问,不报错可以访问 4.在每个to ...

  10. Atcoder Grand Contest 038 E - Gachapon(Min-Max 容斥+背包)

    Atcoder 题面传送门 & 洛谷题面传送门 我竟然能独立做出 Ag 的 AGC E,incredible!更新了 Atcoder 做题难度上限( 首先按照套路 Min-Max 容斥,\(a ...