• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于知識(shí)蒸餾的目標(biāo)檢測(cè)分析

    2022-05-26 08:56:06張國(guó)鵬陳學(xué)斌
    軟件導(dǎo)刊 2022年5期
    關(guān)鍵詞:深度目標(biāo)算法

    張國(guó)鵬,陳學(xué)斌,馬 征

    (1.華北理工大學(xué)理學(xué)院,河北 唐山 063210;2.河北省數(shù)據(jù)科學(xué)與應(yīng)用重點(diǎn)實(shí)驗(yàn)室;3.唐山市數(shù)據(jù)科學(xué)重點(diǎn)實(shí)驗(yàn)室,河北 唐山 063000)

    0 引言

    近年來(lái),深度學(xué)習(xí)已成為人工智能領(lǐng)域許多研究課題的基礎(chǔ),包括計(jì)算機(jī)視覺(jué)[1]、強(qiáng)化學(xué)習(xí)[2]及自然語(yǔ)言處理等。例如,在數(shù)百萬(wàn)幅圖像識(shí)別的基礎(chǔ)上訓(xùn)練一個(gè)ResNet模型只需不到10min 的時(shí)間[3],訓(xùn)練一個(gè)強(qiáng)大的語(yǔ)言理解的BERT 模型則不超過(guò)1.5h[4],大規(guī)模深度模型已取得了巨大成功。目標(biāo)檢測(cè)[1]是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)重要分支,其利用機(jī)器對(duì)現(xiàn)有物體進(jìn)行精確識(shí)別,主要任務(wù)是將研究目標(biāo)的位置及其分類相聯(lián)合來(lái)確定目標(biāo)物體,該過(guò)程還需結(jié)合圖像處理技術(shù)及機(jī)器學(xué)習(xí)方面的算法,以選擇需要的目標(biāo)圖像。目標(biāo)分類主要判斷輸入圖像是否為所需類別,目標(biāo)定位則負(fù)責(zé)識(shí)別目標(biāo)物體位置,一般采用范圍較廣的矩形框來(lái)實(shí)現(xiàn)。近年來(lái),大量國(guó)內(nèi)外研究人員對(duì)目標(biāo)檢測(cè)領(lǐng)域開(kāi)展了深入研究與探索。目前,目標(biāo)檢測(cè)被廣泛應(yīng)用于人臉識(shí)別、行人跟蹤、車(chē)牌識(shí)別、車(chē)輛自動(dòng)駕駛等領(lǐng)域。由于視野變窄、背景模糊、姿勢(shì)扭曲等原因容易導(dǎo)致目標(biāo)物體不精確,使檢測(cè)目標(biāo)成為具有挑戰(zhàn)性的任務(wù)。在許多不同實(shí)驗(yàn)中,深度網(wǎng)絡(luò)模型取得了良好效果,但在實(shí)際應(yīng)用中,其會(huì)受到時(shí)間與空間方面的限制。因?yàn)樯疃染W(wǎng)絡(luò)模型一般是更深、更大的模型,導(dǎo)致所需運(yùn)算量很大,其大量參數(shù)也會(huì)占用許多存儲(chǔ)空間。即使借助圖形處理器(Graphics Processing Unit,GPU)進(jìn)行加速[5],在時(shí)間上也依然無(wú)法滿足許多應(yīng)用場(chǎng)景的需求。

    隨著深度學(xué)習(xí)技術(shù)的發(fā)展,越來(lái)越多研究人員發(fā)現(xiàn)使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)研究物體進(jìn)行目標(biāo)檢測(cè),準(zhǔn)確度可獲得較大程度提升[6]。卷積神經(jīng)網(wǎng)絡(luò)具有提取高層特征的能力,可提高特征表達(dá)能力,并將特征提取、特征選擇與特征分類集成到同一模型中。然而,深度學(xué)習(xí)網(wǎng)絡(luò)模型具有更深層次的結(jié)構(gòu)與更高的計(jì)算復(fù)雜性,且存儲(chǔ)網(wǎng)絡(luò)模型所需的空間非常大,導(dǎo)致其無(wú)法在資源有限的設(shè)備上有效地工作。如果一個(gè)參數(shù)較少、重建效果較差的輕量網(wǎng)絡(luò)盡最大程度地去學(xué)習(xí)一個(gè)參數(shù)較多、重建效果好的深度神經(jīng)網(wǎng)絡(luò),則既節(jié)省了相應(yīng)算力及空間,又有效提高了輕量網(wǎng)絡(luò)目標(biāo)檢測(cè)的準(zhǔn)確性與精度。因此,在不影響深度網(wǎng)絡(luò)模型效果的前提下,現(xiàn)有的各種模型壓縮與加速技術(shù)受到人們歡迎。壓縮網(wǎng)絡(luò)模型[7]是一個(gè)重要的研究問(wèn)題,自2015 年Hinton 等[8]提出知識(shí)蒸餾(Knowledge Distilling,KD)后,知識(shí)蒸餾成為模型壓縮與加速的代表類型,大量研究人員開(kāi)始對(duì)圖像分類領(lǐng)域的知識(shí)蒸餾展開(kāi)研究,但針對(duì)目標(biāo)檢測(cè)的研究依然較少;2017 年,Chen 等[9]將知識(shí)蒸餾引入Faster-RCNN 檢測(cè)網(wǎng)絡(luò)中,對(duì)特征提取層以及分類損失與回歸損失同時(shí)展開(kāi)蒸餾,提升了二階段目標(biāo)檢測(cè)模型的精度;2019 年,管文杰[10]將知識(shí)蒸餾引入Cascade R-CNN,并將Cascade R-CNN 二、三階段檢測(cè)器回歸分類結(jié)果作為“軟目標(biāo)”加入損失函數(shù)中進(jìn)行蒸餾,可達(dá)到與四階段檢測(cè)相當(dāng)?shù)木?。因此,基于知識(shí)蒸餾的目標(biāo)檢測(cè)得到了人們的廣泛關(guān)注,也成為當(dāng)前的研究熱點(diǎn)之一。

    1 知識(shí)蒸餾

    1.1 知識(shí)蒸餾基本結(jié)構(gòu)

    2015 年Hinton 等[8]在文章《Distilling the Knowledge in a Neural Network》中首次提出知識(shí)蒸餾(KD)的概念。知識(shí)蒸餾作為一種典型的模型壓縮方法,可將復(fù)雜、性能較好的教師網(wǎng)絡(luò)學(xué)到的知識(shí)傳遞給精簡(jiǎn)、低復(fù)雜度的學(xué)生網(wǎng)絡(luò),使學(xué)生網(wǎng)絡(luò)獲得接近教師網(wǎng)絡(luò)的精度。知識(shí)蒸餾方法由3 個(gè)關(guān)鍵組件組成:知識(shí)、蒸餾算法與師生架構(gòu)[11]。師生架構(gòu)如圖1所示。

    在知識(shí)蒸餾中,知識(shí)類型、提煉策略與師生結(jié)構(gòu)對(duì)學(xué)生網(wǎng)絡(luò)的學(xué)習(xí)起著至關(guān)重要的作用,普通的知識(shí)蒸餾使用一個(gè)大深度模型網(wǎng)絡(luò)作為教師網(wǎng)絡(luò)。知識(shí)蒸餾方法使精

    Flg.1 Architecture between teachers and students圖1 師生架構(gòu)

    損失函數(shù)為:簡(jiǎn)、低復(fù)雜度的學(xué)生模型仍可以具有較強(qiáng)的學(xué)習(xí)能力,在降低參數(shù)量且加快速度的同時(shí)也保持較高準(zhǔn)確率。例如,在檢測(cè)貓、狗及青蛙等幾種不同種類動(dòng)物時(shí),真實(shí)的標(biāo)簽是“狗”,但是存在一個(gè)學(xué)習(xí)能力強(qiáng)且較復(fù)雜的網(wǎng)絡(luò)給3 個(gè)標(biāo)簽“貓”、“狗”及“青蛙”分別賦予一定比重,也稱為概率,表示軟化標(biāo)簽,即軟目標(biāo)。相反,真正的標(biāo)簽是獨(dú)熱編碼(One-hot),也即硬目標(biāo),教師網(wǎng)絡(luò)的軟化標(biāo)簽可為學(xué)生網(wǎng)絡(luò)提供更多信息,從而更有效地訓(xùn)練學(xué)生網(wǎng)絡(luò),提高其泛化能力。軟化后的標(biāo)簽在類別向量中以概率形式存在,錯(cuò)誤類別向量的概率值是介于0~1 之間的一個(gè)微小實(shí)數(shù),在蒸餾過(guò)程中對(duì)交叉熵的影響很小。另外對(duì)于標(biāo)簽軟化方面,Hinton 提出在原來(lái)的輸入數(shù)據(jù)經(jīng)過(guò)softmax 層軟化時(shí)加入超參數(shù)T(溫度),以輔助提高軟化效果。函數(shù)qi可生成每個(gè)類別的預(yù)測(cè)概率。具體函數(shù)如下:

    式中,zi表示第i 類的輸入數(shù)據(jù),qi表示第i類經(jīng)過(guò)softmax 輸出的軟目標(biāo)。

    另外,Hinton 等通過(guò)實(shí)驗(yàn)證明了超參數(shù)T對(duì)于軟化的影響效果,如果T 值過(guò)大,會(huì)產(chǎn)生均勻的概率分布,如果T值過(guò)小則很容易提高錯(cuò)誤分類的概率,因此一般情況下T值取1。

    1.2 知識(shí)蒸餾過(guò)程

    對(duì)于同一個(gè)數(shù)據(jù)集的輸入,教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)經(jīng)過(guò)softmax 層會(huì)產(chǎn)生軟化標(biāo)簽,學(xué)生網(wǎng)絡(luò)則利用真實(shí)標(biāo)簽及教師與學(xué)生網(wǎng)絡(luò)分別產(chǎn)生的軟化標(biāo)簽作為交叉熵?fù)p失函數(shù)的輸入進(jìn)行權(quán)重優(yōu)化學(xué)習(xí)。知識(shí)蒸餾的最初目的是為了將源網(wǎng)絡(luò)的知識(shí)轉(zhuǎn)移到另一個(gè)較小的神經(jīng)網(wǎng)絡(luò)。圖2 表示知識(shí)蒸餾過(guò)程中的損失函數(shù)計(jì)算過(guò)程,可了解到軟化標(biāo)簽的交叉熵加權(quán)系數(shù)越大,將導(dǎo)致學(xué)生網(wǎng)絡(luò)在訓(xùn)練過(guò)程中對(duì)教師網(wǎng)絡(luò)過(guò)度依賴,所以在訓(xùn)練后期要適時(shí)降低軟化標(biāo)簽比重,利用真實(shí)數(shù)據(jù)幫助學(xué)生網(wǎng)絡(luò)進(jìn)行判別。教師網(wǎng)絡(luò)的推理性能通常優(yōu)于學(xué)生網(wǎng)絡(luò),且模型沒(méi)有具體的容量限制,因此教師網(wǎng)絡(luò)的推理精度越高,將越有利于學(xué)生網(wǎng)絡(luò)的學(xué)習(xí)。

    Flg.2 Knowledge distillation process圖2 知識(shí)蒸餾過(guò)程

    式中,Lloss為軟目標(biāo)與硬目標(biāo)所對(duì)應(yīng)交叉熵的加權(quán)平均;λ為權(quán)重參數(shù),用于保持真實(shí)損失與蒸餾損失的平衡;L(hard)為真實(shí)損失;L(soft)為蒸餾損失。

    訓(xùn)練步驟如下:①先用真實(shí)數(shù)據(jù)集訓(xùn)練復(fù)雜的教師網(wǎng)絡(luò);②采用超參數(shù)T 對(duì)訓(xùn)練好的教師網(wǎng)絡(luò)進(jìn)行前向傳播獲得軟標(biāo)簽;③在超參數(shù)值T=1 和T=t 兩種情況下分別讓學(xué)生網(wǎng)絡(luò)獲得兩種不同的軟化輸出,加權(quán)計(jì)算兩種交叉熵?fù)p失,以訓(xùn)練學(xué)生網(wǎng)絡(luò);④最后采用訓(xùn)練好的學(xué)生網(wǎng)絡(luò)預(yù)測(cè)類別。

    綜上,采用軟化標(biāo)簽的知識(shí)蒸餾方法一方面可壓縮模型,另一方面增強(qiáng)了模型泛化能力。

    1.3 知識(shí)蒸餾研究進(jìn)展

    利用知識(shí)蒸餾方法可壓縮更深、更大的模型,從而有效降低計(jì)算成本,目前主要用于具有Softmax 損失函數(shù)的分類任務(wù)。近年來(lái),許多研究將知識(shí)蒸餾用于目標(biāo)檢測(cè)與語(yǔ)義分割,因?yàn)橛谜麴s技術(shù)壓縮模型的過(guò)程就像人類學(xué)習(xí)一樣,在這一過(guò)程的啟發(fā)下,將現(xiàn)有知識(shí)蒸餾技術(shù)逐漸擴(kuò)展到教師與學(xué)生的互助學(xué)習(xí)、輔助學(xué)習(xí)、終身學(xué)習(xí)及自學(xué)上。大多數(shù)知識(shí)蒸餾研究都關(guān)注于壓縮深度神經(jīng)網(wǎng)絡(luò),使產(chǎn)生的精簡(jiǎn)學(xué)生網(wǎng)絡(luò)可被更好地用于語(yǔ)音識(shí)別及人臉識(shí)別等實(shí)際應(yīng)用中,另外知識(shí)蒸餾中的知識(shí)轉(zhuǎn)移可拓展到對(duì)抗攻擊、數(shù)據(jù)加強(qiáng)以及數(shù)據(jù)隱私與安全保障等其他任務(wù)中。蒸餾知識(shí)壓縮模型的動(dòng)機(jī)實(shí)際上是將知識(shí)轉(zhuǎn)移思想進(jìn)一步應(yīng)用于訓(xùn)練數(shù)據(jù)壓縮,即數(shù)據(jù)蒸餾,將知識(shí)從大型數(shù)據(jù)集轉(zhuǎn)移到小型數(shù)據(jù)集,從而減輕深度模型的負(fù)擔(dān)。

    最近幾項(xiàng)研究是在教師與學(xué)生模型的關(guān)聯(lián)中,通過(guò)離線蒸餾或在線蒸餾以及自我知識(shí)蒸餾方法進(jìn)一步改善網(wǎng)絡(luò)模型之間的知識(shí)轉(zhuǎn)移過(guò)程。

    1.3.1 離線蒸餾

    以前大多數(shù)知識(shí)蒸餾方法都可以脫機(jī)工作。在常見(jiàn)的離線知識(shí)蒸餾中,往往采用兩階段訓(xùn)練模式先對(duì)教師模型進(jìn)行訓(xùn)練,再通過(guò)蒸餾方法指導(dǎo)學(xué)生模型進(jìn)行訓(xùn)練。一般而言,對(duì)于離線蒸餾知識(shí)的提取,如果要取得較好成果,需要滿足以下條件:高質(zhì)量的預(yù)先訓(xùn)練好的教師模型、師生差異以及足夠的監(jiān)督信息。特別是離線知識(shí)蒸餾方法在很大程度上依賴于固定的預(yù)訓(xùn)練教師模型,固定的教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)之間巨大的能力差距給知識(shí)轉(zhuǎn)移帶來(lái)了巨大挑戰(zhàn)。為了使這種差距的影響可忽略不計(jì),Mirzadeh等[12]引入多步知識(shí)蒸餾方法,并采用中間網(wǎng)絡(luò),類似于教師助手。離線蒸餾方法通常使用單向知識(shí)轉(zhuǎn)移與兩階段訓(xùn)練模式,這些方法都不能完全解決由于能力差距而造成的知識(shí)轉(zhuǎn)移的阻礙,因?yàn)槠湓谝欢ǔ潭壬弦惨蕾囉陬A(yù)先訓(xùn)練好的教師模型。

    1.3.2 在線蒸餾

    與傳統(tǒng)兩階段離線蒸餾法不同,當(dāng)前研究越來(lái)越關(guān)注在線蒸餾方法。目前研究者提出的幾種在線知識(shí)蒸餾法是在多個(gè)神經(jīng)網(wǎng)絡(luò)相互協(xié)作配合的前提下進(jìn)行的,在訓(xùn)練過(guò)程中每一個(gè)網(wǎng)絡(luò)都有選擇權(quán)去充當(dāng)學(xué)生模型,剩下的網(wǎng)絡(luò)作為教師網(wǎng)絡(luò)。為提高泛化能力,利用Soft Logits 的集合對(duì)深度互學(xué)習(xí)進(jìn)行擴(kuò)展,利用在線蒸餾訓(xùn)練大規(guī)模的分布式神經(jīng)網(wǎng)絡(luò),并提出一種在線蒸餾的變體,即共蒸餾[13]。采用并行共蒸餾方法對(duì)具有相同體系結(jié)構(gòu)的多個(gè)模型進(jìn)行訓(xùn)練,并通過(guò)傳遞來(lái)自其他模型的知識(shí)對(duì)其中任何一個(gè)模型進(jìn)行訓(xùn)練。近年來(lái),人們提出一種在線對(duì)抗知識(shí)蒸餾方法,該方法可利用分類概率與特征圖中的知識(shí),同時(shí)利用鑒別器訓(xùn)練多個(gè)網(wǎng)絡(luò)[14]。在線蒸餾是一種具有高效并行計(jì)算能力的單階段端到端訓(xùn)練方案。

    1.3.3 自我蒸餾

    在自我蒸餾中,教師和學(xué)生模型采用相同網(wǎng)絡(luò),這可視為在線蒸餾的特殊情況。具體而言,Zhang 等[15]提出一種新的自蒸餾方法,將來(lái)自網(wǎng)絡(luò)較深部分的知識(shí)蒸餾為淺層部分,網(wǎng)絡(luò)早期知識(shí)被轉(zhuǎn)移到后期,以便支持同一時(shí)期的監(jiān)督訓(xùn)練過(guò)程網(wǎng)絡(luò)。為進(jìn)一步減少對(duì)于提前退出的推理時(shí)間,Phuong 等[16]提出基于蒸餾的訓(xùn)練方案,讓提前退出層嘗試在訓(xùn)練過(guò)程中模仿后續(xù)退出層的輸出。Hahn等[17]提出一種新的自我蒸餾方法,使自己的知識(shí)由預(yù)測(cè)概率而不是傳統(tǒng)的軟目標(biāo)概率組成。這些預(yù)測(cè)概率由訓(xùn)練模型的特征表示進(jìn)行定義,反映了特征嵌入空間中數(shù)據(jù)的相似性。

    2 基于知識(shí)蒸餾的目標(biāo)檢測(cè)算法

    2.1 目標(biāo)檢測(cè)算法種類

    目標(biāo)檢測(cè)的發(fā)展過(guò)程大致經(jīng)歷了兩個(gè)關(guān)鍵時(shí)期,分別稱為基于傳統(tǒng)方法的目標(biāo)檢測(cè)周期與基于深度學(xué)習(xí)的目標(biāo)檢測(cè)周期[18]。早在2013 年之前,由于計(jì)算能力不足,深度學(xué)習(xí)尚未顯示其優(yōu)勢(shì),傳統(tǒng)檢測(cè)算法是基于人工設(shè)計(jì)的濾波器。2013 年之后,由于GPU 的發(fā)展,計(jì)算能力迅速提高,使得深度學(xué)習(xí)檢測(cè)模型的效果明顯超過(guò)了手動(dòng)設(shè)計(jì)的檢測(cè)模型,原因是人工設(shè)計(jì)的特征類似于靈長(zhǎng)類視覺(jué)皮層提取的淺層特征,而深度神經(jīng)網(wǎng)絡(luò)可提取更高級(jí)別與更抽象的深度圖像特征。因此,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)模型開(kāi)始迅速發(fā)展。目標(biāo)檢測(cè)算法分類如圖3所示。

    Flg.3 Object detection algorithms classification圖3 目標(biāo)檢測(cè)算法分類

    深度網(wǎng)絡(luò)在提取高層特征與表達(dá)特征方面具有出色的性能,因此有必要找到一種有效的檢測(cè)算法框架。大多數(shù)具有代表性的檢測(cè)算法都試圖在許多方面改進(jìn)網(wǎng)絡(luò)體系結(jié)構(gòu),根據(jù)檢測(cè)步驟,其可分為基于回歸的一階段框架(One-stage)與基于候選區(qū)域的兩階段框架(Two-stage)。兩階段框架從選擇候選區(qū)域的預(yù)處理階段開(kāi)始,然后對(duì)候選區(qū)域進(jìn)行分類與定位,從而將檢測(cè)過(guò)程分為兩個(gè)階段。One-stage 框架是一種不單獨(dú)選擇候選區(qū)域的方法,整個(gè)檢測(cè)過(guò)程是一個(gè)階段。檢測(cè)算法時(shí)間軸如圖4 所示。檢測(cè)算法在PASCAL VOC 2012 上的mAP 對(duì)比如表1所示[19]。

    Table 1 Comparison of mAP of detection algorithms in PASCAL VOC 2012表1 檢測(cè)算法在PASCAL VOC 2012上的mAP 對(duì)比

    2.2 基于知識(shí)蒸餾的目標(biāo)檢測(cè)

    本文重點(diǎn)討論基于深度學(xué)習(xí)的目標(biāo)檢測(cè)以及如何將知識(shí)蒸餾的模型壓縮方法運(yùn)用于One-Two-stage 框架中。深度學(xué)習(xí)模型屬于分層結(jié)構(gòu),在模型的不同級(jí)別上提取不同特征,且從低到高逐層進(jìn)行特征提取。Chen 等[9]提出對(duì)Two-Stage 中的Faster R-CNN 進(jìn)行蒸餾,其中教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)使用相同的檢測(cè)框架,但學(xué)生網(wǎng)絡(luò)會(huì)選擇輕量級(jí)的特征提取網(wǎng)絡(luò)。將圖片分別輸入到教師網(wǎng)絡(luò)和學(xué)生網(wǎng)絡(luò),并且在分類結(jié)果和回歸結(jié)果上生成不同的輸出。通過(guò)測(cè)量教師網(wǎng)絡(luò)輸出與學(xué)生網(wǎng)絡(luò)輸出之間的差距,構(gòu)造蒸餾損失。將蒸餾損失加入到實(shí)際檢測(cè)到的損失中,則構(gòu)成了總損失。計(jì)算公式如式(3):

    Flg.4 Detection algorithms'timeline圖4 檢測(cè)算法時(shí)間軸

    式中,LLoss為總損失,L(hard)為真實(shí)損失,L(soft)為蒸餾損失。s為學(xué)生網(wǎng)絡(luò),T 為真實(shí)標(biāo)簽,t 為教師網(wǎng)絡(luò),λ為權(quán)重參數(shù),用于保持真實(shí)損失與蒸餾損失的平衡。

    然而,二階段目標(biāo)檢測(cè)器因參數(shù)較多,占用了大量存儲(chǔ)空間,即使對(duì)一個(gè)小網(wǎng)絡(luò)進(jìn)行蒸餾后也是如此,因此很難部署到移動(dòng)設(shè)備上。之后有研究者提出基于信息圖特征提取層與特征融合層的知識(shí)蒸餾體系結(jié)構(gòu)。在之前的操作中計(jì)算損失時(shí),引入信息圖作為監(jiān)督信號(hào),為知識(shí)蒸餾過(guò)程提供指導(dǎo),最后通過(guò)反向傳播算法更新學(xué)生網(wǎng)絡(luò)權(quán)值。

    Yim 等[20]將教師網(wǎng)絡(luò)層與層之間的關(guān)系作為學(xué)生網(wǎng)絡(luò)學(xué)習(xí)的目標(biāo)。然而,其知識(shí)蒸餾需要設(shè)計(jì)非常復(fù)雜的損失函數(shù),且這些方法大多用于兩階段目標(biāo)檢測(cè),很少用于單階段目標(biāo)檢測(cè)。然而,為了獲得一個(gè)簡(jiǎn)單、有效的知識(shí)蒸餾方法,Wang 等[21]參考生成的對(duì)抗網(wǎng)絡(luò)架構(gòu),將教師網(wǎng)絡(luò)與學(xué)生網(wǎng)絡(luò)生成的特征圖分別作為真樣本和假樣本。其設(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò)作為鑒別器,利用真樣本和假樣本進(jìn)行生成對(duì)抗訓(xùn)練,使學(xué)生網(wǎng)絡(luò)分布與教師網(wǎng)絡(luò)分布相吻合。通過(guò)無(wú)監(jiān)督學(xué)習(xí)進(jìn)行交互式訓(xùn)練,可使整個(gè)訓(xùn)練過(guò)程簡(jiǎn)單、高效,大大提高了學(xué)生網(wǎng)絡(luò)在單階段目標(biāo)檢測(cè)中的性能。最后其對(duì)不同教師網(wǎng)絡(luò)下現(xiàn)有SSD 算法與基于GAN 知識(shí)蒸餾的SSD 算法進(jìn)行比較,發(fā)現(xiàn)采用第二種方法時(shí),學(xué)生網(wǎng)絡(luò)在PASCAL VOC 數(shù)據(jù)集上的平均類別精度(mAP)提升了2.8%。另外其使用此方法進(jìn)行兩階段目標(biāo)檢測(cè)實(shí)驗(yàn),例如Faster-RCNN,分別以ResNet50、ResNet101為參考網(wǎng)絡(luò),前者作為學(xué)生網(wǎng)絡(luò),后者作為教師網(wǎng)絡(luò),利用PASCAL VOC 2007 數(shù)據(jù)集作為訓(xùn)練集進(jìn)行實(shí)驗(yàn)對(duì)比。此外,其將檢測(cè)結(jié)果與Wang 等[22]提出方法得到的結(jié)果進(jìn)行比較,在PASCAL VOC 2007 測(cè)試集中的平均類別精度(mAP)為73.8%。

    Mehta 等[23]將知識(shí)蒸餾應(yīng)用于單階段檢測(cè)模型中,通過(guò)類FPN 結(jié)構(gòu)對(duì)學(xué)生網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行優(yōu)化,并添加無(wú)標(biāo)記數(shù)據(jù)集進(jìn)行訓(xùn)練。在蒸餾過(guò)程中利用FM-NMS 對(duì)冗余框進(jìn)行過(guò)濾,在tine-YOLOv2 基礎(chǔ)上將平均類別精度(mAP)提高了14%。2020 年,張彤彤等[24]將知識(shí)蒸餾方法應(yīng)用于目標(biāo)檢測(cè)網(wǎng)絡(luò)的特征提取網(wǎng)絡(luò)中,提高了淺層特征提取網(wǎng)絡(luò)的性能。結(jié)果表明,經(jīng)過(guò)知識(shí)蒸餾后的淺層特征提取網(wǎng)絡(luò)的檢測(cè)準(zhǔn)確率相比無(wú)教師網(wǎng)絡(luò)指導(dǎo)下的檢測(cè)準(zhǔn)確率提高了11.7%。2021 年,李姜楠等[25]將知識(shí)蒸餾應(yīng)用于目標(biāo)檢測(cè)類型,通過(guò)引入信息圖提煉監(jiān)控信號(hào),加強(qiáng)了學(xué)生對(duì)教師網(wǎng)絡(luò)關(guān)鍵知識(shí)的學(xué)習(xí)。采用YOLOV3 作為檢測(cè)模型,在不改變學(xué)生網(wǎng)絡(luò)結(jié)構(gòu)的情況下,平均類別精度提高了9.3%。根據(jù)知識(shí)蒸餾架構(gòu),在tiny_yolov3 基礎(chǔ)上進(jìn)行了比較實(shí)驗(yàn),結(jié)果如表2所示。

    雖然基于知識(shí)蒸餾的目標(biāo)檢測(cè)取得了一定進(jìn)展,但仍存在一些需要解決的問(wèn)題。為改善現(xiàn)有目標(biāo)檢測(cè)知識(shí)蒸餾框架的局限性問(wèn)題,Li等[26]提出一種新的在線知識(shí)蒸餾方法,稱為FFSD,其包括兩個(gè)關(guān)鍵組成部分:特征融合與自提取,F(xiàn)FSD 將學(xué)生分成學(xué)生領(lǐng)袖和普通學(xué)生群體,然后特征融合模塊將來(lái)自普通學(xué)生群體的特征圖拼接轉(zhuǎn)換成融合的特征圖,融合的特征圖用于幫助學(xué)生領(lǐng)袖的學(xué)習(xí)。為使學(xué)生領(lǐng)袖能夠在特征融合過(guò)程中獲得更多信息,設(shè)計(jì)一種多樣性增強(qiáng)策略以增加學(xué)生之間的多樣性。另外增加了一種自蒸餾模塊,將較深層次的特征圖轉(zhuǎn)換成較淺層次的特征圖,然后鼓勵(lì)較淺層次的特征圖模仿較深層次轉(zhuǎn)換后的特征圖,從而增強(qiáng)了模型泛化能力。由于師生能力差距的縮小可促進(jìn)知識(shí)轉(zhuǎn)移,Zhang 等[27]提出一種進(jìn)化的知識(shí)蒸餾方法以提高教師的知識(shí)轉(zhuǎn)移效率,其中教師是進(jìn)行在線學(xué)習(xí)的,并不斷轉(zhuǎn)移中間知識(shí),以動(dòng)態(tài)監(jiān)督學(xué)生的網(wǎng)絡(luò)學(xué)習(xí)。在相應(yīng)的師生模塊之間引入一些簡(jiǎn)單的引導(dǎo)模塊對(duì),提高了中間知識(shí)表示效率,從而實(shí)現(xiàn)有效的學(xué)生網(wǎng)絡(luò)學(xué)習(xí)。通過(guò)大量實(shí)驗(yàn)證明了該方法的有效性,以及其在低分辨率和少樣本的目標(biāo)檢測(cè)中具有良好的適應(yīng)性。

    Table 2 Comparison of knowledge distillation results表2 知識(shí)蒸餾結(jié)果比較

    3 結(jié)語(yǔ)

    本文對(duì)基于知識(shí)蒸餾的目標(biāo)檢測(cè)進(jìn)行詳細(xì)介紹,首先回顧目標(biāo)檢測(cè)研究現(xiàn)狀及存在的問(wèn)題,以及基于知識(shí)蒸餾方法解決此問(wèn)題的可能行,引入知識(shí)蒸餾后不僅可簡(jiǎn)化網(wǎng)絡(luò),還可節(jié)省相應(yīng)的算力及空間;其次,介紹了知識(shí)蒸餾的基本結(jié)構(gòu)、研究過(guò)程與進(jìn)展以便于讀者深入理解;最后對(duì)當(dāng)前基于知識(shí)蒸餾的目標(biāo)檢測(cè)主要研究方法進(jìn)行分析與論述,并結(jié)合當(dāng)前研究現(xiàn)狀分析了不同蒸餾算法的改進(jìn)。如果知識(shí)蒸餾損耗和精度評(píng)估方法之間存在不匹配,可能會(huì)導(dǎo)致老師模型和學(xué)生模型的能力相差較大。受到最近關(guān)于生成對(duì)抗網(wǎng)絡(luò)訓(xùn)練的啟發(fā),對(duì)抗訓(xùn)練可很好地促進(jìn)師生交互,使兩者的分布相吻合,從而實(shí)現(xiàn)有效的學(xué)生網(wǎng)絡(luò)學(xué)習(xí),也值得作更深入的探討。之后希望將知識(shí)蒸餾用于數(shù)據(jù)隱私與安全保障、網(wǎng)絡(luò)特征檢測(cè)等方面,使其可應(yīng)用于對(duì)存儲(chǔ)空間與參數(shù)量有一定限制的嵌入式設(shè)備中。

    猜你喜歡
    深度目標(biāo)算法
    深度理解一元一次方程
    基于MapReduce的改進(jìn)Eclat算法
    Travellng thg World Full—time for Rree
    深度觀察
    深度觀察
    進(jìn)位加法的兩種算法
    深度觀察
    一種改進(jìn)的整周模糊度去相關(guān)算法
    我們的目標(biāo)
    新目標(biāo)七年級(jí)(下)Unit 3練習(xí)(一)
    弋阳县| 惠东县| 甘谷县| 元朗区| 河西区| 阳西县| 肃南| 古田县| 恩施市| 仁布县| 南皮县| 昌黎县| 海兴县| 吉隆县| 黄骅市| 方城县| 彝良县| 武冈市| 襄樊市| 黔西县| 揭东县| 广州市| 鄢陵县| 阳春市| 清徐县| 光山县| 赣榆县| 扶沟县| 伊吾县| 海伦市| 泌阳县| 土默特左旗| 宣武区| 额济纳旗| 景德镇市| 大埔区| 财经| 永嘉县| 凯里市| 格尔木市| 茂名市|