康夢雪,張金鵬,馬喆*,黃旭輝,劉雅婷,宋子壯
(1. 中國航天科工集團智能科技研究院有限公司,北京 100043;2. 航天防務(wù)智能系統(tǒng)與技術(shù)科研重點實驗室,北京 100043)
現(xiàn)代防御環(huán)境錯綜復(fù)雜,呈現(xiàn)出高動態(tài)強開放的特點,對防御體系的目標感知和檢測能力提出嚴峻挑戰(zhàn)。威脅目標種類多更新快,高價值信息隱蔽難獲取,導(dǎo)致歷史數(shù)據(jù)無法涵蓋所有潛在威脅目標,不能動態(tài)反映實時環(huán)境狀況。因此,基于大規(guī)模歷史數(shù)據(jù)和傳統(tǒng)深度學(xué)習(xí)方法所訓(xùn)練的智能系統(tǒng)存在動態(tài)開放環(huán)境適應(yīng)能力差的局限性。這要求新型智能系統(tǒng)應(yīng)能夠在動態(tài)開放場景下進行增量式持續(xù)自主學(xué)習(xí),將歷史數(shù)據(jù)與實況數(shù)據(jù)進行增量式融合,持續(xù)提升環(huán)境生存能力和對抗能力,從而自主應(yīng)對環(huán)境態(tài)勢變化,形成高水平智能化防御能力。
傳統(tǒng)目標感知算法不具備對未知新類型目標的持續(xù)感知能力,當(dāng)應(yīng)用場景從靜態(tài)封閉擴展到動態(tài)開放時,感知性能發(fā)生顯著退化。因此,對新類型威脅目標進行增量式連續(xù)學(xué)習(xí),迅速確定其數(shù)量、種類與威脅程度,是防御場景下持續(xù)自主感知能力的關(guān)鍵。近年來,增量式連續(xù)學(xué)習(xí)被提出用于動態(tài)開放場景下的目標感知,通常根據(jù)是否呈現(xiàn)任務(wù)標簽,將增量式連續(xù)學(xué)習(xí)分為3 種類型:任務(wù)增量、域增量和類增量。本文關(guān)注類增量連續(xù)學(xué)習(xí)與目標檢測任務(wù)的結(jié)合,即增量式連續(xù)目標檢測任務(wù)。
現(xiàn)有的增量式連續(xù)學(xué)習(xí)方法在分類任務(wù)上取得了較好的進展[1-5],但在檢測識別任務(wù)上難度較大進展較少。分類任務(wù)中單幀圖像一般只包含單一類別的單個目標物體,因此只需要確定該物體的類別信息,也即分類模型只預(yù)測輸出一個類別標簽。檢測任務(wù)中單幀圖像上可能出現(xiàn)若干類別不同、且數(shù)量可變的目標物體,因此需要同時確定多個物體的類別信息和位置信息,即檢測模型預(yù)測輸出數(shù)量不定的類別標簽和位置坐標。因此,增量式連續(xù)分類任務(wù)只需避免分類知識的遺忘,而增量式連續(xù)檢測任務(wù)需要同時避免分類知識和定位知識的知識遺忘,因此增量式連續(xù)檢測任務(wù)往往難度更大。但防御場景下必然面對多目標情形,因此準確檢出來襲目標的數(shù)量、類別、方位是基本要求,因此必須開展增量式連續(xù)檢測方法的研究。
傳統(tǒng)目標檢測模型通過已知數(shù)據(jù)進行訓(xùn)練。微調(diào)模型以適應(yīng)新加入的數(shù)據(jù),會導(dǎo)致模型在舊數(shù)據(jù)上的性能急劇下降,該現(xiàn)象被稱為災(zāi)難性遺忘,是增量式連續(xù)學(xué)習(xí)的關(guān)鍵挑戰(zhàn)。
在分類任務(wù)的增量式連續(xù)學(xué)習(xí)方面,研究人員已經(jīng)提出較多方法以緩解災(zāi)難性遺忘,例如參數(shù)隔離[6]、正則化[7]和樣本回放[8]。文獻[1]闡述了增量式連續(xù)分類算法的最新進展。
在目標檢測任務(wù)的增量式連續(xù)學(xué)習(xí)方面,有基于樣本回放[9]、元學(xué)習(xí)[10]、知識蒸餾[11]、關(guān)系建模[12]等眾多方法,其中知識蒸餾被證明是減少災(zāi)難性遺忘的有效方法之一[11,13-15]。該方法的基本思路是通過知識蒸餾將舊數(shù)據(jù)的知識從教師模型傳遞給學(xué)生模型,知識的來源可以是關(guān)鍵樣本、重要特征、分類響應(yīng)或定位響應(yīng)等。在知識蒸餾框架下,舊類別目標的監(jiān)督信息由教師模型的預(yù)測提供,而新類別目標的監(jiān)督信息由新增數(shù)據(jù)的標注基準來提供,從而能夠有效應(yīng)對增量學(xué)習(xí)過程中舊類別標注信息缺失的問題。
但現(xiàn)有特征蒸餾方法大都在較低層或較淺層的特征層進行方法設(shè)計而忽略了對高級語義特征的開發(fā)利用。高級語義特征具有更好的語義抽象性和變換穩(wěn)定性,是對圖片類別信息的魯棒表示[1]。而知識蒸餾的目的也在于向?qū)W生模型傳遞各個類別的特征魯棒性和語義不變性。因此,高級語義特征可用以更好指導(dǎo)基于特征蒸餾的知識傳遞。
受此啟發(fā),本文提出一種全新的基于高級語義特征的知識蒸餾方法,以更好選擇重要知識進行傳遞,從而緩解災(zāi)難遺忘,并提升增量式連續(xù)目標檢測算法的性能。本文將首先簡述增量式連續(xù)目標檢測識別,接著詳述本文所提出的基于高級語義特征蒸餾的增量式連續(xù)目標檢測方法,然后基于公開數(shù)據(jù)集MSCOCO2017 進行算法驗證,并結(jié)合分離實驗分析蒸餾不同特征區(qū)域?qū)λ惴ㄐ阅艿挠绊?,最后對增量式連續(xù)目標檢測進行總結(jié)和展望。
原始數(shù)據(jù)集包含多類別樣本,根據(jù)增量式連續(xù)學(xué)習(xí)的一般設(shè)定,需要將數(shù)據(jù)依照不同場景設(shè)定分為舊類別數(shù)據(jù)與新類別數(shù)據(jù)。圖1 為知識蒸餾框架下增量式連續(xù)目標檢測模型的示意圖。
圖1 增量式連續(xù)目標檢測模型(本方法僅使用特征蒸餾,其他蒸餾方法以虛線示意作為對比)Fig. 1 Incremental continuous target detection model (only feature distillation is used in this method,other distillation methods are shown as dashed lines for comparison)
如圖1 所示,首先進行舊類別數(shù)據(jù)訓(xùn)練。模型基于舊類別訓(xùn)練圖像數(shù)據(jù)集與舊類別標簽,訓(xùn)練神經(jīng)網(wǎng)絡(luò)得到教師模型。其中,訓(xùn)練、驗證與測試部分數(shù)據(jù)集均為舊類別目標的標注數(shù)據(jù)。模型包括利用骨干網(wǎng)絡(luò)提取圖像特征,將深層特征和淺層特征拼接生成多尺度特征圖。特征圖通過包含編碼器和解碼器的特征提取網(wǎng)絡(luò)得到最終特征向量。通過分類輸出層與回歸輸出層得到分類軟標簽與回歸軟標簽。最終經(jīng)過Softmax 等激活函數(shù)得到類別標簽與回歸坐標。
其次進行新類別數(shù)據(jù)訓(xùn)練。模型基于新類別訓(xùn)練圖像數(shù)據(jù)集與新類別標簽,再次訓(xùn)練神經(jīng)網(wǎng)絡(luò)得到學(xué)生模型。其中,訓(xùn)練和驗證數(shù)據(jù)集僅包含新類別標簽,測試數(shù)據(jù)集包含新類別標簽與舊類別標簽。學(xué)生模型需要在僅學(xué)習(xí)新類別標簽的情況下,在測試數(shù)據(jù)集上同時識別出新類別與舊類別目標。
為緩解學(xué)生模型對于舊類別知識的遺忘,提高學(xué)生模型在測試數(shù)據(jù)集上舊類別目標識別準確率,學(xué)生模型應(yīng)接受教師模型輸出信息,以保存相應(yīng)的舊類別知識。教師模型輸出信息可包含類別標簽信息,類別軟標簽,以及特征信息等。該模型信息傳遞過程被稱為知識蒸餾。
現(xiàn)有應(yīng)用于增量式目標檢測的知識蒸餾方法主要包含3 種類型,包括基于特征的知識蒸餾[11]、基于響應(yīng)的知識蒸餾[15]和基于關(guān)系的知識蒸餾[14]。圖1 示意了不同知識蒸餾在模型中的出現(xiàn)位置。
基于特征的知識蒸餾方法都是通過精心選擇特定網(wǎng)絡(luò)層特征來實現(xiàn)舊知識提取和傳遞。文獻[16]提出細粒度特征蒸餾法和多視圖相關(guān)蒸餾法選擇性地利用模型中間層來保留舊類別的模式。文獻[13]提出保留教師和學(xué)生特征圖之間的通道式、點式和實例式關(guān)聯(lián)。文獻[11]根據(jù)圖片底層特征的統(tǒng)計信息彈性選擇蒸餾區(qū)域。文獻[14,16-17]提出了其他提取模型中間層特征并加以蒸餾的方法。
基于響應(yīng)的蒸餾方法直接對教師模型與學(xué)生模型的分類輸出和定位輸出進行蒸餾,去掉了待蒸餾特征的選擇與設(shè)計。例如,LwF(learning without forgetting)是首個利用知識蒸餾方法的增量式連續(xù)檢測模型,它將教師模型產(chǎn)生的舊類別預(yù)測標簽與新類別標簽混合進行訓(xùn)練,以保存模型對于舊類別的記憶能力[13]。文獻[18]提出了一種完全基于響應(yīng)的蒸餾方法,根據(jù)教師模型輸出響應(yīng)的均值與方差進行知識的自適應(yīng)選擇與過濾,從而提升知識傳遞的質(zhì)量。文獻[11]將檢測模型的最終輸出響應(yīng)與RPN(region proposal network)輸出響應(yīng)相結(jié)合進行知識蒸餾。
基于關(guān)系的蒸餾方法通過度量學(xué)習(xí)等方式挖掘樣本之間的關(guān)系實現(xiàn)知識的傳遞。文獻[14]通過對于輸出層、中間層和不同實例之間關(guān)系的相關(guān)蒸餾,討論模型蒸餾的合適位置。
因為響應(yīng)知識的形成依賴于特征知識,而樣本關(guān)系挖掘又效率較低。因此在上述3 種蒸餾類型中,基于特征蒸餾的增量式連續(xù)目標檢測方法得到更為廣泛的研究。然而,目前特征蒸餾方法在很大程度上依賴于底層細節(jié)特征的選擇,而對高級語義特征的重要性探索不足。
在深度神經(jīng)網(wǎng)絡(luò)模型中,特征向量包括高層語義特征與底層細節(jié)特征。高層語義特征位于深層網(wǎng)絡(luò),富含深層抽象信息,例如目標類別語義信息與邊界框定位信息等。底層細節(jié)特征位于淺層網(wǎng)絡(luò),富含空間細節(jié)信息,例如輪廓、邊緣、顏色、紋理和形狀等。高級語義特征與底層細節(jié)特征均在教師模型的目標信息與背景信息中進行表達。新類別目標在教師模型中被錯誤地表達為背景信息,而學(xué)生模型需要將其重新識別為有效目標。因此區(qū)分有效目標、正確背景、錯誤背景是正確利用高層語義特征與底層細節(jié)特征的關(guān)鍵。本文提出一種注意力掩碼方法來區(qū)分3 種信息:①教師模型中的目標信息;②學(xué)生模型中的目標信息;③教師模型中的正確背景信息。
教師模型中的目標信息中包含了舊任務(wù)所有的前景信息。以往的工作通常直接使用前景信息中的所有特征,并平等地對待每個位置。但是實際情況是,即使在每個前景框中,特征也是不完全一致的。因此本文提出,在分離出前景背景信息之后,仍然需要對前景框提取里面的有價值區(qū)域進行蒸餾。為了解決這個問題,需要模型首先通過計算教師模型經(jīng)過解碼器之后所生成的語義信息與學(xué)生模型經(jīng)過解碼器之后所生成的語義信息差異,選出差異大的區(qū)域作為需要重點關(guān)注的重要特征位置。將重要特征位置信息以掩碼的形式加到對應(yīng)的特征圖上,之后再進行相應(yīng)位置的特征蒸餾損失。將待檢測的圖像(包括新類別目標與舊類別目標)輸入到訓(xùn)練好的學(xué)生模型進行目標檢測。
根據(jù)上述描述這里提出了一種結(jié)構(gòu)化特征提取方案,包括3 個步驟:首先,計算教師和學(xué)生之間高層語義表示的差異,如式(1)所示。然后,計算低層特征表示的差異,如式(2)所示。接著,在高層語義差異的指導(dǎo)下最小化底層特征差異,如式(3)所示。由于前景與背景包含信息不同,因此需要使用注意力掩碼分離前景與背景。語義引導(dǎo)的特征提取僅添加到前景,因為前景具有更為重要的語義信息。最后,計算各項差異之和作為最終的蒸餾損失,如式(4)所示。
將本文方法的詳細步驟整理如下:
step 1:計算高級語義特征的差異
式中:Steacher為老師模型高級語義特征;Sstudent為學(xué)生模型高級語義特征。
step 2:計算淺層特征的差異
式中:Fteacher為老師模型淺層(或底層)特征圖;Fstudent為學(xué)生模型淺層(或底層)特征圖。
step 3:計算前背景分離掩碼
式中:Hold和Wold為老師模型檢測框的長和寬。
step 4:計算整體蒸餾損失
式中:Lossdist為教師與學(xué)生模型蒸餾損失函數(shù)。
本方法無需對原始檢測器進行“侵入式”的結(jié)構(gòu)改進和設(shè)計,因此對各類具體的Query-based Transformer 檢測器都有好的適配能力。此外,本方法還具有簡化增量式連續(xù)目標檢測方法設(shè)計復(fù)雜性的優(yōu)點,主要體現(xiàn)在以下2 個方面:(1)本方法采用Transformer 檢測器構(gòu)建;其高級語義特征采用查詢特征(query feature,QF)的方式生成,查詢特征的數(shù)量一般在100~300 之間。但傳統(tǒng)CNN 檢測器,其高級語義特征大多采用錨點特征(anchor feature,AF)的方式生成,且錨點數(shù)量一般不少于2 000 個。每個QF 或AF 對應(yīng)一個潛在目標物體,但事實上單張圖像上的有效目標數(shù)量一般不超過20 個,因此QF 比AF 提供了更有效率的高級語義特征生成方式?;诖?,Transformer 檢測器無需對輸出結(jié)果使用非極大值抑制(non-maximum suppression,NMS),在輸出篩選上更加簡潔。所以Transformer 檢測器有效簡化了高級語義特征的生成和篩選方式,進而為基于高級語義特征的知識蒸餾帶來便利。
最后,現(xiàn)有方法基本都組合使用多種知識蒸餾以緩解災(zāi)難遺忘,圖1 示意了不同知識蒸餾在神經(jīng)網(wǎng)絡(luò)模型中的位置。例如近期的最優(yōu)模型ERD[11]同時使用了分類和定位2 種知識蒸餾。而本文方法僅使用了特征蒸餾,進而無需在教師和學(xué)生之間設(shè)置多組蒸餾損失函數(shù)。這一優(yōu)勢進一步簡化了增量式連續(xù)檢測方法的設(shè)計復(fù)雜性。
為驗證所提出的算法性能,本文進行了2 個實驗:一個是在不同連續(xù)學(xué)習(xí)場景對于算法進行連續(xù)學(xué)習(xí)能力驗證,另一個通過對于不同有價值區(qū)域進行蒸餾討論語義特征引導(dǎo)的意義。
實驗1 的設(shè)置包括基于公開數(shù)據(jù)集MS COCO的單步連續(xù)學(xué)習(xí)場景(40 類+40 類、50 類+30 類、60類+20 類和70 類+10 類)與多步連續(xù)學(xué)習(xí)場景(40 類+20 類+20 類)。其中40 類+40 類場景是指模型首先學(xué)習(xí)前40 類數(shù)據(jù)作為舊樣本,在此基礎(chǔ)上再學(xué)習(xí)后40 類數(shù)據(jù)作為新樣本。其余場景設(shè)置同理。實驗2的設(shè)置為40 類+40 類連續(xù)學(xué)習(xí)場景。通過比較不同有價值區(qū)域的蒸餾結(jié)果,討論語義特征引導(dǎo)的意義。
增量式連續(xù)目標檢測的評價一般通過與相對應(yīng)的整體學(xué)習(xí)方法進行比較來確定[13]。具體的評價指標包括絕對差異(absolute gap,AbsGap)與相對差異(relative gap,RelGap),其定義分別如式(5)和式(6)所示:
式中:mAPcontinual為增量式連續(xù)學(xué)習(xí)下的目標檢測精度;mAPoverall為對應(yīng)數(shù)據(jù)類別下整體學(xué)習(xí)的目標檢測精度,后者一般被認為是前者的上界。AbsGap和RelGap都衡量增量連續(xù)學(xué)習(xí)與整體學(xué)習(xí)之間的性能差距,進而反映出各自的增量式連續(xù)學(xué)習(xí)能力。特別地,RelGap去除不同檢測器基線的影響,衡量增量連續(xù)學(xué)習(xí)與整體學(xué)習(xí)之間的相對性能差距。
本文首先討論不同有價值區(qū)域的蒸餾結(jié)果。如表1 所示,添加完整特征蒸餾與基線模型差異較小。但是如果將特征拆分為前景與背景信息,則性能有所提升。之后將高級語義特征用于引導(dǎo)前景信息蒸餾,則最終性能得到顯著提升。
表1 分離實驗結(jié)果Table 1 Separation experiment results
如表1 所示,通過在基線模型上添加不同類型的特征蒸餾方法,逐步證明了完整特征蒸餾、前背景分離特征蒸餾、語義引導(dǎo)前景背景分離蒸餾的性能提升效果,進而綜合性說明了不同蒸餾區(qū)域的選擇在特征蒸餾中的重要性。表1 的實驗證明,前景信息與背景信息存在顯著信息差,以及高級語義信息對于關(guān)鍵信息選取有重要作用。
表2 顯示了本文方法與先前典型方法的增量學(xué)習(xí)性能比較結(jié)果。其中,LwF[13]是基于分類響應(yīng)的的蒸餾方法,RILOD[15]是基于特征和分類響應(yīng)相結(jié)合的蒸餾方法,SID[14]是基于特征和關(guān)系相結(jié)合的蒸餾方法,ERD[11]是基于分類響應(yīng)和定位響應(yīng)相結(jié)合的蒸餾方法。本文方法為基于特征的蒸餾方法,通過對比多種不同蒸餾方式下的增量學(xué)習(xí)方法,從而充分揭示其在緩解災(zāi)難性知識遺忘、提升增量式連續(xù)目標檢測性能方面的顯著性。
表2 單步連續(xù)學(xué)習(xí)目標檢測實驗結(jié)果Table 2 Results for one-step IOD
表2 中顯示40 類+40 類、50 類+30 類、60 類+20類和70 類+10 類場景下的連續(xù)學(xué)習(xí)性能。如40 類+40 類任務(wù)所示,與先前方法LwF,RILOD,SID 和ERD 相比,本方法與基于整體學(xué)習(xí)的上限差距更小,證明本方法的有效性。同時,在后40 類+前40類場景下性能也有顯著提高,這表明該方法可以在不受類別順序影響的情況下緩解災(zāi)難性遺忘。對于所有其他場景(50 類+30 類、60 類+20 類和70 類+10 類),該方法也超越了當(dāng)前最好水平。
本文還討論了多步連續(xù)學(xué)習(xí)目標檢測場景下不同方法的性能差異,實驗結(jié)果如表3 所示。表3中A 代表在首批數(shù)據(jù)下的整體式正常學(xué)習(xí)階段,B 代表在后續(xù)增量數(shù)據(jù)下的連續(xù)學(xué)習(xí)階段。A(第1 類~第40 類)表示首批數(shù)據(jù)包括第1 類到第40 類。B(第41 類~第60 類)表示增量數(shù)據(jù)包括第41 類到第60類。從A 到B,模型需要連續(xù)學(xué)習(xí)多個步驟,以適應(yīng)多步增量數(shù)據(jù)劃分。表3 顯示本方法與完整訓(xùn)練的差距顯著小于其他模型,這表明了它在多步場景下緩解災(zāi)難性遺忘的出色能力。
表3 多步連續(xù)學(xué)習(xí)目標檢測實驗結(jié)果Table 3 Results for multi-step IOD
綜合表2,3 結(jié)果可見,本文所提出方法具有更好的增量式連續(xù)目標檢測識別能力,其性能提升有以下3 個方面的內(nèi)在原因。
(1)傳統(tǒng)特征蒸餾方法直接計算淺層特征差異進行知識傳遞,其工作原理如式(2)所示。由于淺層特征往往強于對圖像物理層面的細節(jié)信息(如邊緣、輪廓、紋理等)進行表達而缺乏更強的魯棒性,因此在此層面的學(xué)習(xí)使得學(xué)生模型更傾向于擬合和模仿教師模型中舊類別的欠魯棒特征。這些欠魯棒特征易于受到新類別知識的沖擊而劣化,從而導(dǎo)致舊類別知識的遺忘。
(2)本文的知識蒸餾方法額外計算了高層語義特征之間的差異,其工作原理如式(1)所示。由于高層語義特征存在于檢測器頭部網(wǎng)絡(luò)之中,是最接近分類輸出端和定位輸出端的特征,因而具有更強的變換不變性和穩(wěn)定的語義表示能力。因此,在此層面的學(xué)習(xí)使得學(xué)生模型更傾向于擬合和模仿教師模型中舊類別的穩(wěn)定語義表示,從而提升新類別學(xué)習(xí)過程中舊類別知識的穩(wěn)定性。
(3)本文還計算了高級語義與淺層特征之間的交互作用,其工作原理如式(4)所示,這使得魯棒特征學(xué)習(xí)與穩(wěn)定語義學(xué)習(xí)產(chǎn)生有效交互,實現(xiàn)語義引導(dǎo)下的特征學(xué)習(xí),從而進一步緩解災(zāi)難遺忘,提升增量式連續(xù)目標檢測能力。
針對基于深度學(xué)習(xí)方法的目標檢測器采用整體學(xué)習(xí)范式,在新類別數(shù)據(jù)增量出現(xiàn)時無法有效進行連續(xù)學(xué)習(xí)的問題,本文創(chuàng)新性地提出一種基于高級語義特征蒸餾的增量式連續(xù)目標檢測方法。不同于現(xiàn)有方法僅依賴淺層特征蒸餾,該方法首次引入高級語義特征蒸餾,并通過高級語義特征動態(tài)選擇淺層特征,實現(xiàn)高價值特征知識的傳遞,有效提升了增量式連續(xù)目標檢測任務(wù)的性能。同時,該方法充分利用了Transformer 檢測器的優(yōu)勢,簡化了現(xiàn)有增量學(xué)習(xí)方法中組合式知識蒸餾的復(fù)雜設(shè)計,創(chuàng)新性地僅使用特征蒸餾即實現(xiàn)了更好的增量式連續(xù)目標檢測性能。
本研究在目標感知領(lǐng)域具有廣泛的應(yīng)用前景,可促進檢測識別方法從靜態(tài)封閉的有限應(yīng)用場景向動態(tài)開放場景發(fā)展,同時可推廣至紅外以及多模態(tài)場景下的各類增量式連續(xù)目標識別任務(wù)中。本研究有助于增強各類智能系統(tǒng)的持續(xù)自主學(xué)習(xí)能力,提升在高動態(tài)強開放場景下的任務(wù)遂行能力,推動智能感認知技術(shù)和智能感認知系統(tǒng)的深入發(fā)展。