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

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

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

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

重慶兩江新區(qū)與吉利汽車集團、曠視科技簽署合作協(xié)議
聚焦物聯(lián)網(wǎng)場景,曠視科技核心技術(shù)能力持續(xù)升級
一種無透鏡成像的新方法

評論