雷潔,饒文碧,2,楊焱超,熊盛武,2
(1.武漢理工大學(xué) 計(jì)算機(jī)與人工智能學(xué)院,武漢 430070;2.武漢理工大學(xué) 三亞科教創(chuàng)新園,海南 三亞 572000)
隨著深度卷積神經(jīng)網(wǎng)絡(luò)的迅猛發(fā)展,高性能并行計(jì)算的成熟以及大數(shù)據(jù)的積累,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)技術(shù)[1-3]開始涌現(xiàn)并取得了突破性進(jìn)展。但目前主流的基于監(jiān)督學(xué)習(xí)的目標(biāo)檢測(cè)方法[1-2,4]的檢測(cè)性能依賴于標(biāo)注數(shù)據(jù)的規(guī)模,標(biāo)注數(shù)據(jù)的規(guī)模越大,標(biāo)注數(shù)據(jù)的類別越全面,經(jīng)過學(xué)習(xí)的目標(biāo)檢測(cè)模型的性能就越高。在多數(shù)應(yīng)用場(chǎng)景中,收集高精度的標(biāo)注數(shù)據(jù)是十分耗費(fèi)財(cái)力物力的工作,而獲取大量未標(biāo)注數(shù)據(jù)卻較為容易。如果僅利用少量的標(biāo)注數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,不僅會(huì)造成嚴(yán)重的過擬合問題,同時(shí)也浪費(fèi)了大量的未標(biāo)注數(shù)據(jù)。因此,通過少量的標(biāo)注數(shù)據(jù)指導(dǎo),利用大量未標(biāo)注數(shù)據(jù)改善檢測(cè)性能的半監(jiān)督學(xué)習(xí)方法逐漸得到研究人員的關(guān)注。
大多數(shù)的半監(jiān)督學(xué)習(xí)方法應(yīng)用于圖像分類領(lǐng)域[5-7]和語(yǔ)義檢測(cè)領(lǐng)域[8-9],少數(shù)應(yīng)用于目標(biāo)檢測(cè)領(lǐng)域[10-12]。根據(jù)模型結(jié)構(gòu)以及損失函數(shù)的不同,半監(jiān)督學(xué)習(xí)方法可以分為生成式方法、一致性正則化方法、基于圖的方法、偽標(biāo)簽方法[13-15]以及綜合方法[16-17]。綜合方法是5類半監(jiān)督學(xué)習(xí)方法中表現(xiàn)最為優(yōu)秀的方法,其結(jié)合了偽標(biāo)簽、熵最小化、一致性正則化等方法并調(diào)整這些方法達(dá)到最好的表現(xiàn)[18]。部分研究人員將半監(jiān)督學(xué)習(xí)方法與目標(biāo)檢測(cè)相結(jié)合來挖掘未標(biāo)注數(shù)據(jù)中的信息,提高了目標(biāo)檢測(cè)模型的性能。
SOHN 等[10]于2020 年提出了STAC 方法,該方法將利用標(biāo)注數(shù)據(jù)訓(xùn)練過的Teacher 模型用于預(yù)測(cè)未標(biāo)注數(shù)據(jù)的檢測(cè)結(jié)果,并將得到預(yù)測(cè)結(jié)果的未標(biāo)注數(shù)據(jù)作為偽標(biāo)簽數(shù)據(jù)和標(biāo)注數(shù)據(jù)用于Student 模型訓(xùn)練。該方法基于半監(jiān)督學(xué)習(xí)的綜合方法FixMatch[16],將偽標(biāo)簽和一致性正則化等半監(jiān)督學(xué)習(xí)方法應(yīng)用到目標(biāo)檢測(cè)領(lǐng)域。但STAC 方法存在著Teacher 模型無(wú)法在線更新的問題,導(dǎo)致最終的目標(biāo)檢測(cè)模型的性能受到局限。ZHOU 等[11]于2021 年提出了Instant-Teaching 方法,該方法在STAC 方法的基礎(chǔ)上實(shí)現(xiàn)了Teacher 模型在線更新,同時(shí)增加了數(shù)據(jù)增強(qiáng)處理操作和多Teacher 模型糾正機(jī)制提高偽標(biāo)簽的準(zhǔn)確率,緩解了偽標(biāo)簽中錯(cuò)誤標(biāo)注給模型帶來的負(fù)面影響。XU 等[19]于2021 年提出的SoftTeacher方法在Instant-Teaching 方法的基礎(chǔ)上不僅簡(jiǎn)化了訓(xùn)練過程,同時(shí)對(duì)定位數(shù)據(jù)的不確定性進(jìn)行評(píng)估,篩除不確定性值高的定位數(shù)據(jù),進(jìn)一步削弱了錯(cuò)誤定位信息對(duì)模型的偏移。研究人員提出多種方法提高偽標(biāo)簽的準(zhǔn)確率,減少錯(cuò)誤標(biāo)注數(shù)據(jù)用于訓(xùn)練,但目前基于偽標(biāo)簽的目標(biāo)檢測(cè)方法的檢測(cè)性能仍然不太理想。
文獻(xiàn)[19]認(rèn)為置信度無(wú)法評(píng)估偽標(biāo)簽中定位數(shù)據(jù)是否準(zhǔn)確,因此提出定位不確定性計(jì)算方法計(jì)算偽標(biāo)簽中定位數(shù)據(jù)的不確定性,作為篩選定位標(biāo)簽的主要依據(jù)。但置信度作為篩選類別標(biāo)簽的依據(jù)同樣并不充分,因此考慮計(jì)算分類信息的不確定性作為篩選類別標(biāo)簽的第二依據(jù)。
深度學(xué)習(xí)中的不確定性可以分為模型不確定性和數(shù)據(jù)不確定性。模型不確定性是指模型對(duì)于自己沒有學(xué)習(xí)過的數(shù)據(jù)的預(yù)測(cè)是含有很大不確定性的,可以通過增加訓(xùn)練數(shù)據(jù)來緩解,目前評(píng)估模型不確定性的方法主要有基于貝葉斯的方法[20-21]和基于蒙特卡洛的方法[22-23],基于蒙特卡洛的方法由于計(jì)算量較小且不用大范圍改動(dòng)模型結(jié)構(gòu),因此比較受歡迎。數(shù)據(jù)不確定性是指數(shù)據(jù)中本來就存在的一種偏差或噪聲,一般困難正樣本比簡(jiǎn)單正樣本的不確定性高,目前評(píng)估數(shù)據(jù)不確定性的方法較少,主要有基于Laplace 的方法[24]。ABDAR 等[25]通過統(tǒng)計(jì)9 篇論文,提出了MC-Dropout 方法,對(duì)于他們的工作極為有效。RIZVE 等[5]于2021 年提出了UPS 方法,該方法結(jié)合偽標(biāo)簽學(xué)習(xí)以及圖像分類不確定性估計(jì),提出一個(gè)偽標(biāo)簽選擇框架,在CIFAR-10 和CIFAR-100數(shù)據(jù)集上表現(xiàn)優(yōu)秀。
針對(duì)偽標(biāo)簽數(shù)據(jù)中錯(cuò)誤標(biāo)簽難以篩除以及置信度低的正確標(biāo)簽較難選擇的問題,本文提出一種分類不確定性計(jì)算(Classification Uncertainty Calculation,CUC)算法來計(jì)算偽標(biāo)簽中類別預(yù)測(cè)結(jié)果的不確定性,同時(shí)對(duì)偽標(biāo)簽圖像的分類損失函數(shù)進(jìn)行修改,以更好地反饋目標(biāo)檢測(cè)模型的擬合情況,在此基礎(chǔ)上對(duì)SoftTeacher 方法中的Teacher模型在線更新公式指數(shù)滑動(dòng)平均(Exponential Moving Average,EMA)進(jìn)行修改,通過模型更新策略——不同權(quán)重的指數(shù)移動(dòng)均值(Exponential Moving Average Different,EMAD)增強(qiáng)Teacher 模型和Student 模型的獨(dú)立性,以進(jìn)行Teacher-Student 雙模型的協(xié)同訓(xùn)練。
SoftTeacher算法在偽標(biāo)簽?zāi)繕?biāo)檢測(cè)領(lǐng)域表現(xiàn)較優(yōu),不僅簡(jiǎn)化了訓(xùn)練步驟,同時(shí)提出定位不確定性計(jì)算方法,提高了偽標(biāo)簽?zāi)繕?biāo)檢測(cè)的檢測(cè)性能。同時(shí),將CUC方法、修改后的損失函數(shù)以及模型更新策略EMAD 應(yīng)用于SoftTeacher 算法驗(yàn)證提出方法的有效性。
SoftTeacher-CUC(SoftTeacher with Classification Uncertainty Calculation)算法模型結(jié)構(gòu)如圖1 所示。
圖1 SoftTeacher-CUC 算法模型結(jié)構(gòu)Fig.1 Structure of SoftTeacher-CUC algorithm model
該模型主要由偽標(biāo)簽生成分支和Student 模型訓(xùn)練分支兩個(gè)分支構(gòu)成。在偽標(biāo)簽生成分支上,未標(biāo)注數(shù)據(jù)經(jīng)過Weak Aug 數(shù)據(jù)增強(qiáng)處理后輸入Teacher 模型得到預(yù)測(cè)結(jié)果,預(yù)測(cè)結(jié)果經(jīng)過NMS(Non Maximum Suppression)初步選擇后,其中的定位數(shù)據(jù)通過Box Jittering 方法選擇得到可靠的定位數(shù)據(jù),而分類數(shù)據(jù)通過置信度閾值選擇得到可靠的預(yù)測(cè)類別。在Student 模型訓(xùn)練分支上,相同的未標(biāo)注數(shù)據(jù)經(jīng)過Strong Aug 處理和標(biāo)注數(shù)據(jù)共同輸入Student 模型得到預(yù)測(cè)結(jié)果,未標(biāo)注數(shù)據(jù)的預(yù)測(cè)結(jié)果和Teacher 生成并被選擇的預(yù)測(cè)結(jié)果一起計(jì)算損失值,標(biāo)注數(shù)據(jù)按正常的目標(biāo)檢測(cè)訓(xùn)練過程計(jì)算損失值,最后用于Student 模型優(yōu)化更新。Student 模型優(yōu)化更新后通過EMA 方法更新Teacher 模型。
多數(shù)偽標(biāo)簽?zāi)繕?biāo)檢測(cè)方法為了避免大量標(biāo)注錯(cuò)誤的偽標(biāo)簽數(shù)據(jù)用于Student 模型訓(xùn)練,選擇高置信度的偽標(biāo)簽數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。首先,由于Teacher模型沒有經(jīng)過預(yù)訓(xùn)練,因此生成的高置信度的偽標(biāo)簽也包含很多錯(cuò)誤標(biāo)注數(shù)據(jù);其次,稍低置信度的偽標(biāo)簽數(shù)據(jù)中存在很多正確標(biāo)注數(shù)據(jù),如果能利用這些數(shù)據(jù)訓(xùn)練模型,可以極大地提高模型的泛化能力,緩解過擬合情況。因此,引入除置信度以外的判斷依據(jù)來挖掘稍低置信度中的正確標(biāo)注數(shù)據(jù)用于模型訓(xùn)練。受到文獻(xiàn)[22]的啟發(fā),本文提出了CUC 的分類不確定性計(jì)算方法,用于偽標(biāo)簽生成分支中選擇可靠的分類數(shù)據(jù)。
目標(biāo)檢測(cè)領(lǐng)域應(yīng)用最廣泛的分類損失函數(shù)是交叉熵?fù)p失函數(shù),交叉熵?fù)p失函數(shù)主要是通過置信度來計(jì)算真實(shí)分布和預(yù)測(cè)分布的差異。由于增加了分類不確定性這一評(píng)估預(yù)測(cè)分布的新依據(jù),因此考慮將分類不確定性作為權(quán)重加入到分類損失函數(shù)中,使損失函數(shù)更具代表性、更加貼合預(yù)測(cè)分布和真實(shí)分布的差異。
偽標(biāo)簽?zāi)繕?biāo)檢測(cè)方法的Teacher-Student 模型結(jié)構(gòu)采用了一致性正則化的思想。文獻(xiàn)[18]針對(duì)一致性正則化方法提供了兩種方法可以提高偽標(biāo)簽質(zhì)量。第一種方法是仔細(xì)選擇數(shù)據(jù)增強(qiáng)方法,避免引入更多噪音;第二種方法是仔細(xì)選擇Teacher 模型,而不是簡(jiǎn)單地復(fù)制Student 模型。因此,Teacher 模型和Student 模型相似性高,不利于一致性正則化方法起效,本文受指數(shù)移動(dòng)平均歸一化(Exponential Moving Average Normalization,EMAN)方法[26]的啟發(fā),提出基于EMAD 的Teacher 模型更新方法。
在偽標(biāo)簽?zāi)繕?biāo)檢測(cè)領(lǐng)域中,根據(jù)全連接層和softmax 函數(shù)將特征圖轉(zhuǎn)化為每一類的類別概率(即置信度),通過選擇置信度最大的類別作為最終的預(yù)測(cè)類別,并選擇最終預(yù)測(cè)結(jié)果的置信度高于置信度閾值的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)。
研究人員利用softmax 的置信度表示預(yù)測(cè)結(jié)果的不確定性,如果某一類別的置信度遠(yuǎn)遠(yuǎn)高于其他類別置信度就認(rèn)為該預(yù)測(cè)結(jié)果的不確定性低。但文獻(xiàn)[22]的實(shí)驗(yàn)表明,一些置信度高的預(yù)測(cè)結(jié)果仍然具有高不確定性。因此,受到文獻(xiàn)[22]的工作的啟發(fā),本文提出了CUC 的分類不確定性計(jì)算方法。
2.1.1 CUC 方法思路
模型預(yù)測(cè)不確定性可以通過模型參數(shù)的分布得到,而高斯分布作為統(tǒng)計(jì)領(lǐng)域強(qiáng)大的工具常用于模擬模型參數(shù)的分布,因此可以通過計(jì)算模型參數(shù)的高斯分布來得到不確定性,但計(jì)算高斯分布需要龐大的計(jì)算量。GAL 等提出加入dropout 層的神經(jīng)網(wǎng)絡(luò)可以近似高斯分布的變分推理,因此模型預(yù)測(cè)不確定性計(jì)算可以簡(jiǎn)化為通過dropout 多次采樣和計(jì)算方差得到。
CUC 方法的思路是:首先在Teacher 模型分類模塊的全連接層前添加dropout 層,實(shí)現(xiàn)近似高斯分布的效果;其次通過將訓(xùn)練數(shù)據(jù)反復(fù)輸入分類模塊得到預(yù)測(cè)結(jié)果實(shí)現(xiàn)采樣操作;最后通過計(jì)算方差實(shí)現(xiàn)模型預(yù)測(cè)不確定性的量化。CUC 方法的具體流程如圖2 所示。
圖2 CUC 方法流程Fig.2 Procedure of CUC method
首先將單張圖片生成的檢測(cè)框輸入帶有dropout 層的分類回歸模塊若干次,得到若干次的預(yù)測(cè)結(jié)果;其次計(jì)算若干次預(yù)測(cè)結(jié)果的方差,將預(yù)測(cè)結(jié)果的方差作為該目標(biāo)分類結(jié)果的不確定性。通常認(rèn)為重復(fù)預(yù)測(cè)的次數(shù)越高,計(jì)算得到的方差越具有代表性,但頻繁的重復(fù)預(yù)測(cè)會(huì)延長(zhǎng)模型的訓(xùn)練時(shí)間,因此本文參考UPS 方法,重復(fù)預(yù)測(cè)10 次。
通過上述方法計(jì)算得到的目標(biāo)的不確定性可以代表模型對(duì)該類目標(biāo)的學(xué)習(xí)程度。如果模型之前從未學(xué)習(xí)或?qū)W習(xí)了很少該類目標(biāo),則不確定性就會(huì)很高;相反如果模型之前學(xué)習(xí)過該類目標(biāo)或者類似的目標(biāo),則不確定性就會(huì)較低。因此,不確定性可以在一定程度上反映模型對(duì)于輸入數(shù)據(jù)的學(xué)習(xí)程度,從而判斷預(yù)測(cè)結(jié)果是否可靠,幫助篩選出更可靠的偽標(biāo)簽數(shù)據(jù)。
2.1.2 CUC 方法實(shí)現(xiàn)
在SoftTeacher 方法中,Teacher 模型由特征提取模塊ResNet-50、多尺度特征融合模塊FPN(Feature Pyramid Network)、候選框生成模 塊RPN(Region Proposal Network)和分類回歸模塊組成。由于分類操作主要是發(fā)生在分類回歸模塊,因此在分類回歸模塊中添加丟棄概率為0.3 的dropout 層,修改后的分類回歸模塊具體結(jié)構(gòu)如圖3 所示。
圖3 分類回歸模塊結(jié)構(gòu)Fig.3 Structure of classification regression module
CUC 方法的算法描述如下:
算法1分類不確定性計(jì)算
輸入RPN 模塊生成的檢測(cè)框數(shù)據(jù)
輸出每個(gè)檢測(cè)框的不確定性
1.將Teacher 模型的dropout 層設(shè)置為train 狀態(tài)。
2.將單張圖片的檢測(cè)框數(shù)據(jù)輸入分類回歸模塊10 次,得到10 次的分類預(yù)測(cè)結(jié)果。
3.將得到的10 次分類預(yù)測(cè)結(jié)果拼接成尺寸為10×N×C的張量,其中,N 表示檢測(cè)框的數(shù)量,C 表示類別數(shù)量。
4.計(jì)算方差得到尺寸為N×C 的方差張量。
5.選擇偽標(biāo)簽中檢測(cè)框的預(yù)測(cè)類別對(duì)應(yīng)的方差作為檢測(cè)框的不確定性,得到尺寸為N 的不確定性張量。
6.將Teacher 模型的dropout 層設(shè)置為val 狀態(tài)
SoftTeacher 方法中損失函數(shù)由標(biāo)注圖像的損失函數(shù)和偽標(biāo)簽圖像的損失函數(shù)組成,具體的公式如下:
其中:Ls表示標(biāo)注圖像的損失函數(shù);Lu表示偽標(biāo)簽圖像的損失函數(shù);α表示偽標(biāo)簽損失函數(shù)的權(quán)重,一般根據(jù)標(biāo)注圖像和偽標(biāo)簽圖像的比例設(shè)置。
標(biāo)注圖像的損失函數(shù)和偽標(biāo)簽損失函數(shù)的具體公式如下:
其中:Nl和Nu分別表示標(biāo)注圖像數(shù)量和偽標(biāo)簽的圖像數(shù)量;Lcls和Lreg分別表示檢測(cè)結(jié)果的分類損失函數(shù)和定位損失函數(shù);和分別表示第i張標(biāo)注的圖像和第i張偽標(biāo)簽圖像。SoftTeacher 方法中用到的分類損失函數(shù)和定位損失函數(shù)與Faster RCNN[1]模型相同,但對(duì)偽標(biāo)簽的分類損失函數(shù)進(jìn)行了一定的修改,對(duì)背景檢測(cè)框的損失附加權(quán)重,具體的公式如下:
其中:Gcls表示Teacher 模型生成并經(jīng)過篩選的偽標(biāo)簽分類結(jié)果;lcls表示損失函數(shù)即交叉熵公式;rj表示第j個(gè)背景檢測(cè)框的置信度,由Teacher 模型生成;和分別表示前景檢測(cè)框的數(shù)量和背景檢測(cè)框的數(shù)量。
通過偽標(biāo)簽分類損失函數(shù)式(4)和式(5)可以看出,SoftTeacher 僅采用了模型的全連接層生成的置信度計(jì)算分類損失,并反饋給模型進(jìn)行模型參數(shù)更新。由于在2.1 節(jié)中實(shí)現(xiàn)了分類不確定性的計(jì)算方法,可以得到新的衡量模型分類質(zhì)量的指標(biāo),因此修改偽標(biāo)簽圖像分類損失函數(shù),將分類結(jié)果的不確定性作為權(quán)重加入到損失函數(shù)中。修改后的偽標(biāo)簽分類損失函數(shù)的具體公式如下:
其中:uj表示第j個(gè)檢測(cè)框的不確定性值。
分類困難目標(biāo)和模型學(xué)習(xí)不充分目標(biāo)的不確定性高,不確定性數(shù)值作為權(quán)重后導(dǎo)致該類目標(biāo)的預(yù)測(cè)結(jié)果在整個(gè)損失值中的占比下降,該類目標(biāo)對(duì)模型更新造成的影響會(huì)減弱,緩解了錯(cuò)誤標(biāo)注目標(biāo)對(duì)Student 模型訓(xùn)練造成的負(fù)面影響。修改后的偽標(biāo)簽分類損失函數(shù)包含了預(yù)測(cè)結(jié)果的兩個(gè)評(píng)估指標(biāo),可以反饋給模型更全面的信息,提高模型的優(yōu)化程度。
在SoftTeacher 方法中,更新Teacher 模型采用的是深度半監(jiān)督學(xué)習(xí)領(lǐng)域最常使用的EMA 方法。EMA 方法的具體公式如下:
其中:和分別表示Teacher 模型在t-1 時(shí)刻和t時(shí)刻的模型參 數(shù);表示Student 模型在t時(shí)刻的模型參數(shù);β表示Teacher 模型和Student 模型的占比權(quán)重,絕大多數(shù)偽標(biāo)簽?zāi)繕?biāo)檢測(cè)方法將該超參數(shù)固定為0.9,而在SoftTeacher 方法中,β會(huì)隨著訓(xùn)練的迭代次數(shù)減少。
通過上述公式可以觀察到:傳統(tǒng)的Teacher 模型更新方法表明Student 模型在式(7)中占比很低,表明Teacher 模型參數(shù)更新后的改變很小,導(dǎo)致整個(gè)訓(xùn)練過程由于Teacher 模型更新提升緩慢而漫長(zhǎng)。SoftTeacher 在訓(xùn)練前期,Student 模型在更新中占比非常高,但考慮到Teacher 模型和Student 模型太過一致的問題,到訓(xùn)練后期Student 模型在更新中占比下降。雖然這一方法在訓(xùn)練中有利于檢測(cè)性能的提高,但訓(xùn)練后期不再進(jìn)行大幅更新,也限制了Teacher 模型的性能提高,從而限制Student 模型的性能提高。受到文獻(xiàn)[26]的啟發(fā),本文提出基于EMAD 的Teacher 模型更新策略。
2.3.1 EMAD 方法思路
EMAD 方法主要是將Teacher 模型的參數(shù)根據(jù)模塊作用分為特征提取模塊參數(shù)、FPN 模塊參數(shù)、RPN 模塊參數(shù)、分類回歸模塊參數(shù)以及BN(Batch Normalization)層的不可學(xué)習(xí)參數(shù)5 個(gè)部分。不同部分的參數(shù)采用不同的更新方法。
由于模型的特征提取模塊、多尺度特征融合模塊和候選框生成模塊主要是對(duì)圖像特征進(jìn)行處理,因此采用SoftTeacher 中的原EMA 方法對(duì)Teacher 模型中的上述3 個(gè)模塊進(jìn)行更新。但分類回歸模塊的作用是對(duì)目標(biāo)的分類和定位,一旦參數(shù)和Student 模型相似會(huì)導(dǎo)致偽標(biāo)簽數(shù)據(jù)和Student 模型預(yù)測(cè)結(jié)果接近,因此減少EMA 方法中Student 模型占比,降低兩個(gè)模型參數(shù)的相似,將β設(shè)置為固定的0.5。
BN 層的主要作用是對(duì)每層神經(jīng)網(wǎng)絡(luò)的輸入輸出值進(jìn)行標(biāo)準(zhǔn)化處理,使輸入輸出值位于正態(tài)分布范圍,以此避免梯度消失的問題。BN 層對(duì)輸入值處理的具體公式如下:
其中:n表示批處理大小;μ和σ2表示該批數(shù)據(jù)的均值和方差,是BN 層的不可學(xué)習(xí)參數(shù);γ和β表示可學(xué)習(xí)的模型參數(shù);ε表示常量。EMA 方法對(duì)Teacher 模型的BN 層的參數(shù)進(jìn)行更新,BN 層中γ和β參數(shù)來源于Student 模型,而μ和σ2參數(shù)來源于最近一批數(shù)據(jù),兩種類型的參數(shù)不一致,容易對(duì)Teacher 模型造成負(fù)面影響。因此,利用EMA 方法對(duì)不可學(xué)習(xí)參數(shù)μ和σ2進(jìn)行更新,保持兩種參數(shù)的一致性,具體的更新公式如下:
2.3.2 EMAD 方法實(shí)現(xiàn)
Teacher 模型更新算法如下:
算法2Teacher 模型更新算法
本文將改進(jìn)后的SoftTeacher 算法在MS COCO公共數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn)。MS COCO 包含80 種類別的目標(biāo),主要由訓(xùn)練集train2017、驗(yàn)證集val2017和無(wú)標(biāo)簽數(shù)據(jù)集unlabeled2017 三個(gè)數(shù)據(jù)集組成。訓(xùn)練集train2017 有118 000 張標(biāo)注圖像,驗(yàn)證集val2017 有5 000 張標(biāo)注圖像,無(wú)標(biāo)簽數(shù)據(jù)集unlabeled2017 有123 000 張未標(biāo)注的圖像。
SoftTeacher-CUC 算法的訓(xùn)練數(shù)據(jù)和SoftTeacher保持一致。首先在train2017 中分別隨機(jī)抽取占train2017 總數(shù)量1%、5%和10%的圖像分別構(gòu)成多個(gè)標(biāo)注數(shù)據(jù)集,剩下的圖像作為未標(biāo)注數(shù)據(jù)集。模型在新構(gòu)成的標(biāo)注數(shù)據(jù)集和未標(biāo)注數(shù)據(jù)集上進(jìn)行訓(xùn)練,在驗(yàn)證集val2017 上進(jìn)行性能評(píng)估。
實(shí)驗(yàn)所用到的評(píng)估指標(biāo)是目標(biāo)檢測(cè)領(lǐng)用通用的平均精度均值(mean Average Precision,mAP)評(píng)估指標(biāo),mAP 越接近于1,則檢測(cè)精度越高。單個(gè)類別AP 指的是PR(Precision-Recall)曲線與X軸圍成的圖形面積。
SoftTeacher-CUC 算法的模型結(jié)構(gòu)中Teacher 模型和Student 模型采用與SoftTeacher 實(shí)驗(yàn)一致的Faster RCNN 模型,并結(jié)合了FPN 模塊。特征提取模塊采用在ImageNet 預(yù)訓(xùn)練的ResNet-50 模型參數(shù)初始化,其他模塊的參數(shù)采用隨機(jī)初始化的方法。
SoftTeacher-CUC 算法模型在單個(gè)GPU 上訓(xùn)練,批處理大小是5(真實(shí)標(biāo)注圖像是1 張,未標(biāo)注圖像是4 張),使用隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)調(diào)整學(xué)習(xí)率,初始學(xué)習(xí)率是0.001,權(quán)重衰減為0.000 1,訓(xùn)練180K~720K 個(gè)epoch。
定位不確定性計(jì)算方法的超參數(shù)保持不變,重復(fù)定位10 次,選擇不確定性低于0.02 的檢測(cè)框?yàn)閭螛?biāo)簽中的定位數(shù)據(jù),檢測(cè)框的偏移處理是在4 個(gè)定位信息中隨機(jī)選取一個(gè)進(jìn)行偏移量在[-6%,6%]中的偏移操作。CUC 分類不確定性計(jì)算方法中dropout 層的丟棄率為0.3,重復(fù)分類10 次,選擇偽標(biāo)簽中分類數(shù)據(jù)的不確定性低于0.05 但置信度高于0.7 的偽標(biāo)簽用于Student 模型訓(xùn)練。
3.3.1 不同置信度閾值對(duì)比實(shí)驗(yàn)
本文通過CUC 方法計(jì)算偽標(biāo)簽數(shù)據(jù)中分類數(shù)據(jù)的不確定性作為選擇可靠偽標(biāo)簽數(shù)據(jù)的第二依據(jù),但需要通過實(shí)驗(yàn)選擇合適的不確定性閾值和置信度閾值用于偽標(biāo)簽篩選。
參考UPS 方法和SoftTeacher 方法,不確定性閾值和置信度閾值分別初始化為0.05 和0.9。由于減小不確定性閾值導(dǎo)致大量錯(cuò)誤標(biāo)注數(shù)據(jù)用于訓(xùn)練,造成模型在訓(xùn)練中平均精度均值較低,因此該對(duì)比實(shí)驗(yàn)主要是研究在不確定性閾值保持0.05 不變的情況下不同置信度閾值的模型訓(xùn)練情況。分別在標(biāo)注數(shù)據(jù)占訓(xùn)練數(shù)據(jù)的1%、5%和10%這3 種情況下進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖4 所示。
圖4 不同置信度閾值對(duì)比結(jié)果Fig.4 Contrast result of different confidence thresholds
從圖4 的實(shí)驗(yàn)結(jié)果可以看出,當(dāng)置信度閾值保持 和SoftTeacher 相同的0.9 時(shí),Student 模型的檢測(cè)性能比SoftTeacher 方法中模型的檢測(cè)性能要稍低。但隨著置信度閾值下降,越來越多的低不確定性偽標(biāo)簽數(shù)據(jù)用于Student 模型訓(xùn)練,Student 模型的檢測(cè)性能也越來越高。當(dāng)置信度閾值降低到0.7 時(shí),Student 模型的檢測(cè)性能逐漸保持穩(wěn)定。因此,最終選擇置信度閾值為0.7。
3.3.2 消融實(shí)驗(yàn)
為了驗(yàn)證SoftTeacher-CUC 算法的有效性,SoftTeacher算法(包 括SoftTeacher-CUC 算法和Baseline 算法)都在單GPU 環(huán)境下訓(xùn)練,訓(xùn)練迭代次數(shù)、批處理大小以及學(xué)習(xí)率都保持一致。但Baseline算法在單GPU 下訓(xùn)練的性能和本文有一定差距。為了比較的公平性,運(yùn)用單GPU 下訓(xùn)練的性能與SoftTeacher-CUC 算法進(jìn)行比較。實(shí)驗(yàn)結(jié)果如表1所示。
表1 消融實(shí)驗(yàn)數(shù)據(jù)對(duì)比Table 1 Comparison of ablation experiment data %
從表1 中Baseline 和Baselin+CUC 的對(duì)比實(shí)驗(yàn)可以看出,結(jié)合CUC 分類不確定性方法的模型性能比原模型性能分別提高了1.2、0.9和1.3個(gè)百分點(diǎn),說明CUC方法在提高模型的檢測(cè)性能方面是有效的。隨著標(biāo)注數(shù)據(jù)從1%增加到10%,模型的檢測(cè)精度提高程度也從1.2 增加到1.3 個(gè)百分點(diǎn),說明標(biāo)注數(shù)據(jù)越多,CUC 方法越有效。下一步研究將增加未標(biāo)注數(shù)據(jù)量比較的實(shí)驗(yàn),觀察未標(biāo)注數(shù)據(jù)量的增加是否會(huì)對(duì)結(jié)合CUC 方法的偽標(biāo)簽?zāi)繕?biāo)檢測(cè)算法有影響。
從表1 中Baselin+CUC 和Baseline+CUC+EMAD的對(duì)比實(shí)驗(yàn)可以看出,結(jié)合EMAD 方法的模型比沒有結(jié)合EMAD 方法的模型的檢測(cè)性能分別提高了0.2、0.3 和0.4 個(gè)百分點(diǎn),說明Teacher 模型更新方法EMAD 對(duì)模型檢測(cè)性能的提高起到積極作用。
3.3.3 可視化實(shí)驗(yàn)
為了更好地觀察SoftTeacher-CUC 算法在檢測(cè)性能上的提升,本文通過免費(fèi)圖像網(wǎng)站選擇一張圖像,測(cè)試經(jīng)過相同訓(xùn)練的SoftTeacher-CUC 算法和SoftTeacher 算法的檢測(cè)性能,圖像檢測(cè)結(jié)果如圖5所示。
圖5 SoftTeacher-CUC 和SoftTeacher 算法檢測(cè)效果對(duì)比Fig.5 Comparison of detection effects of SoftTeacher-CUC and SoftTeacher algorithms
從圖5(a)和圖5(b)可以看出,在標(biāo)注數(shù)據(jù)為5%時(shí),SoftTeacher-CUC 算法的檢測(cè)效果要優(yōu)于SoftTeacher 算法的檢測(cè)效果;從圖5(c)和圖5(d)可以看出,在標(biāo)注數(shù)據(jù)為10%時(shí),SoftTeacher-CUC 算法的檢測(cè)效果要略優(yōu)于SoftTeacher 算法的檢測(cè)效果。上述實(shí)驗(yàn)結(jié)果表明:本文提出的改進(jìn)算法在標(biāo)注數(shù)據(jù)較少時(shí)優(yōu)勢(shì)明顯,檢測(cè)性能的提升效果更好。
3.3.4 橫向?qū)嶒?yàn)
本文選擇了偽標(biāo)簽?zāi)繕?biāo)檢測(cè)領(lǐng)域中前沿的4 種算法與SoftTeacher-CUC 算法進(jìn)行橫向?qū)Ρ?,分別是STAC算法[10]、Unbiased Teacher算法[12]、Instance-Teaching 算法[11]和SoftTeacher 算法[19]。由于一些偽標(biāo)簽?zāi)繕?biāo)檢測(cè)算法的訓(xùn)練環(huán)境要求較高,僅引用了其實(shí)驗(yàn)結(jié)果,一些滿足訓(xùn)練環(huán)境需求的偽標(biāo)簽?zāi)繕?biāo)檢測(cè)算法將在與SoftTeacher-CUC 算法相同的訓(xùn)練環(huán)境下訓(xùn)練。具體的對(duì)比數(shù)據(jù)如表2 所示。
表2 橫向?qū)嶒?yàn)數(shù)據(jù)對(duì)比Table 2 Comparison of transverse experimental data %
從表2 中可以看出,本文算法的檢測(cè)精度優(yōu)于其他4 種偽標(biāo)簽?zāi)繕?biāo)檢測(cè)算法。同時(shí),也證明了本文提出的改進(jìn)算法對(duì)于偽標(biāo)簽?zāi)繕?biāo)檢測(cè)算法能夠起到優(yōu)化、提高性能的作用。計(jì)劃在下一步的研究中將本文提出的算法應(yīng)用于其他的偽標(biāo)簽?zāi)繕?biāo)檢測(cè)方法中,以證明本文算法的通用性。
針對(duì)偽標(biāo)簽?zāi)繕?biāo)檢測(cè)算法中低置信度的偽標(biāo)簽數(shù)據(jù)無(wú)法被利用,導(dǎo)致模型過擬合、檢測(cè)性能不理想的問題,本文提出一種基于分類不確定性的偽標(biāo)簽?zāi)繕?biāo)檢測(cè)算法來確定偽標(biāo)簽數(shù)據(jù)的分類不確定性,從而篩選出更高質(zhì)量的偽標(biāo)簽用于Student 模型訓(xùn)練,通過對(duì)偽標(biāo)簽數(shù)據(jù)的分類損失函數(shù)進(jìn)行修改,將不確定性加入損失函數(shù)中,并修改了Teacher 模型的更新策略,在此基礎(chǔ)上對(duì)Teacher 模型的不同模塊調(diào)整Student 模型參數(shù)在更新中的權(quán)重。實(shí)驗(yàn)結(jié)果表明,改進(jìn)算法有效地改善了偽標(biāo)簽?zāi)繕?biāo)檢測(cè)中存在的問題,提高了模型的檢測(cè)性能。下一步將在本文研究的基礎(chǔ)上對(duì)Teacher 模型更新算法進(jìn)行修改,使Teacher 模型更新和Student 模型更新相互獨(dú)立,并不直接相關(guān),使一致性正則化的算法具有更大的作用,從而提高模型的檢測(cè)性能。