【论文速递】CVPR2022 - 检测测器的局部和全局知识蒸馏

简介: 【论文速递】CVPR2022 - 检测测器的局部和全局知识蒸馏

【论文原文】:Focal and Global Knowledge Distillation for Detectors

获取地址:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9879869

博主关键词: 目标检测,知识蒸馏,局部,全局

推荐相关论文:

-无

摘要:


知识蒸馏已成功应用于图像分类。然而,目标检测要复杂得多,大多数知识蒸馏方法都失败了。在本文中,我们指出,在目标检测中,教师和学生的特征在不同领域差异很大,尤其是在前景和背景方面。如果我们将它们平均蒸馏,特征图之间的不均匀差异将对蒸馏产生负面影响。因此,我们提出了局部和全局蒸馏(FGD)。局部蒸馏将前景和背景分开,迫使学生专注于教师的关键像素和通道。全局蒸馏重建不同像素之间的关系,并将其从教师转移到学生,补偿局部蒸馏中缺失的全局信息。由于我们的方法只需要计算特征图上的损耗,FGD可以应用于各种探测器。我们在具有不同骨干的各种探测器上进行实验,结果表明学生检测器实现了出色的mAP改进。例如,基于ResNet-50的RetinaNet,Faster RCNN,RepPoints和Mask RCNN采用我们的蒸馏方法在COCO40上实现了7.42%,0.42%,0.42%和1.2017%的mAP,分别比基线高3.3,3.6,3.4和2.9。我们的代码可在 https://github.com/yzd-v/FGD 获得。

关键词 :目标检测,知识蒸馏,局部,全局。


简介:


最近,深度学习在各个领域取得了巨大的成功[8],[9],[22],[24]。为了获得更好的性能,我们通常使用更大的主干,这需要更多的计算资源和更慢的推理。为了克服这个问题,已经提出了知识蒸馏[11]。知识蒸馏是一种将信息从大型教师网络继承到紧凑的学生网络并在推理期间无需额外成本即可实现强大性能的方法。然而,大多数蒸馏方法[10],[27],[33],[34]是为图像分类而设计的,这导致了物体检测的微不足道的改进。

640.png

Fig. 1. Visualization of the spatial and channel attention map from the teacher detector (RetinaNet-ResNeXt101) and the student detector (RetinaNet-ResNet50).

Table. 1. Comparisons of different distillation areas. fg: foreground. bg: background. split: split the foreground and background and distill them with different weights.

640.png

众所周知,极端的前景-背景类不平衡是目标检测的关键点[17]。不平衡的比例也会损害物体检测的蒸馏。对于这个问题,有一些努力。陈等.[3] 分配权重以抑制背景。Mimick [15] 提炼了学生的区域提案网络提出的积极区域。FGFI [28] 和 TADF [25] 分别使用细粒度和高斯掩膜来选择蒸馏区域。Defeat[7] 分别提炼前景和背景。然而,蒸馏的关键区域在哪里尚不清楚。

为了探索学生和教师特征之间的差异,我们对空间和通道注意力进行了可视化。如图 1 所示,学生的注意力和教师的注意力在前景中的注意力差异相当显著,而在背景中的差异相对较小。这可能会导致学习前景和背景的不同困难。在本文中,我们进一步探讨了知识蒸馏中的前景和背景对目标检测的影响。我们通过分离蒸馏中的前景和背景来设计实验。令人惊讶的是,如表 1 所示,前景和背景一起蒸馏的性能最差,甚至比仅使用前景或背景还要糟糕。这种现象表明,特征图中的不均匀差异会对蒸馏产生负面影响。此外,如图 1 所示,每个通道之间的注意力也有很大不同。再深入思考,不仅前景和背景之间存在负面影响,而且像素和通道之间也存在负面影响。因此,我们建议进行局部蒸馏。在分离前景和背景的同时,局部蒸馏还计算了教师特征中不同像素和通道的注意力,让学生专注于教师的关键像素和通道。

然而,仅仅关注关键信息是不够的。众所周知,全局环境在检测中也起着重要作用。许多关系模块已成功应用于检测,如非局部[29]、GcBlock [2]、关系网络[12],大大提高了探测器的性能。为了弥补局部蒸馏中缺失的全局信息,我们进一步提出了全局蒸馏。在全局蒸馏中,我们利用GcBlock提取不同像素之间的关系,然后从教师到学生进行提取。

正如我们上面分析的,我们提出了局部和全局蒸馏(FGD),结合局部蒸馏和全局蒸馏,如图2所示。所有损失函数仅根据特征计算,因此FGD可以直接用于各种探测器,包括两级模型,基于锚的单级模型和无锚的单级模型。没有花里胡哨的东西,我们使用FGD在物体检测方面实现了最先进的性能。简而言之,本文的贡献是:

  • 我们提出,教师和学生关注的像素和通道是完全不同的。如果我们在不区分像素和通道的情况下提炼它们,这将导致微不足道的改进。
  • 我们提出局部和全局蒸馏,使学生不仅可以关注教师的关键像素和通道,还可以学习像素之间的关系。
  • 我们通过对COCO [18]的广泛实验来验证我们的方法在各种探测器上的有效性,包括单级,两级,无锚方法,实现了最先进的性能。
相关文章
|
缓存 Kubernetes 数据安全/隐私保护
k8s1.18多master节点高可用集群安装-超详细中文官方文档
k8s1.18多master节点高可用集群安装-超详细中文官方文档
|
8月前
|
机器学习/深度学习 存储 算法
强化学习:蒙特卡罗求解最优状态价值函数——手把手教你入门强化学习(五)
本文介绍了强化学习中的蒙特卡罗算法,包括其基本概念、两种估值方法(首次访问蒙特卡罗与每次访问蒙特卡罗)及增量平均优化方式。蒙特卡罗法是一种基于完整回合采样的无模型学习方法,通过统计经验回报的平均值估计状态或动作价值函数。文章详细讲解了算法流程,并指出其初期方差较大、估值不稳定等缺点。最后对比动态规划,说明了蒙特卡罗法在强化学习中的应用价值。适合初学者理解蒙特卡罗算法的核心思想与实现步骤。
434 4
|
机器学习/深度学习 计算机视觉 网络架构
【YOLOv8改进- Backbone主干】YOLOv8 更换主干网络之 PP-LCNet,轻量级CPU卷积神经网络,降低参数量
YOLO目标检测专栏介绍了PP-LCNet,一种基于MKLDNN加速的轻量级CPU网络,提升了模型在多任务中的性能。PP-LCNet利用H-Swish、大核卷积、SE模块和全局平均池化后的全连接层,实现低延迟下的高准确性。代码和预训练模型可在PaddlePaddle的PaddleClas找到。文章提供了网络结构、核心代码及性能提升的详细信息。更多实战案例和YOLO改进见相关链接。
|
缓存 网络协议 算法
TCP的滑动窗口与拥塞控制
【10月更文挑战第7天】这段内容详细介绍了TCP协议中确保数据包可靠传输的机制,包括使用ID确保顺序性与累计确认、发送端与接收端的缓存管理、超时重传策略及自适应重传算法,以及拥塞控制机制如慢启动、拥塞避免和快速重传。
|
Linux 开发工具 开发者
Pygame是一个免费且开源的Python库
【6月更文挑战第12天】Pygame是一个免费且开源的Python库
480 3
|
编解码
Open3D Voxelization 体素化
Open3D Voxelization 体素化
459 1
|
存储 数据处理 数据库
关系数据库:关系模式
关系数据库:关系模式
734 4
|
安全 程序员 数据库
程序员必知:xadmin快速搭建后台管理系统
程序员必知:xadmin快速搭建后台管理系统
452 0
|
数据采集 机器学习/深度学习 存储
性能提升30%!中国电信进一步开源12B星辰大模型TeleChat-12B!魔搭社区最佳实践来啦!
中国电信人工智能研究院开源12B参数规模星辰语义大模型TeleChat-12B,相较1月开源7B版本,内容、性能和应用等方面整体效果提升30%,其中,多轮推理、安全问题等领域提升超40%。在C-eval、MMLU、AGIEVAL等国际权威榜单上,排名处于国内同级别参数开源模型的前列,进一步促进大模型开源生态繁荣,助力AI产业加速高质量发展。另据悉,中国电信人工智能研究院将于年内开源千亿级参数大模型。
|
机器学习/深度学习 自然语言处理 API
使用 Python 集成 ChatGPT API
使用 Python 集成 ChatGPT API
812 1

热门文章

最新文章