Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >“烘焙”ImageNet:自蒸馏下的知识整合

“烘焙”ImageNet:自蒸馏下的知识整合

作者头像
CV君
发布于 2021-06-08 14:10:43
发布于 2021-06-08 14:10:43
8310
举报

本文为作者投稿,作者:葛艺潇 https://zhuanlan.zhihu.com/p/370955825

最先进的知识蒸馏算法发现整合多个模型可以生成更准确的训练监督,但需要以额外的模型参数及明显增加的计算成本为代价。为此,我们提出了一种新颖的“烘焙”算法,有效整合同批次内不同样本间的知识以优化软标签,仅需一个网络即可实现知识整合。

“烘焙”在任意网络架构的训练中即插即用,以最少的时间成本实现有效的大幅性能提升,我们在ImageNet及其他多个常见的图像分类基准下进行了算法验证。

  • 论文链接:https://arxiv.orga/abs/2104.13298
  • 代码链接:https://github.com/yxgeee/BAKE
  • 项目主页:https://geyixiao.com/projects/bake

01

简介

图像分类是计算机视觉最基本的任务之一,为众多下游视觉任务提供了有效的预训练模型。深度学习时代以来,有大量的算法致力于提升图像分类的性能,尤其是在最流行的ImageNet基准上。近期一些研究指出,不够完善的人为标注成为了阻碍监督训练的分类模型性能进一步提升的关键问题。具体来说,人为标注的单标签(一图一类)无法准确描述图像中的丰富内容。

为此,许多研究者提出利用知识蒸馏(Knowledge Distillation)算法可以自动生成“软性”多标签作为有效的训练监督,弥补单标签系统所带来的缺陷。

最先进的算法发现,整合多个教师(下图a)或学生模型(下图b)的预测可以生成更鲁棒的训练监督,进一步提升模型的性能,我们将这类算法称之为整合蒸馏(Ensemble Distillation)算法 [1,2,3]。虽然这类算法取得了最先进的性能,但他们依赖于额外的网络模型或参数,无疑大大增加了训练时计算和显存的成本。

(a) 多教师模型的知识整合;(b) 多学生模型的知识整合;(c) BAKE: 批次内样本间的知识整合

在该论文中,我们提出了一种新颖的“烘焙”(BAKE)训练机制(上图c),整合批次内不同样本间的知识在线优化蒸馏目标,即,将同一批次中样本知识进行加权传播和汇总,而无需多个网络。

BAKE首次实现在自蒸馏框架下的知识整合,以最少的训练时间开销和零额外网络参数为代价,持续有效地提高了各种网络架构和数据集的分类性能。例如,使用BAKE训练的ResNet-50在ImageNet上的top-1分类准确率显著提升1.2%,而相比基线模型训练所增加的计算开销仅为3.7%。

除了上述知识蒸馏系列算法之外,还有一类研究被称之标签精炼(Label Refinery)算法 [4]。他们往往利用一个预训练标注器为ImageNet进行重新标注,该标注器一般为在更大规模的数据集上训练的较深的网络模型,这不仅需要增加额外的模型,还依赖于额外的超大规模数据集和更多的训练资源,在实际应用中不够灵活。

本文所提出的BAKE算法与已有的自蒸馏、整合蒸馏、标签精炼算法的主要区别

02

方法

传统整合蒸馏算法[1,2,3]往往整合的是多个网络模型对于单个样本的预测,与之不同的是,BAKE整合单网络模型对于批次内多样本的预测。直观地来看,视觉上相似的样本应当具有近似的预测

基于该假设,BAKE依据同批次内其他样本对锚样本的相似度,进行知识的加权传播和汇总,以形成准确的软标签,作为蒸馏训练的监督(见下图)。

BAKE训练框架

样本间的知识传播基于不同样本与锚样本之间的相似性,所以首先需要计算一个亲和度矩阵

,也就是计算图像编码器(encoder)输出的特征

之间的距离。亲和度矩阵需要去除对角线

,也就是同一样本的相似度,并在每行进行softmax归一化,使得每一行的和为1,即

基于亲和度矩阵

,可以对除锚样本之外的其他样本的预测进行加权传播,

。并与锚样本本身的预测概率进行加权和,从而获得软标签作为蒸馏目标

。至此,对批次内样本间知识进行了一次传播,并获得了一次传播后的软标签。

往往基于亲和度矩阵对样本预测做多次传播可以获得更鲁棒准确的软标签,

。我们利用近似预测对传播无限次后的软标签进行了估计

。基于上述知识整合后的软标签

,可以使用KL散度损失函数进行蒸馏训练。

03

实现

训练的伪代码如下,具体实现请参阅GitHub repo

04

实验

BAKE以最小的计算开销改进了多种网络架构的训练,并且无需额外的网络辅助。下图汇报了在ImageNet上的top-1分类准确率

BAKE在ImageNet上的性能, “Vanilla”表示使用常规交叉熵损失的基准训练

BAKE不光有效提升了基准模型的训练,也超越了所有单网络下最先进的训练机制,见下图

单网络模型训练算法的对比

我们也对BAKE所生成的软标签进行了可视化,如下图,其中每列的四个样本来自于同一批次,请注意,为了简洁,这里只对top-3的类别进行了展示。

BAKE所生成的软标签示例

我们还检验了利用BAKE训练的分类模型在下游任务中的表现,观察到BAKE所训练的模型在目标检测和实例分割中均可获得稳定的性能提升

BAKE训练的模型在下游任务中的性能

更多性能分析、鲁棒性测试、消融研究结果请参阅原论文。

05

总结和思考

BAKE是一个非常简洁轻量的算法,无需任何额外的辅助网络就可以生成鲁棒的软标签。BAKE为知识蒸馏中的知识整合提供了一个全新的思路,打破了固有的多模型整合的样式,创新地提出并尝试了样本间的知识整合。

目前我们只在最传统的监督分类训练中验证了BAKE,但BAKE的潜力应远不止此,我们后续也会继续在更多的任务中验证BAKE的思想,也欢迎大家在自己的训练任务中尝试加入此类样本间知识整合思想。

参考文献

[1] Zhiqiang Shen, Zhankui He, and Xiangyang Xue. Meal: Multi-model ensemble via adversarial learning. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 33, pages 4886–4893, 2019. [2] Yonglong Tian, Dilip Krishnan, and Phillip Isola. Contrastive representation distillation. In International Conference on Learning Representations, 2020. [3] Qiushan Guo, Xinjiang Wang, Yichao Wu, Zhipeng Yu, Ding Liang, Xiaolin Hu, and Ping Luo. Online knowledge distillation via collaborative learning. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 11020–11029, 2020. [4] Sangdoo Yun, Seong Joon Oh, Byeongho Heo, Dongyoon Han, Junsuk Choe, and Sanghyuk Chun. Re-labeling imagenet: from single to multi-labels, from global to localized labels. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2021.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
知识蒸馏系列(二):知识蒸馏的迁移学习应用
知识蒸馏系列文章继续更新啦!在上一篇文章中,我们介绍了三类基础知识蒸馏算法,今天我们一起来学习知识蒸馏的迁移学习应用。
OpenMMLab 官方账号
2022/12/30
1.4K0
知识蒸馏系列(二):知识蒸馏的迁移学习应用
CVPR 2022 | 这个自蒸馏新框架新SOTA,降低了训练成本,无需修改网络
机器之心专栏 机器之心编辑部 OPPO 研究院联合上海交通大学提出的新的自蒸馏框架DLB,无需额外的网络架构修改,对标签噪声具有鲁棒性,并可大幅节约训练的空间复杂度,在三个基准数据集的实验中达到了 SOTA 性能。 深度学习促进人工智能(AI)领域不断发展,实现了许多技术突破。与此同时,如何在有限硬件资源下挖掘模型潜能、提升部署模型的准确率成为了学界和业界的研究热点。其中,知识蒸馏作为一种模型压缩和增强的方法, 将泛化能力更强的「大网络模型」蕴含的知识「蒸馏」到「小网络模型」上,来提高小模型精度,广泛地应
机器之心
2022/04/08
1.2K0
CVPR 2022 | 这个自蒸馏新框架新SOTA,降低了训练成本,无需修改网络
关于知识蒸馏,你一定要了解的三类基础算法
知识蒸馏(Knowledge Distillation,简记为 KD)是一种经典的模型压缩方法,核心思想是通过引导轻量化的学生模型“模仿”性能更好、结构更复杂的教师模型(或多模型的 ensemble),在不改变学生模型结构的情况下提高其性能。
OpenMMLab 官方账号
2022/12/30
2.7K0
关于知识蒸馏,你一定要了解的三类基础算法
【AI系统】知识蒸馏原理
本文将介绍知识蒸馏(Knowledge Distillation, KD)的原理,这是一种通过从大型的教师模型向小型的学生模型转移知识来实现模型压缩和优化的技术。知识蒸馏的核心思想是利用教师模型在大量数据上积累的丰富知识,通过特定的蒸馏算法,使学生模型能够学习并吸收这些知识,从而达到与教师模型相似的性能。
用户11307734
2024/12/05
2950
ECCV 2020 | 自监督任务辅助的知识蒸馏
本文介绍了一种利用自监督任务辅助知识蒸馏的方法:Knowledge Distillation Meets Self-Supervision [1]. 这篇文章(以下简称SSKD)来自香港中文大学和南洋理工大学,被ECCV 2020接收。
CV君
2020/07/17
1.6K0
ECCV 2020 | 自监督任务辅助的知识蒸馏
知识蒸馏(Knowledge Distillation)
本文主要罗列与知识蒸馏相关的一些算法与应用。但首先需要明确的是,教师网络或给定的预训练模型中包含哪些可迁移的知识?基于常见的深度学习任务,可迁移知识列举为:
全栈程序员站长
2022/07/01
2.9K0
知识蒸馏(Knowledge Distillation)
标签正则:标签平滑、标签蒸馏和自纠正的异曲同工之妙
正则化主要包括标签正则、数据正则、参数正则等,可以限制网络权重过大、层数过多,避免模型过于复杂,是解决过拟合问题的重要方法。标签正则通过某种方式构建soft label,用于模型学习,以缓解hard label的诸多问题,提升模型的泛化能力。
枫桦
2022/08/02
8950
标签正则:标签平滑、标签蒸馏和自纠正的异曲同工之妙
常用模型蒸馏方法:这 N 个核心,你都知道吗?(上)
Hello folks,我是 Luga,今天我们来聊一下人工智能应用场景 - 构建高效、灵活、健壮的模型技术体系。
Luga Lee
2025/05/13
680
常用模型蒸馏方法:这 N 个核心,你都知道吗?(上)
ECCV 2022 | MixSKD: 用于图像识别的Mixup自蒸馏方法
来源:PaperWeekly 本文约1800字,建议阅读5分钟 本篇文章介绍一下我们于 ECCV-2022 发表的一篇模型自蒸馏文章。 传统的知识蒸馏(Knowledge Distillation,KD)需要一个预训练的教师模型来训练一个学生模型,这种模式的缺点是需要设计并训练额外的教师网络,并且两阶段的训练过程提升了流水线开销。自网络知识蒸馏(Self-Knowledge Distillation,Self-KD),顾名思义,则是不依赖额外的教师网络进行指导,利用网络自身的知识来指导自身的学习,从而实现自
数据派THU
2023/02/23
5340
ECCV 2022 | MixSKD: 用于图像识别的Mixup自蒸馏方法
深度学习知识蒸馏的研究综述
【导读】大家好,我是泳鱼。知识蒸馏用大白话说就是将一个大神经网络模型的知识转移到另外一个小模型上面,得到一个“小而美”的模型。本文就近些年来知识蒸馏的主要研究成果进行梳理并加以总结,分析该领域所面临的挑战,详细阐述知识蒸馏的学习框架,从多种分类角度对知识蒸馏的相关工作进行对比和分析,文末附相关论文下载。
算法进阶
2023/09/25
2.5K0
深度学习知识蒸馏的研究综述
知识蒸馏相关技术【模型蒸馏、数据蒸馏】以ERNIE-Tiny为例
基于ERNIE预训练模型效果上达到业界领先,但是由于模型比较大,预测性能可能无法满足上线需求。
汀丶人工智能
2022/11/14
1.5K0
「知识蒸馏」最新2022研究综述
每天给你送来NLP技术干货! ---- 来自:专知 华南师范大学等《知识蒸馏》最新综述论文 高性能的深度学习网络通常是计算型和参数密集型的,难以应用于资源受限的边缘设备. 为了能够在低 资源设备上运行深度学习模型,需要研发高效的小规模网络. 知识蒸馏是获取高效小规模网络的一种新兴方法, 其主要思想是将学习能力强的复杂教师模型中的“知识”迁移到简单的学生模型中. 同时,它通过神经网络的互 学习、自学习等优化策略和无标签、跨模态等数据资源对模型的性能增强也具有显著的效果. 基于在模型压缩和 模型增强上的优越特
zenRRan
2022/03/24
3K0
ECCV 2022 | CMU提出首个快速知识蒸馏的视觉框架:ResNet50 80.1%精度,训练加速30%
点击上方↑↑↑“OpenCV学堂”关注我来源:公众号 机器之心 授权 今天介绍一篇来自卡耐基梅隆大学等单位 ECCV 2022 的一篇关于快速知识蒸馏的文章,用基本的训练参数配置就可以把 ResNet-50 在 ImageNet-1K 从头开始 (from scratch) 训练到 80.1% (不使用 mixup,cutmix 等数据增强),训练速度(尤其是数据读取开销)相比传统分类框架节省 16% 以上,比之前 SOTA 算法快 30% 以上,是目前精度和速度双双最优的知识蒸馏策略之一,代码和模型已全部
OpenCV学堂
2022/08/31
2410
ECCV 2022 | CMU提出首个快速知识蒸馏的视觉框架:ResNet50 80.1%精度,训练加速30%
【AI不惑境】模型压缩中知识蒸馏技术原理及其发展现状和展望
进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程,那么到这个阶段,应该跃过了模仿和追随的阶段,进入了创造的阶段。从这个境界开始,讲述的问题可能不再有答案,更多的是激发大家一起来思考。
用户1508658
2020/06/01
1.8K0
ECCV 2022 | 首个快速知识蒸馏的视觉框架:ResNet50 80.1%精度,训练加速30%
关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文和项目网址:http://zhiqiangshen.com/projects/FKD/index.html 代码:https://github.com/szq0214/FKD 计算机视觉研究院专栏 作者:Edison_G 今天介绍一篇来自卡耐基梅隆大学等单位 ECCV 2022 的一篇关于快速知识蒸馏的文章,用基本的训练参数配置就可以把 ResNet-50 在 ImageN
计算机视觉研究院
2022/09/06
6350
ECCV 2022 | 首个快速知识蒸馏的视觉框架:ResNet50 80.1%精度,训练加速30%
万字综述 | 一文读懂知识蒸馏
近年来,深度神经网络在工业界和学术界都取得了成功,尤其是在计算机视觉任务方面。深度学习的巨大成功主要归因于其可扩展性以编码大规模数据并操纵数十亿个模型参数。但是,将这些繁琐的深度模型部署在资源有限的设备(例如,移动电话和嵌入式设备)上是一个挑战,这不仅是因为计算复杂性高,而且还有庞大的存储需求。为此,已经开发了多种模型压缩和加速技术。作为模型压缩和加速的代表类型,知识蒸馏有效地从大型教师模型中学习小型学生模型。它已迅速受到业界的关注。本文从知识类别,训练框架,师生架构,蒸馏算法,性能比较和应用的角度对知识蒸馏进行了全面的调查。此外,简要概述了知识蒸馏中的挑战,并讨论和转发了对未来研究的评论。
AI异构
2020/12/22
16.4K0
机器学习:知识蒸馏(Knowledge Distillation,KD)
知识蒸馏(Knowledge Distillation,KD)作为深度学习领域中的一种模型压缩技术,主要用于将大规模、复杂的神经网络模型(即教师模型)压缩为较小的、轻量化的模型(即学生模型)。在实际应用中,这种方法有助于减少模型的计算成本和内存占用,同时保持相对较高的性能和准确率。本文将详细介绍知识蒸馏的原理、C++实现代码、以及其在实际项目中的应用。
用户11289931
2024/10/16
6.2K0
机器学习:知识蒸馏(Knowledge Distillation,KD)
CVPR 2022|解耦知识蒸馏,让Hinton在7年前提出的方法重回SOTA行列
机器之心专栏 旷视科技等 与主流的feature蒸馏方法不同,本研究将重心放回到logits蒸馏上,提出了一种新的方法「解耦知识蒸馏」,重新达到了SOTA结果,为保证复现该研究还提供了开源的蒸馏代码库:MDistiller。 1 研究摘要 近年来顶会的 SOTA 蒸馏方法多基于 CNN 的中间层特征,而基于输出 logits 的方法被严重忽视了。饮水思源,本文中来自旷视科技 (Megvii)、早稻田大学、清华大学的研究者将研究重心放回到 logits 蒸馏上,对 7 年前 Hinton 提出的知识蒸馏方法
机器之心
2022/04/11
6320
CVPR 2022|解耦知识蒸馏,让Hinton在7年前提出的方法重回SOTA行列
联邦知识蒸馏概述与思考(续)
前文(【科普】联邦知识蒸馏概述与思考)提到知识蒸馏是一种模型压缩方法,通过利用复杂模型(Teacher Model)强大的表征学习能力帮助简单模型(Student Model)进行训练,主要分为两个步骤:
CV君
2022/04/18
1.4K0
联邦知识蒸馏概述与思考(续)
不平衡问题: 深度神经网络训练之殇
很早之前就对动态权重比较感兴趣,最开始接触动态权重,是17年师兄师姐的一篇论文[1]。动态权重,或者称为自适应权重,可以广泛应用于多场景、多模态、多国家、多任务、多标签等各种任务的不平衡学习中。出于完整性,本文先对不平衡问题进行总结。
枫桦
2022/08/02
1.8K0
不平衡问题: 深度神经网络训练之殇
推荐阅读
相关推荐
知识蒸馏系列(二):知识蒸馏的迁移学习应用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档