論文題目:Curriculum Temperature for Knowledge Distillation
論文(AAAI 2023):https://arxiv.org/abs/2211.16231
開(kāi)源代碼(歡迎star):
https://github.com/zhengli97/CTKD
一句話概括:
相對(duì)于靜態(tài)溫度超參蒸餾,本文提出了簡(jiǎn)單且高效的動(dòng)態(tài)溫度超參蒸餾新方法。
背景問(wèn)題:
目前已有的蒸餾方法中,都會(huì)采用帶有溫度超參的KL Divergence Loss進(jìn)行計(jì)算,從而在教師模型和學(xué)生模型之間進(jìn)行蒸餾,公式如下:
而現(xiàn)有工作普遍的方式都是采用固定的溫度超參,一般會(huì)設(shè)定成4。
方法 |
FitNet (ICLR 15') |
AT (ICLR 17') |
SP (ICCV 19') |
Snapshot (CVPR 19') |
SSKD (ECCV 20') |
FRSKD (CVPR 21') |
---|---|---|---|---|---|---|
τ的設(shè)定 | 3 | 4 | 4 | 2 or 3 | 4 | 4 |
那么這就帶來(lái)了兩個(gè)問(wèn)題:
1. 不同的教師學(xué)生模型在KD過(guò)程中最優(yōu)超參不一定是4。如果要找到這個(gè)最佳超參,需要進(jìn)行暴力搜索,會(huì)帶來(lái)大量的計(jì)算,整個(gè)過(guò)程非常低效。
2. 一直保持靜態(tài)固定的溫度超參對(duì)學(xué)生模型來(lái)說(shuō)不是最優(yōu)的?;谡n程學(xué)習(xí)的思想,人類在學(xué)習(xí)過(guò)程中都是由簡(jiǎn)單到困難的學(xué)習(xí)知識(shí)。那么在蒸餾的過(guò)程中,我們也會(huì)希望模型一開(kāi)始蒸餾是讓學(xué)生容易學(xué)習(xí)的,然后難度再增加。難度是一直動(dòng)態(tài)變化的。
于是一個(gè)自然而然的想法就冒了出來(lái):
在蒸餾任務(wù)里,能不能讓網(wǎng)絡(luò)自己學(xué)習(xí)一個(gè)適合的動(dòng)態(tài)溫度超參進(jìn)行蒸餾,并且參考課程學(xué)習(xí),形成一個(gè)蒸餾難度由易到難的情況?
于是我們就提出了CTKD來(lái)實(shí)現(xiàn)這個(gè)想法。
方法:
既然溫度超參τ可以在蒸餾里決定兩個(gè)分布之間的KL Divergence,進(jìn)而影響模型的學(xué)習(xí),那我們就可以通過(guò)讓網(wǎng)絡(luò)自動(dòng)學(xué)習(xí)一個(gè)合適的τ來(lái)達(dá)到以上的目的。
于是以上具體問(wèn)題就直接可以轉(zhuǎn)化成以下的核心思想:
在蒸餾過(guò)程里,學(xué)生網(wǎng)絡(luò)被訓(xùn)練去最小化KL loss的情況下,τ作為一個(gè)可學(xué)習(xí)的參數(shù),要被訓(xùn)練去最大化KL loss,從而發(fā)揮對(duì)抗(Adversarial)的作用,增加訓(xùn)練的難度。隨著訓(xùn)練的進(jìn)行,對(duì)抗的作用要不斷增加,達(dá)到課程學(xué)習(xí)的效果。
以上的實(shí)現(xiàn)可以直接利用一個(gè)非常簡(jiǎn)單的操作:利用梯度反向?qū)覩RL (Gradient Reversal Layer )來(lái)去反向可學(xué)習(xí)超參τ的梯度,就可以非常直接達(dá)到對(duì)抗的效果,同時(shí)隨著訓(xùn)練的進(jìn)行,不斷增加反向梯度的權(quán)重λ,進(jìn)而增加學(xué)習(xí)的難度。
CTKD的論文的結(jié)構(gòu)圖如下:
Fig.1 CTKD網(wǎng)絡(luò)結(jié)構(gòu)圖
CTKD方法可以簡(jiǎn)單分為左右兩個(gè)部分:
對(duì)抗溫度超參τ的學(xué)習(xí)部分。
這里只包含兩個(gè)小模塊,一個(gè)是梯度反向?qū)覩RL,用于反向經(jīng)過(guò)溫度超參τ的梯度,另一個(gè)是可學(xué)習(xí)超參溫度τ。
其中對(duì)于溫度超參τ,有兩種實(shí)現(xiàn)方式,第一種是全局方案 (Global Temperature),只會(huì)產(chǎn)生一個(gè)τ,代碼實(shí)現(xiàn)非常簡(jiǎn)單,就一句話:
self.global_T = nn.Parameter(torch.ones(1), requires_grad=True)
第二種是實(shí)例級(jí)別方案(Instance-wise Temperature),即對(duì)每個(gè)單獨(dú)的樣本都產(chǎn)生一個(gè)τ。代碼實(shí)現(xiàn)也很簡(jiǎn)單,就是兩層conv組成的MLP。
Fig.2 兩種不同的可學(xué)習(xí)溫度超參實(shí)現(xiàn)。
2. 難度逐漸增加的課程學(xué)習(xí)部分。
隨著訓(xùn)練的進(jìn)行,不斷增加GRL的權(quán)重λ,達(dá)到增加學(xué)習(xí)難度的效果。
在論文的實(shí)現(xiàn)里,我們直接采用Cos的方式,讓反向權(quán)重λ從0增加到1。
以上就是CTKD的全部實(shí)現(xiàn),非常的簡(jiǎn)單有效。
CTKD總共包含兩個(gè)模塊,GRL和溫度生成模塊,都非常的輕量化,
CTKD方法可以作為即插即用的插件應(yīng)用在現(xiàn)有的SOTA的蒸餾方法中,取得廣泛的提升。
實(shí)驗(yàn)結(jié)果
三個(gè)數(shù)據(jù)集:CIFAR-100,ImageNet和MS-COCO。
CIFAR-100上,CTKD的實(shí)驗(yàn)結(jié)果:
作為一個(gè)即插即用的插件,應(yīng)用在已有的SOTA方法上:
在ImageNet上的實(shí)驗(yàn):
在MS-COCO的detection實(shí)驗(yàn)上:
溫度超參的整體學(xué)習(xí)過(guò)程可視化:
由以上圖可以看到,CTKD整體的動(dòng)態(tài)學(xué)習(xí)τ的過(guò)程。
將CTKD應(yīng)用在多種現(xiàn)有的蒸餾方案上,可以取得廣泛的提升效果。
審核編輯 :李倩
-
模型
+關(guān)注
關(guān)注
1文章
3520瀏覽量
50420 -
代碼
+關(guān)注
關(guān)注
30文章
4900瀏覽量
70731
原文標(biāo)題:AAAI 2023 | 南開(kāi)/南理工/曠視提出CTKD:動(dòng)態(tài)溫度超參蒸餾新方法
文章出處:【微信號(hào):CVer,微信公眾號(hào):CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
無(wú)刷直流電機(jī)反電勢(shì)過(guò)零檢測(cè)新方法
曠視運(yùn)動(dòng)猿入選2024年度智能體育典型案例
大連理工提出基于Wasserstein距離(WD)的知識(shí)蒸餾方法
曠視中標(biāo)北京市大數(shù)據(jù)中心感知管理服務(wù)平臺(tái)二期建設(shè)項(xiàng)目
大華股份榮獲中國(guó)創(chuàng)新方法大賽一等獎(jiǎng)
基于遺傳算法的QD-SOA設(shè)計(jì)新方法

一種降低VIO/VSLAM系統(tǒng)漂移的新方法

曠視亮相2024數(shù)字科技生態(tài)大會(huì)
大華股份榮獲2024年中國(guó)創(chuàng)新方法大賽一等獎(jiǎng)
利用全息技術(shù)在硅晶圓內(nèi)部制造納米結(jié)構(gòu)的新方法
上海光機(jī)所提出強(qiáng)激光產(chǎn)生高能量子渦旋態(tài)電子新方法

保護(hù)4-20 mA,±20-mA模擬輸入的新方法

重慶兩江新區(qū)與吉利汽車(chē)集團(tuán)、曠視科技簽署合作協(xié)議
實(shí)踐JLink 7.62手動(dòng)增加新MCU型號(hào)支持新方法

一種無(wú)透鏡成像的新方法

評(píng)論