近年來,知識(shí)蒸餾被證明是一種有效的模型壓縮方法。這種方法可以使輕量級(jí)的學(xué)生模型從較大的教師模型中獲取知識(shí)。然而,以往的提取檢測方法對(duì)不同檢測框架的泛化能力較弱,十分依賴于GT,忽略了實(shí)例間有價(jià)值的關(guān)系信息。今天我們介紹一篇用于目標(biāo)檢測的通用實(shí)例蒸餾的論文。該論文已被CVPR 2021收錄,論文提出了一種新的基于區(qū)分性實(shí)例的提取方法,即一般實(shí)例提?。℅ID)。該方法包含了通用實(shí)例選擇模塊(GISM),充分利用了基于特征、基于關(guān)系和基于響應(yīng)的知識(shí)進(jìn)行提取。

論文:General Instance Distillation for Object Detection鏈接:https://arxiv.org/abs/2103.02340
01
知識(shí)蒸餾
1.1 知識(shí)蒸餾
知識(shí)蒸餾,可以將一個(gè)網(wǎng)絡(luò)的知識(shí)轉(zhuǎn)移到另一個(gè)網(wǎng)絡(luò),兩個(gè)網(wǎng)絡(luò)可以是同構(gòu)或者異構(gòu)。做法是先訓(xùn)練一個(gè)teacher網(wǎng)絡(luò),然后使用這個(gè)teacher網(wǎng)絡(luò)的輸出和數(shù)據(jù)的真實(shí)標(biāo)簽去訓(xùn)練student網(wǎng)絡(luò)。知識(shí)蒸餾,可以用來將網(wǎng)絡(luò)從大網(wǎng)絡(luò)轉(zhuǎn)化成一個(gè)小網(wǎng)絡(luò),并保留接近于大網(wǎng)絡(luò)的性能;也可以將多個(gè)網(wǎng)絡(luò)的學(xué)到的知識(shí)轉(zhuǎn)移到一個(gè)網(wǎng)絡(luò)中,使得單個(gè)網(wǎng)絡(luò)的性能接近emsemble的結(jié)果。
1.2 目標(biāo)檢測的知識(shí)蒸餾
當(dāng)前,大多數(shù)蒸餾方法主要設(shè)計(jì)用于多類分類問題。由于在檢測任務(wù)中正例和負(fù)例的比例極不平衡,因此直接將分類專用蒸餾方法直接遷移到檢測模型的效果較差。一些專為檢測任務(wù)設(shè)計(jì)的蒸餾框架可解決此問題,例如通過以RPN采樣的一定比例提取正例和負(fù)例來解決該問題,以及進(jìn)一步建議僅提煉GT。但是,需要精心設(shè)計(jì)正例與負(fù)例之間的比例,并且僅蒸餾與GT相關(guān)的區(qū)域可能會(huì)忽略背景中潛在的信息區(qū)域。而且,當(dāng)前的檢測蒸餾方法不能同時(shí)在多個(gè)檢測框架中很好地工作,例如兩階段anchor-free的方法。因此,作者希望為各種檢測框架設(shè)計(jì)一種通用的蒸餾方法,以便在不考慮正例或負(fù)例影響的情況下,盡可能有效地利用盡可能多的知識(shí)。
02
目標(biāo)檢測的通用實(shí)例蒸餾
先前的工作,提出目標(biāo)對(duì)象附近的特征區(qū)域具有相當(dāng)多的信息,這對(duì)于知識(shí)的提煉是有用的。然而,作者發(fā)現(xiàn),不僅對(duì)象附近的特征區(qū)域,甚至來自背景區(qū)域的區(qū)分塊都具有有意義的知識(shí)。基于此發(fā)現(xiàn),作者設(shè)計(jì)了通用實(shí)例選擇模塊(GISM)該模塊利用教師模型和學(xué)生模型的預(yù)測來選擇要蒸餾的關(guān)鍵實(shí)例。此外,為了更好地利用教師模型提供的信息,作者提取并利用了基于特征,基于關(guān)系和基于響應(yīng)的知識(shí)進(jìn)行蒸餾。下圖是目標(biāo)檢測通用實(shí)例蒸餾的框架:

2.1 選擇通用實(shí)例
GISM(General Instance Selection Module) 利用教師模型和學(xué)生模型的預(yù)測來選擇要蒸餾的關(guān)鍵實(shí)例。首先量化教師模型預(yù)測實(shí)例和學(xué)生模型預(yù)測實(shí)例的差異,然后選擇可區(qū)分的實(shí)例進(jìn)行蒸餾,因此作者提出了兩個(gè)指標(biāo)評(píng)估兩個(gè)模型預(yù)測實(shí)例的差異:GI Score 和GI Box。這兩個(gè)參數(shù)都是在每個(gè)訓(xùn)練步驟中動(dòng)態(tài)計(jì)算的。作者將分類得分的L1距離計(jì)算為GI Score,選擇得分更高的框作為GI box。下圖說明了生成GI(通用實(shí)例)的過程: 1、教師模型和學(xué)生模型預(yù)測圖片中實(shí)例的Cls Score 和 Reg Box 2、根據(jù)兩個(gè)模型預(yù)測結(jié)果計(jì)算實(shí)例的差異:GI Score(L1距離) 和GI Box(得分高的框) 3、GI Score和GI Box經(jīng)過NMS反復(fù)選擇具有最高GI分?jǐn)?shù)的實(shí)例,然后刪除與所選區(qū)域具有高度重疊的所有較低GI分?jǐn)?shù)的實(shí)例。
基于特征知識(shí)的蒸餾,作者根據(jù)GISM選擇的每個(gè)GI Box的大小,從匹配的FPN層裁剪特征以進(jìn)行蒸餾,并且采用ROI Align算法將提取的GI特征調(diào)整為相同大小,最后執(zhí)行蒸餾,對(duì)每個(gè)目標(biāo)進(jìn)行同等處理,具體操作如下圖(a)所示?;谔卣鞯恼麴s損失如下:
其中 K 是指GISM選擇的GI Box的個(gè)數(shù),ti 和 si 分別代表根據(jù)GISM選擇的第i個(gè)GI Box 在教師模型和學(xué)生模型的FPN層中裁剪的特征,fadapt()是線性適應(yīng)函數(shù),為了讓學(xué)生模型特征si與教師模型特征ti的尺寸相同。
通過GISM選擇的信息豐富的GI(通用實(shí)例),能夠充分利用判別實(shí)例之間的相關(guān)性。當(dāng)然,僅執(zhí)行一對(duì)一的特征提煉當(dāng)然不足以引入更多的知識(shí)。因此,為了挖掘GI背后的有價(jià)值的關(guān)系知識(shí),作者進(jìn)一步引入了基于關(guān)系的知識(shí)以進(jìn)行提煉。在這里,我們使用歐式距離來度量實(shí)例的相關(guān)性,并使用L1距離來傳遞知識(shí)。如上圖(a)所示,作者還利用GI之間的相關(guān)信息來從老師到學(xué)生中提取知識(shí)。損失表達(dá)式如下:
其中
,φ(·)是距離的歸一化因子,l表示平滑的L1損失。
知識(shí)蒸餾的性能提高主要?dú)w功于教師模型中基于響應(yīng)的知識(shí)的正則化。但是,對(duì)檢測頭的整個(gè)輸出進(jìn)行蒸餾會(huì)影響學(xué)生模型的性能。這可能是由于檢測任務(wù)的正負(fù)樣本不平衡以及過多負(fù)樣本引入的噪聲導(dǎo)致。因此,作者基于選定的GI為分類分支和回歸分支設(shè)計(jì)了 distillation mask,選定的GI首先通過GI分配生成msk。然后,將被屏蔽的分類和回歸頭進(jìn)行提取,以利用基于響應(yīng)的知識(shí)。其操作如下圖(b)所示:1、首先基于GI計(jì)算distillation mask:
其中F是標(biāo)簽分配函數(shù)(由模型類別決定),輸入是GI框,如果此輸出像素與GI相匹配,則輸出為1,否則為0。

其中yt,ys分別來自教師模型和學(xué)生模型的分類頭輸出,rt,rs是回歸頭輸出,Lcls和Lreg是分類和回歸損失函數(shù),與蒸餾模型的損失函數(shù)相同。對(duì)于兩級(jí)檢測器,為了簡化起見,作者提取RPN的輸出。
2.5 Overall loss function作者端到端地訓(xùn)練了學(xué)生模型,提取學(xué)生模型的總損失如下:
03
實(shí)驗(yàn)結(jié)果
作者經(jīng)過實(shí)驗(yàn)證明,在各種檢測框架下,GID可顯著的提高學(xué)生模型的AP,甚至優(yōu)于老師。具體來說,在Reconet上使用ResNet-50的RetinaNet在COCO數(shù)據(jù)集上具有GID的mAP達(dá)到了39.1%,比基線的36.2%超出了2.9%,甚至比具有38.1%的AP的基于ResNet-101的教師模型更好。

04
總結(jié)
作者提出了通用實(shí)例提純(GID)框架,該框架可自適應(yīng)地選擇教師和學(xué)生之間最有區(qū)別的實(shí)例進(jìn)行提純。此外,提取基于特征,基于關(guān)系和基于響應(yīng)的知識(shí)以進(jìn)行蒸餾。GID的方法有效地提高了現(xiàn)代檢測框架的性能,并適用于各種檢測框架。
?------------------------------------------------
看到這里了,說明您也喜歡這篇文章,您可以點(diǎn)擊「分享」與朋友們交流,點(diǎn)擊「在看」使我們的新文章及時(shí)出現(xiàn)在您的訂閱列表中,或順手「點(diǎn)贊」給我們一個(gè)支持,讓我們做的更好哦。
歡迎微信搜索并關(guān)注「目標(biāo)檢測與深度學(xué)習(xí)」,不被垃圾信息干擾,只分享有價(jià)值知識(shí)!