ICCV 2023 | 从蒸馏到自蒸馏:通用归一化损失与定制软标签
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
AI/CV重磅干货,第一时间送达
作者:美索不达米亚平原 | 已授权转载(源:知乎)编辑:CVer
https://zhuanlan.zhihu.com/p/644157944
文章链接:arxiv.org/abs/2303.13005
代码链接:github.com/yzd-v/cls_KD
一、简介
原生蒸馏使用教师的logits作为软标签,与学生的输出计算蒸馏损失。自蒸馏则试图在缺乏教师模型的条件下,通过设计的额外分支或者特殊的分布来获得软标签,再与学生的输出计算蒸馏损失。二者的差异在于获得软标签的方式不同。
这篇文章旨在,1)改进计算蒸馏损失的方法,使得学生能更好地使用软标签。2)提出一种通用的高效简单的方法获得更好的软标签,用于提升自蒸馏的性能和通用性。针对这两个目标,我们分别提出了Normalized KD(NKD)和Universal Self-Knowledge Distillation (USKD)。
二、方法与细节
1)NKD
用 V 表示label的值,分类任务采用交叉熵作为模型训练的原损失:
原生的蒸馏损失表示为:
2)USKD
根据NKD的公式,我们从target和non-target两个角度来人工设计软标签,以实现自蒸馏。首先针对target部分,教师输出的 Tt 在训练中是稳定的,并且反映了图片的分类难度。而在自蒸馏中,我们能使用的只有学生输出的 St,它在训练前期的值很小,并且不同样本间值的差异较小,此外随着模型的训练, St变化很大。为了使得其向 Tt 接近,我们首先对其进行平方,以扩大样本间的值差异,接着我们提出了一种平滑方法来控制其在不同训练阶段的相对稳定,并获得soft target label,用于计算NKD的第一部分target损失:
针对第二部分soft non-target labels,其组成可以分为不同类别的顺序分布以及值的分布。首先针对顺序,我们提出对CNN模型的第三个stage输出或者ViT模型的中间层token进行分类,用一个小的权重对这个分类进行弱的监督,得到weak logit Wi,再将 Wi 和 Si 归一化后相加,得到的顺序作为最终non-target label的顺序 Ri :
对于值的分布,我们采用了Zipf's LS 的做法,并利用 Ri 进行排序,获得soft non-target labels,用于计算NKD的第二部分non-target损失:
三、实验
我们首先在CIFAR-100和ImageNet上对NKD进行了验证,学生更好地利用了老师的软标签soft labels,获得了更好的表现。
对于自蒸馏,我们也在CIFAR-100和ImageNet上对USKD进行了验证,并测试了自蒸馏所需要的额外训练时间,模型在很少的时间消耗下便获得了可观的提升。
我们的NKD和USKD同时适用于CNN模型与ViT模型,因此我们还在更多模型上进行了验证。
四、代码部分
我们已将代码开源:
https://github.com/yzd-v/cls_KD
开源代码基于MMClassification,我们也在其中放了对应的模型,并且实现了一些其他文章,比如DKD,MGD,SRRL,WSLD,ViTKD,欢迎大家试用。
此外,我们对MMClassification的0.x大版本与1.x大版本进行了蒸馏环境的适配,供大家交流学习。
ICCV / CVPR 2023论文和代码下载
后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集
后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集
目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!
▲扫码进星球
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
微信扫码关注该文公众号作者