0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

南开/南理工/旷视提出CTKD:动态温度超参蒸馏新方法

CVer 来源:CVer 2023-01-04 14:49 次阅读

论文题目:Curriculum Temperature for Knowledge Distillation

论文(AAAI 2023):https://arxiv.org/abs/2211.16231

开源代码(欢迎star):

https://github.com/zhengli97/CTKD

一句话概括:

相对于静态温度超参蒸馏,本文提出了简单且高效的动态温度超参蒸馏新方法。

背景问题:

目前已有的蒸馏方法中,都会采用带有温度超参的KL Divergence Loss进行计算,从而在教师模型和学生模型之间进行蒸馏,公式如下:

b079a2b8-8bf0-11ed-bfe3-dac502259ad0.png

b083b3c0-8bf0-11ed-bfe3-dac502259ad0.png

而现有工作普遍的方式都是采用固定的温度超参,一般会设定成4。

方法 FitNet
(ICLR 15')
AT
(ICLR 17')
SP
(ICCV 19')
Snapshot
(CVPR 19')
SSKD
(ECCV 20')
FRSKD
(CVPR 21')
τ的设定 3 4 4 2 or 3 4 4

那么这就带来了两个问题:

1. 不同的教师学生模型在KD过程中最优超参不一定是4。如果要找到这个最佳超参,需要进行暴力搜索,会带来大量的计算,整个过程非常低效。

2. 一直保持静态固定的温度超参对学生模型来说不是最优的。基于课程学习的思想,人类在学习过程中都是由简单到困难的学习知识。那么在蒸馏的过程中,我们也会希望模型一开始蒸馏是让学生容易学习的,然后难度再增加。难度是一直动态变化的。

于是一个自然而然的想法就冒了出来:

在蒸馏任务里,能不能让网络自己学习一个适合的动态温度超参进行蒸馏,并且参考课程学习,形成一个蒸馏难度由易到难的情况?

于是我们就提出了CTKD来实现这个想法。

方法:

既然温度超参τ可以在蒸馏里决定两个分布之间的KL Divergence,进而影响模型的学习,那我们就可以通过让网络自动学习一个合适的τ来达到以上的目的。

于是以上具体问题就直接可以转化成以下的核心思想:

在蒸馏过程里,学生网络被训练去最小化KL loss的情况下,τ作为一个可学习的参数,要被训练去最大化KL loss,从而发挥对抗(Adversarial)的作用,增加训练的难度。随着训练的进行,对抗的作用要不断增加,达到课程学习的效果。

以上的实现可以直接利用一个非常简单的操作:利用梯度反向层GRL (Gradient Reversal Layer )来去反向可学习超参τ的梯度,就可以非常直接达到对抗的效果,同时随着训练的进行,不断增加反向梯度的权重λ,进而增加学习的难度。

CTKD的论文的结构图如下:

b08e0366-8bf0-11ed-bfe3-dac502259ad0.jpg

Fig.1 CTKD网络结构图

CTKD方法可以简单分为左右两个部分:

对抗温度超参τ的学习部分。

这里只包含两个小模块,一个是梯度反向层GRL,用于反向经过温度超参τ的梯度,另一个是可学习超参温度τ。

其中对于温度超参τ,有两种实现方式,第一种是全局方案 (Global Temperature),只会产生一个τ,代码实现非常简单,就一句话:

self.global_T = nn.Parameter(torch.ones(1), requires_grad=True)

第二种是实例级别方案(Instance-wise Temperature),即对每个单独的样本都产生一个τ。代码实现也很简单,就是两层conv组成的MLP。

b096e724-8bf0-11ed-bfe3-dac502259ad0.jpg

Fig.2 两种不同的可学习温度超参实现。

2. 难度逐渐增加的课程学习部分。

随着训练的进行,不断增加GRL的权重λ,达到增加学习难度的效果。

在论文的实现里,我们直接采用Cos的方式,让反向权重λ从0增加到1。

以上就是CTKD的全部实现,非常的简单有效。

CTKD总共包含两个模块,GRL和温度生成模块,都非常的轻量化,

CTKD方法可以作为即插即用的插件应用在现有的SOTA的蒸馏方法中,取得广泛的提升。

实验结果

三个数据集:CIFAR-100,ImageNet和MS-COCO。

CIFAR-100上,CTKD的实验结果:

b09f4a9a-8bf0-11ed-bfe3-dac502259ad0.jpg

作为一个即插即用的插件,应用在已有的SOTA方法上:

b0a90f26-8bf0-11ed-bfe3-dac502259ad0.jpg

在ImageNet上的实验:

b0b54994-8bf0-11ed-bfe3-dac502259ad0.jpg

在MS-COCO的detection实验上:

b0bf62ee-8bf0-11ed-bfe3-dac502259ad0.jpg

温度超参的整体学习过程可视化:

b0ca1252-8bf0-11ed-bfe3-dac502259ad0.jpg

由以上图可以看到,CTKD整体的动态学习τ的过程。

将CTKD应用在多种现有的蒸馏方案上,可以取得广泛的提升效果。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模型
    +关注

    关注

    1

    文章

    2730

    浏览量

    47781
  • 代码
    +关注

    关注

    30

    文章

    4562

    浏览量

    66948

原文标题:AAAI 2023 | 南开/南理工/旷视提出CTKD:动态温度超参蒸馏新方法

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    轧机牌坊滑板压亏修复的新方法

    电子发烧友网站提供《轧机牌坊滑板压亏修复的新方法.docx》资料免费下载
    发表于 03-14 16:16 0次下载

    氢压机轴承位磨损维修的新方法

    电子发烧友网站提供《氢压机轴承位磨损维修的新方法.docx》资料免费下载
    发表于 03-01 16:23 0次下载

    工程结构振弦采集仪的新技术与新方法研究

    工程结构振弦采集仪的新技术与新方法研究 工程结构振弦采集仪的新技术与新方法研究旨在提高采集仪在工程结构振动监测中的性能和可靠性。以下是一些可能的研究方向: 1.传感器技术改进:研究新型传感器技术
    的头像 发表于 12-20 13:36 160次阅读
    工程结构振弦采集仪的新技术与<b class='flag-5'>新方法</b>研究

    imec提出以亚微米像素尺寸分离颜色的新方法赋能CMOS图像传感器

    据麦姆斯咨询报道,近期,在美国加利福尼亚州旧金山举行的国际电子器件会议(IEEE IEDM 2023)上,比利时纳米电子学和数字技术研究与创新中心imec展示了一种“在300mm晶圆上使用标准后端制造工艺来实现以亚微米像素尺寸分离颜色”新方法
    的头像 发表于 12-19 16:13 322次阅读
    imec<b class='flag-5'>提出</b>以亚微米像素尺寸分离颜色的<b class='flag-5'>新方法</b>赋能CMOS图像传感器

    一种产生激光脉冲新方法

    等离子体中脉冲压缩的概念 英国和韩国的科学家提出了一种产生激光脉冲的新方法,其功率是现有激光脉冲的1000多倍。 科学家们使用计算机模拟联合研究,展示了一种压缩光的新方法,以充分提高光的强度,从真空
    的头像 发表于 12-07 06:32 251次阅读
    一种产生激光脉冲<b class='flag-5'>新方法</b>

    IC封装中快速创建结构的新方法

    IC封装中快速创建结构的新方法
    的头像 发表于 12-06 16:34 260次阅读
    IC封装中快速创建结构的<b class='flag-5'>新方法</b>

    应对传统摩尔定律微缩挑战需要芯片布线和集成的新方法

    应对传统摩尔定律微缩挑战需要芯片布线和集成的新方法
    的头像 发表于 12-05 15:32 337次阅读
    应对传统摩尔定律微缩挑战需要芯片布线和集成的<b class='flag-5'>新方法</b>

    基于PMSM 控制系统仿真建模的新方法

    电子发烧友网站提供《基于PMSM 控制系统仿真建模的新方法.pdf》资料免费下载
    发表于 11-29 11:22 0次下载
    基于PMSM 控制系统仿真建模的<b class='flag-5'>新方法</b>

    一种产生激光脉冲的新方法

    英国和韩国的科学家提出了一种产生激光脉冲的新方法,其功率是现有激光脉冲的1000多倍。
    的头像 发表于 11-20 16:56 273次阅读
    一种产生激光脉冲的<b class='flag-5'>新方法</b>

    VLSI系统设计的最新方法

    电子发烧友网站提供《VLSI系统设计的最新方法.pdf》资料免费下载
    发表于 11-20 11:10 0次下载
    VLSI系统设计的最<b class='flag-5'>新方法</b>

    任意模型都能蒸馏!华为诺亚提出异构模型的知识蒸馏方法

    相比于仅使用logits的蒸馏方法,同步使用模型中间层特征进行蒸馏方法通常能取得更好的性能。然而在异构模型的情况下,由于不同架构模型对特征的不同学习偏好,它们的中间层特征往往具有较大
    的头像 发表于 11-01 16:18 552次阅读
    任意模型都能<b class='flag-5'>蒸馏</b>!华为诺亚<b class='flag-5'>提出</b>异构模型的知识<b class='flag-5'>蒸馏</b><b class='flag-5'>方法</b>

    一种改善微波模块增益指标温度特性的新方法

    电子发烧友网站提供《一种改善微波模块增益指标温度特性的新方法.pdf》资料免费下载
    发表于 10-25 10:05 0次下载
    一种改善微波模块增益指标<b class='flag-5'>温度</b>特性的<b class='flag-5'>新方法</b>

    USBブート用ドライバ誤認識後のドライバ更新方法

    USBブート用ドライバ誤認識後のドライバ更新方法
    发表于 07-11 20:20 0次下载
    USBブート用ドライバ誤認識後のドライバ更<b class='flag-5'>新方法</b>

    基于深度学习的三维点云配准新方法

    一、摘要 本文介绍了一种基于深度学习的三维点云配准新方法。该架构由三个部分组成: (1)编码器由基于卷积图的描述符组成,该描述符对每个点的近邻进行编码,并采用注意机制对表面法线的变化进行编码,突出
    的头像 发表于 06-17 09:54 933次阅读
    基于深度学习的三维点云配准<b class='flag-5'>新方法</b>

    USBブート用ドライバ誤認識後のドライバ更新方法

    USBブート用ドライバ誤認識後のドライバ更新方法
    发表于 05-15 19:09 0次下载
    USBブート用ドライバ誤認識後のドライバ更<b class='flag-5'>新方法</b>