人工智能正在驅(qū)動(dòng)新一輪的商業(yè)變革,而算法技術(shù)則是推動(dòng)核心底層技術(shù)的重要力量。算法崛起時(shí)代,技術(shù)浪潮可謂一日千里,算法工程師也只有不斷精進(jìn)自身技術(shù),才能與時(shí)俱進(jìn)、馭浪前行。近日,奇點(diǎn)云算法工程師三角肌在目標(biāo)檢測(cè)算法領(lǐng)域又有新突破。
成都創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),滎經(jīng)企業(yè)網(wǎng)站建設(shè),滎經(jīng)品牌網(wǎng)站建設(shè),網(wǎng)站定制,滎經(jīng)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,滎經(jīng)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。摘要
卷積神經(jīng)網(wǎng)絡(luò)對(duì)目標(biāo)檢測(cè)的精度有著顯著的提升,并且隨著卷積神經(jīng)網(wǎng)絡(luò)的深度加深,對(duì)目標(biāo)檢測(cè)精度提升也越大,但是也需要更多的浮點(diǎn)計(jì)算。許多研究者通過(guò)知識(shí)蒸餾的方法,通過(guò)把一個(gè)更深更大的教師網(wǎng)絡(luò)中的知識(shí)轉(zhuǎn)移到一個(gè)小的學(xué)生網(wǎng)絡(luò)中,以提高學(xué)生網(wǎng)絡(luò)在目標(biāo)檢測(cè)中的效果。而大部分知識(shí)蒸餾的方法都需要設(shè)計(jì)復(fù)雜的代價(jià)函數(shù),并且多數(shù)針對(duì)兩步目標(biāo)檢測(cè)算法,本文針對(duì)一步目標(biāo)檢測(cè)算法提出一個(gè)干凈有效的知識(shí)蒸餾方案。將教師網(wǎng)絡(luò)生成的特征層作為真實(shí)樣本,學(xué)生網(wǎng)絡(luò)生成的特征層做為假樣本,并對(duì)兩者做生成對(duì)抗訓(xùn)練,以提高學(xué)生網(wǎng)絡(luò)在一步目標(biāo)檢測(cè)中的表現(xiàn)。
1 Introduction
近些年來(lái),隨著目標(biāo)檢測(cè)算法的發(fā)展,研究者們發(fā)現(xiàn)利用更深更大的卷積神經(jīng)網(wǎng)絡(luò)作為骨架,對(duì)目標(biāo)檢測(cè)算法的精度提升越大。并且隨著目標(biāo)檢測(cè)算法的檢測(cè)精度提升,使視覺(jué)檢測(cè)算法逐漸從非關(guān)鍵性領(lǐng)域,走向關(guān)鍵性領(lǐng)域(比如無(wú)人駕駛和醫(yī)療等領(lǐng)域)。但是為了保證檢測(cè)精度,不得不使用更大的卷積神經(jīng)網(wǎng)絡(luò)作為骨架,造成檢測(cè)速度下降,計(jì)算設(shè)備成本增加。因此許多研究者在確保檢測(cè)精度的前提下,提高檢測(cè)速度提出了很多方法和總結(jié),如通過(guò)深度分離卷積 [1,2],或者通過(guò)點(diǎn)群卷積(pointwise group convolution)和通道混洗(channel shuffle)[3, 4] 來(lái)降低卷積神經(jīng)網(wǎng)絡(luò)浮點(diǎn)運(yùn)算次數(shù)的方法,在保證骨架網(wǎng)絡(luò)精度和容量的情況下減少計(jì)算量。雖然獲得可觀的提速效果,但是這些方法需要精心設(shè)計(jì)和調(diào)整骨架網(wǎng)絡(luò)。很多研究者認(rèn)為更深的骨架網(wǎng)絡(luò)雖然有著更大的網(wǎng)絡(luò)容量,因此在圖像分類、目標(biāo)檢測(cè)等任務(wù)上有著更優(yōu)秀的表現(xiàn)。但是一些特定的任務(wù)并不需要這么大的容量,所以在保證卷積神經(jīng)網(wǎng)絡(luò)精度的情況和下,對(duì)卷積神經(jīng)網(wǎng)絡(luò)做壓縮、量化、通道減枝等[5, 6, 7, 8, 9]。
另一方面,有關(guān)于知識(shí)蒸餾的工作表明[10, 11, 12, 13],使用一個(gè)更深更大的模型,并且在充分訓(xùn)練完畢后作為teacher net,然后再選取一個(gè)比較淺的模型作為student net,最后使用teacher net輸出的結(jié)果或者中間結(jié)果作為soft label結(jié)合真實(shí)樣本的true label同時(shí)訓(xùn)練student net,可以極大的提升student net在特定任務(wù)上的表現(xiàn)。但是大部分這些方法都需要設(shè)計(jì)非常復(fù)雜的代價(jià)函數(shù)和訓(xùn)練方式,并且這些方法多用于圖像分類和兩步目標(biāo)檢測(cè)等,極少用于一步目標(biāo)檢測(cè)。因此,我們需要一個(gè)更加簡(jiǎn)單而有效,并且可以適用于一步目標(biāo)檢測(cè)的知識(shí)蒸餾方式。本文提出一種簡(jiǎn)單而有效知識(shí)蒸餾神經(jīng)網(wǎng)絡(luò)架構(gòu),并且可以明顯的提升student net在一步目標(biāo)檢測(cè)網(wǎng)絡(luò)的表現(xiàn)。和常規(guī)的知識(shí)蒸餾方式不同的是,我們參考對(duì)抗生成的神經(jīng)網(wǎng)絡(luò)架構(gòu)[14],將重型目標(biāo)檢測(cè)神經(jīng)網(wǎng)絡(luò)和輕型目標(biāo)檢測(cè)神經(jīng)網(wǎng)絡(luò)的骨架分別拆分出來(lái)作為teacher net和student net,然后把teacher net 生成的feature map作為真實(shí)樣本,而student net則作為生成器,并把student net生成的feature map作為假樣本,最后根據(jù)真實(shí)樣本和假樣本設(shè)計(jì)一個(gè)神經(jīng)網(wǎng)絡(luò)作為判別器,做生成對(duì)抗訓(xùn)練。
我們的貢獻(xiàn)主要有兩點(diǎn):
1 提出一種不需要設(shè)計(jì)復(fù)雜的代價(jià)函數(shù)的網(wǎng)絡(luò)架構(gòu),并且可以適用于一步目標(biāo)檢測(cè)。
2 利用對(duì)抗生成網(wǎng)絡(luò)架構(gòu),避免復(fù)雜的知識(shí)遷移設(shè)計(jì),讓student net自動(dòng)的從teacher net中獲取暗知識(shí)。
2 Related Works
深度學(xué)習(xí)目標(biāo)檢測(cè)算法架構(gòu)主要分為兩種,一種是一步檢測(cè),比如Liu W等人提出的SSD[15],直接通過(guò)通過(guò)卷積神經(jīng)網(wǎng)絡(luò)回歸出物體的位置和類別,另一種是二步檢測(cè),如girshick等人提出的fast rcnn[16],以及后來(lái)Faster-RCNN [17] and R-FCN [18]等,首先通過(guò)卷積神經(jīng)網(wǎng)絡(luò)回歸候選框,最后根據(jù)候選框再次識(shí)別每個(gè)候選框的類別,并回歸出正確的位置。
網(wǎng)絡(luò)裁剪,許多研究者認(rèn)為深度神經(jīng)網(wǎng)絡(luò)被過(guò)度參數(shù)化,并且有很多冗余的神經(jīng)元和連接,He Y等人認(rèn)為[8],cnn每層神經(jīng)元都是稀疏的,利用lasso regression回歸找出cnn每層最有代表性的神經(jīng)元重構(gòu)該層的輸出。Zhuang Z等人[9]認(rèn)為layer-by-layer進(jìn)行通道剪枝會(huì)影響cnn的鑒別能力,所以通過(guò)在fine-tune和剪枝階段加入輔助loss,來(lái)保留cnn每層的鑒別能力。
網(wǎng)絡(luò)量化, Wu J等人[20]通過(guò)k-means聚類算法加速和壓縮模型的卷積層和全連接層,通過(guò)減小每層輸出響應(yīng)的估計(jì)誤差可實(shí)現(xiàn)更好的量化結(jié)果,并提出一種有效的訓(xùn)練方案抑制量化后的多層累積誤差 。Jacob B[21]等人提出將weights和inputs量化為uint8 bias量化為unit32同時(shí)訓(xùn)練期間前向時(shí)候采用量化,反向修正誤差不量化,以確保cnn表現(xiàn)的情況下提高inference速度。
知識(shí)蒸餾是一種壓縮模型并確保準(zhǔn)確的一種方法。hinton 等人提出[2]將teacher net輸出的結(jié)果作為soft label,并提倡使用溫度交叉熵而不是L2損失。romero 等人[19]認(rèn)為需要更多的unlabeled data讓student net去mimic才能使student net經(jīng)可能的接近teacher net,Chen G[12]等人在優(yōu)化2步目標(biāo)檢測(cè)網(wǎng)絡(luò)分別將teacher net的中間feature map 以及rpn/rcnn的暗知識(shí)提取出來(lái)讓student net去mimic。其他研究者也有將teacher net的attention信息給student網(wǎng)絡(luò),如Zagoruyko S[22]等人提出spatial-attention,將teacher net的熱力信息傳遞給student net。Yim J等人[23]將teacher net層與層之間的關(guān)系作為student網(wǎng)絡(luò)mimic的目標(biāo)。但是他們?cè)O(shè)計(jì)的的知識(shí)蒸餾都是要設(shè)計(jì)非常復(fù)雜的loss function,和復(fù)雜的暗知識(shí)的提取方式,并且這些方法多是在兩步目標(biāo)檢測(cè)算法中很少用于一步目標(biāo)檢測(cè)中。為了能用一個(gè)簡(jiǎn)單有效的知識(shí)蒸餾的方式,我們參考生成對(duì)抗網(wǎng)絡(luò)的架構(gòu)方式[14]將教師網(wǎng)絡(luò)生成的特征層作為真實(shí)樣本,學(xué)生網(wǎng)絡(luò)生成的特征層做為假樣本,并對(duì)兩者做生成對(duì)抗訓(xùn)練,以提高學(xué)生網(wǎng)絡(luò)在一步目標(biāo)檢測(cè)中的表現(xiàn)。
3 Method
在本文中,我們采用一步目標(biāo)檢測(cè)算法SSD[15]作為我們的目標(biāo)檢測(cè)算法,SSD目標(biāo)檢測(cè)算法結(jié)構(gòu)主要分成兩部分,1)骨架網(wǎng)絡(luò),作為特征提取器。2)Head,在骨架網(wǎng)絡(luò)提取的特征上,檢測(cè)出目標(biāo)的類別和位置。為了能獲取更好的知識(shí)蒸餾效果,合理利用這個(gè)兩個(gè)部分至關(guān)重要。
3.1 Overall Structure
fig 1為我們算法模型的整體結(jié)構(gòu),我們首先使用一個(gè)容量更大的SSD模型,在充分訓(xùn)練后將該SSD模型拆分成骨架網(wǎng)絡(luò)和SSD-Head,其中骨架網(wǎng)絡(luò)作為teacher net,然后再挑選一個(gè)容量較小的CNN作為student net。我們把teacher net生成的多個(gè)feature map作為true sample,而student net生成的多個(gè)feature map作為fake sample,并且將true sample和fake sample送入D Net中相對(duì)應(yīng)的每個(gè)判別網(wǎng)絡(luò)(fig 2)中,同時(shí)把fake sample輸入到SSD-Head中。
3.2 Training Process
(1)
公式1中的N代表batchsize的大小,D代表判別網(wǎng)絡(luò),Teacher和Student分別代表teacher net和student net, θt、θs、θd分別代表teacher net、student net 和D Net模塊中每個(gè)判別網(wǎng)絡(luò)的weights。Lconf表示SSD中分類的損失函數(shù),Lloc表示SSD中邊界框的損失函數(shù)。
4 Experiment
在本章節(jié),我們將在PASCAL VOC中做實(shí)驗(yàn)來(lái)驗(yàn)證我們的方法,包含20個(gè)類別。并且我們的方法訓(xùn)練的硬件為two NVIDIA GTX 1080Ti GPUs。訓(xùn)練所用的軟件框架為gluoncv。
4.1 Training and testing data
由于時(shí)間的關(guān)系,我們訓(xùn)練使用的數(shù)據(jù)集Pascal Voc 2012trainval和Pascal Voc 2007 trainval sets,測(cè)試數(shù)據(jù)集為Pascal Voc 2007 test sets。該數(shù)據(jù)集包含檢測(cè)物體的類別和位置信息。評(píng)估標(biāo)準(zhǔn)按照Pascal Voc競(jìng)賽所約定的,通過(guò)iou=0.5時(shí)的mAP來(lái)評(píng)估模型檢測(cè)精度。而coco數(shù)據(jù)集上,使用coco 2017 trainset作為訓(xùn)練集,coco 2017 test作為測(cè)試集。
4.2 Results
我們將原生的SSD和在不同的Teacher net下知識(shí)蒸餾的SSD做比較,高可以提升student net 2.8mAP。不過(guò)有趣的是,當(dāng)teacher net為ResNet101,student net為ResNet18時(shí),提升的效果反而不如ResNet50。而在coco上使用resnet50作為teacher net,moblinet作為student net,提升Moblient-SSD 4個(gè)mAP。
Table 1. Different student nets are not used GAN-knowledge distillation and the use of a GAN-knowledge distillation in different teacher net test results.
目前已經(jīng)將該方法使用在faster rcnn上,考慮到時(shí)間,目前僅僅在pascal voc 2007上進(jìn)行測(cè)試,coco正在訓(xùn)練。
Table 2. moblienetv1 use GAN-knowledge distillation in coco.
Table 3. Teacher net為骨架網(wǎng)絡(luò)為ResNet101的faster rcnn,且使用Pascal Voc 2007 trainval作為訓(xùn)練集,在Pascal Voc 2007 test測(cè)試集上mAP為74.8+。第一行和第二行使用GAN Knowledge Distillation[1]方法,第三行為cvpr2019的 Distilling Object Detectors with Fine-grained Feature Imitation[2]的方法效果。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前題目:奇點(diǎn)云三角肌「秀肌肉」,端化目標(biāo)檢測(cè)模型再獲突破-創(chuàng)新互聯(lián)
標(biāo)題來(lái)源:http://jinyejixie.com/article34/dcgpse.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、搜索引擎優(yōu)化、網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)、虛擬主機(jī)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容