目标检测落地必备Trick | 结构化知识蒸馏让RetinaNet再涨4个点

简介: 目标检测落地必备Trick | 结构化知识蒸馏让RetinaNet再涨4个点

知识蒸馏(KD)是深度神经网络中一种众所周知的训练范式,其中由教师模型获得的知识传递给一个学生模型。KD已被证明是一种有效的技术,可以显著提高学生模型在各种任务(包括目标检测)中的表现。因此,KD技术主要依赖于中间特征的指导,这通常通过在训练期间最小化教师和学生模型激活之间的-范数距离来实现。

在本文中提出了一种基于结构相似性(SSIM)的像素独立-范数的替换。通过考虑额外的对比度和结构线索,在损失公式中考虑了特征空间中的特征重要性、相关性和空间相关性。

MSCOCO上的大量实验证明了本文的方法在不同训练方案和架构中的有效性。本文的方法只增加了很少的计算开销,易于实现,同时显著优于标准的-范数。此外,与普通模型相比,使用基于注意力的采样机制比最先进KD方法表现更好,包括使用Faster R-CNN R-50获得+3.5 AP增益。


1、简介


在过去十年中,卷积神经网络(CNNs)已证明是解决基本计算机视觉任务的非常有效的工具。神经网络的一个主要应用包括自动驾驶汽车中的实时感知系统,其中目标检测通常是一项非常重要的任务。然而,将CNNs部署到实时应用程序中会对内存和延迟造成严格限制。另一方面,最先进的检测器的性能提高通常伴随着内存需求和推理时间的增加。因此,网络模型的选择及其相应的检测性能受到严格限制。

已经提出了几种技术来解决这个问题,例如剪枝、权重量化、参数预测和知识蒸馏(KD)。在这项工作中,作者对后者特别感兴趣,因为它提供了一种直观的性能改进方式,而无需对现有网络进行架构修改。

使用KD,在训练期间,由计算昂贵的教师模型获得的知识被迁移到较小的学生模型。KD已被证明在分类、分割等任务中非常有效,特别是最近在目标检测方面取得了长足发展。由于典型目标检测模型的输出空间的复杂性,有必要在中间特征应用KD,因为仅依赖基于输出的KD已被证明是无效的。在基于特征的KD中,除了现有目标之外,还引入了一个训练目标,该目标最小化了教师和学生激活之间的误差,并且是由单个特征激活之间的-范数距离定义的事实标准,如图1a所示。然而,-范数忽略了特征图中存在的3个重要信息:

  1. 特征之间的空间关系
  2. 教师和学生特征之间的相关性
  3. 个体特征的重要性

最近的工作侧重于通过假设对象区域更“knowledge-dense”,通过对特征激活进行采样的机制绕过后一点。然而,正如Guo等人所证明的那样,即使只提取背景特征激活也可以显著提高性能,因此不能假设仅目标区域包含有用的知识。采样机制还引入了额外的缺陷,这些缺陷可能会限制其在现实世界应用中的更广泛实现,例如需要标注数据。

image.png

在这项工作中提出了结构知识蒸馏,其目的是改善与作为KD方法核心驱动因素的-范数相关的缺点,而不是设计更复杂的采样机制。作者的关键见解如图1b所示:

CNN的特征空间可以局部分解为亮度(均值)、对比度(方差)和结构(互相关)分量,这一策略已在SSIM形式的图像领域成功应用。

新的训练目标变成最小化均值和方差的局部差异,并最大化教师和学生激活之间的局部零归一化互相关。这样做可以捕捉教师和学生的特征激活之间的空间关系和相关性中包含的额外知识,而不是直接最小化个体激活的差异。

为了证明方法的有效性,使用各种检测架构和训练方案进行了广泛的实验。总体而言,贡献如下:

  • 提出了结构知识蒸馏,它引入了和变体,以代替目标检测模型中基于特征的KD的-范数。这使得能够捕获学生和教师网络的特征空间中表现为局部均值、方差和互相关关系的额外知识。
  • 通过对特征空间的分析说明本文方法关注的是不同于-范数的区域,因此,仅从目标区域采样是次优的,因为整个特征空间可以包含取决于激活模式的有用知识。
  • 通过在MSCOCO上进行大量实验,证明了在各种训练设置和模型架构下检测精度的一致性定量改进。本文的方法甚至性能相当或优于精心调整的最先进的目标采样机制,并通过仅引入一行代码从根本上实现了这一点。

2、相关工作


2.1、知识蒸馏

KD旨在将大的教师模型获得的知识迁移到较小的学生模型。Buciláa等人(2006)证明,大模型集合所获得的知识可以迁移到单个小模型。Hinton等人(2015)提供了一种应用于DNN的更通用的解决方案,其中他们提高了最终softmax的温度超参,直到大模型产生了一组合适的Softmax目标。计算机视觉领域的大多数KD研究集中于分类任务。然而,由于本文主要兴趣在于实时领域,专注于更相关的目标检测任务。

2.2、目标检测

目标检测是基本的计算机视觉任务之一,其中速度和精度通常是两个关键要求。目标检测器可以分为单阶段和两阶段方法,在这项工作中研究了两种变体的方法。通常,两阶段检测器需要用更高的计算成本获得更高的精度,而单阶段检测器则是更低的推理时间和复杂性,以换取对精度的均衡。然而,这个概念高度依赖于特征提取器和超参数配置的选择,这不是一个简单的过程。单阶段域中的主要元架构是RetinaNet,其扩展包括Anchor-free模块和Reppoints。在两阶段领域中,Faster R-CNN被视为使用最广泛的元架构,其中迭代包括Cascade R-CNN。此外,无论架构如何,ResNet都常用于提取特征,这些特征还使用例如FPN在多个尺度上进行融合。

2.3、面向目标检测的知识蒸馏

已经提出了几种将KD用于目标检测器的方法,其中已经发现,由于检测模型中输出空间的复杂性,通常在中间特征而不是输出上的引导是关键的。由于检测任务需要在不同位置识别多个目标,因此引入的主要复杂性是前景和背景之间的不平衡,这表现在中间特征中。通常,假设目标区域“knowledge-dense”,而背景区域则不那么密集。因此,最近的工作隐含地集中在设计机制上,该机制对目标相关特征进行采样,以从中提取知识。

Li等人(2017)在两阶段检测器中模拟从区域提议中采样的特征。Wang等人(2019)提出了基于标注框定位“knowledge-dense”特征位置的模仿Mask。

Dai等人(2021)提出了一个基于分类分数之间距离的提取模块。类似地,Zhixing等人(2021)使用输出类概率来确定特征目标概率。

最近,Kang等人(2021)提出了一种方法,他们在注意力机制中对实例注释进行编码,以定位“knowledge-dense”区域。

与上述方法相反,Zhang和Ma(2021)提出了一种纯粹基于特征的方法,其目的是模拟注意力图作为采样机制,并进一步通过非局部模块进行提取。无论采用何种取样技术,Guo等人(2021)已经证明,背景特征对蒸馏并不一定不那么重要。

2.4、目标函数

基于特征的KD的目标是在训练期间最小化教师和学生特征空间之间的误差,通常是除了现有目标之外。在基于特征的KD中,最广泛使用的目标函数是-范数,,而不太常见的。然而,-范数忽略了特征之间的空间关系、教师和学生之间的相关性以及个体特征的重要性,其中个体特征是先前工作的主要焦点。

为了考虑空间相关性,需要进一步在局部而不是逐点比较特征。SSIM通过对强度和对比度进行局部比较,而不仅仅是逐点比较,提供了一种考虑空间相关性的优雅方式。它还能够通过整合零归一化互相关来考虑教师和学生之间的关系。与VIF、GMSD和FSIM等替代图像信号质量度量相反,SSIM在数学上不太复杂,并且是可微的,因此适合作为目标函数。


3、本文方法


3.1、概述

从定义基于特征的蒸馏损失的一般形式开始。出于这项工作的目的,将检测器分为3个部分:

  1. Backbone:用于提取特征
  2. Neck:用于融合不同尺度的特征(通常为FPN)
  3. Head:用于生成回归和分类分数

对于基于特征的KD,在Neck的输出处分别从教师和学生中选择中间特征和。T和S之间基于特征的蒸馏损失为:

其中、、、分别为高度、宽度、通道数量和Neck输出数量,为第个输出刻度的元件总数。此外,将定义为将和的值映射到[0,1]的归一化函数,在本文的前提下是最小-最大重新缩放层,而是匹配和维度的可选自适应层,这里为1×1卷积层。

作者还引入了缩短符号,它表示在归一化特征上的单个特征位置,,,处的差异测量函数的选择,并包括自适应层,即。因此,使用和分别表示标准化和适应的学生和标准化教师激活,例如。

3.2、测量差异

正如所确定的,的实际标准选择是-范数。惩罚较大的误差,但对较小的误差更能容忍。另一方面,不会过度惩罚较大的误差,但较小的误差会受到更严厉的惩罚。一般形式的-范数由下式给出:

显然,这样的函数不能捕捉特征之间的空间关系。为了捕获二阶信息,需要涉及至少两个特征位置,因此将问题陈述从逐点比较改为局部patch-wise比较。对于每个这样的patch,提取了3个基本属性:平均值、方差和互相关,它们捕捉了和之间的关系。

作者遵循SSIM,并使用大小为11×11和的高斯加权计算这些量。所提出的SSIM框架比较了每个属性,因此由3个分量组成:亮度、对比度和结构,其定义如下:

其中,、表示平均值,、表示方差,表示patch内的协方差。此外,为了防止不稳定性,,,,其中是特征图的动态范围,,。方程(3)的一个重要性质是,由于分母中的二次项,它更重视和的相对变化。

此外,是和之间的零归一化相关系数的直接测量,因此被公式化为它们的协方差和标准差乘积之间的比率。由于方程式(3)的范围为,将3个组成部分结合起来,可实现以下目标:

其中每个函数可以通过超参()进行调整,默认。

由于本文的方法完全基于特征,与Head或边界框标签的类型无关,因此只需使用加权因子将添加到现有检测目标函数(通常为和)中,从而实现以下总体训练目标:

image.png


4、实验


4.1、 Comparison with -norms

image.png

image.png

image.png

4.2、Influence of Luminance, Contrast and Structure

image.png

image.png

image.png

4.3、Comparison to State-of-the-Art Methods

image.png

4.4、Ablation Studies


5、参考


[1].Structural Knowledge Distillation for Object Detection.

相关文章
|
机器学习/深度学习 人工智能 异构计算
知识蒸馏的基本思路
知识蒸馏(Knowledge Distillation)是一种模型压缩方法,在人工智能领域有广泛应用。目前深度学习模型在训练过程中对硬件资源要求较高,例如采用GPU、TPU等硬件进行训练加速。但在模型部署阶段,对于复杂的深度学习模型,要想达到较快的推理速度,部署的硬件成本很高,在边缘终端上特别明显。而知识蒸馏利用较复杂的预训练教师模型,指导轻量级的学生模型训练,将教师模型的知识传递给学生网络,实现模型压缩,减少对部署平台的硬件要求,可提高模型的推理速度。
981 0
|
自然语言处理 算法 数据挖掘
自蒸馏:一种简单高效的优化方式
背景知识蒸馏(knowledge distillation)指的是将预训练好的教师模型的知识通过蒸馏的方式迁移至学生模型,一般来说,教师模型会比学生模型网络容量更大,模型结构更复杂。对于学生而言,主要增益信息来自于更强的模型产出的带有更多可信信息的soft_label。例如下右图中,两个“2”对应的hard_label都是一样的,即0-9分类中,仅“2”类别对应概率为1.0,而soft_label
自蒸馏:一种简单高效的优化方式
|
机器学习/深度学习 数据挖掘 PyTorch
视觉神经网络模型优秀开源工作:PyTorch Image Models(timm)库(上)
视觉神经网络模型优秀开源工作:PyTorch Image Models(timm)库(上)
|
机器学习/深度学习 算法 数据可视化
【从零开始学习深度学习】46. 目标检测中锚框的概念、计算方法、样本锚框标注方式及如何选取预测边界框
【从零开始学习深度学习】46. 目标检测中锚框的概念、计算方法、样本锚框标注方式及如何选取预测边界框
|
机器学习/深度学习 自然语言处理 并行计算
【YOLOv8改进 -注意力机制】Mamba之MLLAttention :基于Mamba和线性注意力Transformer的模型
YOLOv8专栏探讨了该目标检测模型的创新改进,包括使用Mamba模型的线性注意力Transformer变体,称为MLLA。Mamba的成功关键在于遗忘门和块设计,MLLA结合了这些优点,提升了视觉任务的性能。文章提供全面分析,并提出MLLA模型,其在效率和准确性上超过多种视觉模型。论文和代码可在提供的链接中找到。MLLA Block的代码示例展示了如何整合关键组件以实现高效运算。更多配置详情见相关链接。
|
机器学习/深度学习 文件存储 算法框架/工具
【YOLOv8改进- Backbone主干】2024最新轻量化网络MobileNetV4替换YoloV8的BackBone
YOLO目标检测专栏聚焦于模型的改进和实战应用,介绍了MobileNetV4,它在移动设备上优化了架构。文章提到了UIB(通用反向瓶颈)模块,结合了多种结构,增强了特征提取;Mobile MQA是专为移动平台设计的注意力层,提升了速度;优化的NAS提升了搜索效率。通过这些创新,MNv4在不同硬件上实现了性能和效率的平衡,且通过蒸馏技术提高了准确性。模型在Pixel 8 EdgeTPU上达到87%的ImageNet-1K准确率,延迟仅为3.8ms。论文、PyTorch和TensorFlow实现代码链接也已提供。
|
人工智能 计算机视觉
字节豆包、武大提出 CAL:通过视觉相关的 token 增强多模态对齐效果
【6月更文挑战第25天】字节跳动AI实验室与武汉大学合作提出CAL方法,通过引入视觉token强化多模态对齐,提升视觉-语言预训练模型的性能。CAL包含视觉特征提取、token生成及多模态对齐三步,实验显示它在COCO Captions和Flickr30k等数据集上取得显著提升。然而,CAL计算成本高且依赖于图像编码器质量,未来将探索扩展至更多模态。[论文链接](https://arxiv.org/pdf/2405.17871)
393 8
|
存储 机器学习/深度学习 人工智能
未来已来:AI技术的最新趋势与前沿探索
【7月更文第20天】在这个日新月异的时代,人工智能(AI)已经从科幻概念逐渐深入到我们日常生活的方方面面,其发展速度之快超乎想象。从基础的语音识别、图像分析到复杂的决策制定、自动驾驶,AI技术正以前所未有的力量推动着社会进步。本文将带您一同展望AI技术的未来发展方向,深入探讨量子计算、生物计算等新兴领域的前沿探索,以及它们如何重新定义AI的边界。
776 0
|
测试技术 计算机视觉
【YOLOv8性能对比试验】YOLOv8n/s/m/l/x不同模型尺寸大小的实验结果对比及结论参考
【YOLOv8性能对比试验】YOLOv8n/s/m/l/x不同模型尺寸大小的实验结果对比及结论参考
|
SQL DataWorks 数据库连接
DataWorks操作报错合集之在 DataWorks 中,尝试访问数据源时遇到“没有权限”的错误,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
335 0