天天看點

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  ​

​歡迎關注我的公衆号 [極智視界],擷取我的更多筆記分享​

  大家好,我是極智視界,本文解讀一下 用彈性蒸餾克服增量目标檢測中的災難性遺忘。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  傳統的目标檢測不适用于增量學習。然而,僅用新資料直接對訓練好的檢測模型進行微調将會導緻災難性的遺忘。知識蒸餾是減輕災難性遺忘的靈活的方法。在增量目标檢測 (IOD) 中,以往的工作主要集中在提取特征和響應的組合上。然而,它們對響應中包含的資訊的探索不足。本文提出了一種基于響應的增量蒸餾方法,稱為 彈性響應蒸餾 (ERD),它側重于從分類頭和 響應頭來彈性學習響應。(1) 首先傳遞類别知識,同時使學生檢測器具有在增量學習過程中保留定位資訊的能力。(2) 此外進一步評估了所有位置的品質,并通過彈性響應選擇 (ERS) 政策提供有價值的響應。(3) 最後闡明了在增量蒸餾過程中,來自不同響應的知識應該被賦予不同的重要性。在 MSCOCO 上進行了大量的實驗表明,本文的方法達到了最先進的效果,大大縮小了與充分訓練的性能差距。

  論文位址:​​https://arxiv.org/abs/2204.021367​​

  代碼位址:​​https://github.com/hi-ft/erd​​

文章目錄

  • ​​1. 簡介​​
  • ​​2. 相關工作​​
  • ​​3. 方法​​
  • ​​3.1 動機​​
  • ​​3.2 總體架構​​
  • ​​3.3 分類頭中的 ERD​​
  • ​​3.4 回歸頭中的 ERD​​
  • ​​3.5 彈性響應選擇​​
  • ​​4. 實驗​​
  • ​​5. 總結​​
  • ​​6. 參考​​

1. 簡介

  在自然界中,生物的視覺系統可以不斷擷取、整合和優化知識。學習模式對他們來說本質上是增量的。相比之下,目前目标檢測模型的經典訓練範式沒有這種能力。監督目标檢測範式依賴于通路預定義的标記資料。這種學習範式隐性地假設資料分布是固定的或平穩的,但是真正真實世界的資料是連續動态的資料流,其分布是非連續的。當模型不斷地從非平穩分布中擷取知識時,新知識會幹擾舊知識,進而引發災難性遺忘。根據是否提供或必須推理任務 ID,研究人員将增量學習 (IL) 分為三種類型:task / domain / class IL。本文研究了目标檢測中最難解決的問題:類别增量目标檢測。

  解決 IOD 的一種靈活的方法是知識蒸餾。《 SID: incremental learning for anchor-free object detection via selective and inter-related distillation》強調了 Tower 層能夠顯著減少災難性遺忘,它們在一個 anchor-free 的檢測器上實作了增量學習,并選擇性地對非回歸輸出進行了蒸餾。然而,在未引入增量學習的目标檢測知識提取中,以往的工作都是從不同元件的聯合提取中擷取知識。例如,《Learning efficient object detection models with knowledge distillation》和 《Distilling object detectors with task adaptive regularization》蒸餾了檢測器的所有元件。然而,這些方法的本質是使用基于特征的知識蒸餾來設計的,基于響應的方法在 IOD 中還沒有出現過。此外,基于響應的方法的優點在于它提供了教師檢測器的推理資訊。是以,針對不同響應的精心設計是必要的。

  本文研究了 IOD 中的一個實用而又具有挑戰性的問題:如何從分類預測和 bounding boxes 中學習響應。目标檢測中的響應包含 logits 以及 bounding box 的偏移量。首先,由于每張新圖像上的 ground truth 的數量是不确定的,首先要考慮的是驗證所有樣本的響應,确定哪些響應是正的、哪些響應是負的,以及每個目标要向哪個響應回歸。此外,如圖1所示,并不是所有的響應對于防止災難性遺忘都很重要,是以理想的狀态是使用适當數量的響應節點。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  《Overcoming catastrophic for getting in neural networks》還提出了突出整合通過減少對先前學習任務至關重要的突觸可塑性來實作持續學習。總而言之,作者通過限制重要的響應來保持他們在舊值附近,以引導學生檢測器跟蹤教師檢測器對舊目标的行為。

  針對上述問題,對基于響應的知識蒸餾方法進行了反思,發現在适當的位置進行蒸餾是促進 IOD 檢測效果的關鍵。在此啟發下,作者提出了彈性響應蒸餾 (ERD),分别從分類頭和回歸頭彈性學習響應。與以往的工作不同,在回歸響應中引入了增量局部化蒸餾,使學生檢測器在增量學習過程中具有學習位置模糊性的能力。此外,提出了彈性響應選擇政策 (ERS),可以根據不同響應的統計特征自動選擇蒸餾節點,進而評估所有位置的品質并提供有價值的響應。在本文中,解釋了如何實作限制,最後如何确定哪些響應是重要的。這大大緩解了災難性的遺忘問題,并顯著縮小了與充分訓練之間的差距。并在 MSCOCO 資料集上進行了大量的實驗,支援了作者的分析和結論。

  作者的貢獻可以概括如下:

  (1) 首次探讨了 IOD 中基于響應的蒸餾方法,剖析了 IOD 中基于特征和基于響應的蒸餾方法的本質差別。

  (2) 提出了基于統計分析的 ERD 算法,該算法分别提取了選擇性分類和回歸響應:基于所提出的 ERS 政策。

  (3) 在 MSCOCO 上的大量實驗表明,所提出的方法達到了最先進的性能,并且可以友善地應用于不同的檢測器。

2. 相關工作

  Incremental Learning 災難性遺忘是增量學習的核心挑戰。基于參數限制的增量學習是解決這類問題的一種候選方法,它通過引入一個額外的參數相關的正則化項來修改梯度進而保護舊知識。 EMC 和 MAS 是這種方法的兩個典型代表。另一種解決方法是基于蒸餾的增量學習。這種方法主要是通過知識蒸餾,将舊任務中的知識遷移到新任務中,實作舊知識的映射。LwF 是第一個将知識蒸餾的概念引入增量學習的方法,目的是使新模型對類似舊模型的新任務進行預測,進而以知識遷移的形式保護舊知識。但是,當新舊任務相關性較低時,會造成知識的混亂。iCaRL 算法使用知識蒸餾來避免網絡中的知識的過度惡化,而 BiC 算法在 FC 層之後增加了偏差校正層,以抵消新資料在使用蒸餾損失時的類别偏差。

  Incremental Object Detection 與類别增量相比,IOD 的研究較少。同時,檢測任務的高度複雜也增加了增量目标檢測的難度。《 Incremental learning of object detectors without catas trophic forgetting》提出了将 LwF 應用于 Faster RCNN 檢測器,這是第一個在目标檢測方面的工作。此後,一些研究人員将這一領域向前推進。《 SID: incremental learning for anchor-free object detection via selective and inter-related distillation》在 anchor-free 檢測器上提出了用于 IOD 的 SID 方法,并在 FCOS 和 CenterNet 上進行了實驗。《Class incremental few-shot object detection》在 Faster RCNN 檢測器上研究了基于類别增量學習的目标檢測,重點研究了 few-shot 場景,這也是 ONCE 算法的重點。《RILOD: near real-time incremental learning for object detection at the edge》設計了一種在邊緣裝置上使用 RetinaNet 檢測器的增量目标檢測系統。最新的工作《Towards open world object detection》在定義開放世界目标檢測 (OWOD) 問題時引入了增量學習的概念。然而,現有的 IOD 蒸餾架構對 head 的重要作用沒有給予足夠的重視,而作者發現 head 在 IOD 領域具有重要意義。

  Knowledge Distillation for Object Detection 知識蒸餾是模型間傳遞已知知識的有效方法。在以往的研究中,知識蒸餾被廣泛應用于圖像分類任務中,而現在,知識蒸餾被頻繁地應用于目标檢測任務。《Learning efficient object detection models with knowledge distillation》對 Faster RCNN 的所有組成部分 (包括 backbone、RPN 中的 proposals 和 head) 進行蒸餾。為了用學生模型模仿教師模型的進階特征響應,《Distilling object detectors with fine-grained feature imitation》提出了一種基于細粒度特征模仿的蒸餾方法。《Data-free knowledge distillation for object detection》提出了一種适用于目标檢測的 data-free 蒸餾技術,但該方法會觸發 dream-image。《 Distilling object detectors via decoupled features》 鑒于前景和背景在目标檢測中都具有獨特的作用,提出了一種前景和背景解耦的目标檢測算法。《 Localization distillation for object detection》提出了一種定位蒸餾方法,将知識蒸餾引入到檢測器的回歸分支中,使學生網絡能夠像教師網絡一樣解決定位模糊問題。

3. 方法

3.1 動機

  IOD 的目的是将已有的知識轉移到檢測器中,這些知識可以是 backbone 或 neck 的中間層特征,也可以是 head 的軟目标。與基于特征的方法不同,基于響應的方法可以提供教師檢測器的推理資訊。是以,作者通過從不同的 heads 的響應中提取知識,可以逐漸學習出一個強大而有效的學生目标檢測器。

3.2 總體架構

  總體架構如圖2所示。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  首先,使用 ERD 從教師檢測器的分類頭和回歸頭中學習彈性響應。其次,采用增量定位損失來提高學生檢測器的定位資訊提取能力。值得注意的是,為了從教師檢測器中獲得更有意義的響應,即從教師檢測器提供的響應中計算蒸餾損失,提出了 ERS 政策。學生檢測器的整理學習目标定義為 公式(1)。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  接下來将介紹 ERD 和 GFLV1 中的 ERS,作者将他們的方法推廣到了表7中的 FCOS,這說明了方法的有效性。

3.3 分類頭中的 ERD

  來自分類頭的軟預測依賴于教師檢測器發現的各種類别的知識。 通過軟預測的學習,學生模型可以繼承隐藏的知識,這對于分類任務很直覺。設 T 為教師模型,使用 SoftMax 将 logits CT 轉換為分布,則輸出機率分布 PT 定義為 公式(2)。類似地,将學生模型 S 的 PS 定義為 PS = SoftMax(CS/t),其中 t 是軟化 PT 和 PS 機率分布的溫度因子。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  以往的工作通常是直接利用分類頭中的所有預測響應,對每個位置進行處理。如果有任何不平衡,背景類别産生的響應可能會蓋過前景類别産生的響應,進而幹擾舊知識的保留。這裡,我們有選擇地從響應中計算蒸餾損失,是以分類頭的增量蒸餾損失如公式(3)。通過提取選擇的響應,學生檢測器逐漸繼承了教師檢測器的舊知識。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

3.4 回歸頭中的 ERD

  回歸分支的 bounding box 響應對 IOD 也很重要。與離散類别資訊相反,回歸分支的輸出可能提供一個與真實方向相沖突的回歸方向。即使圖像不包含任何舊類别的目标,回歸分支仍然可以預測 bounding box,盡管置信度很低。這對教師檢測器向學生檢測器傳遞回歸知識提出了挑戰。此外,在以前的工作中,隻有具有高分類置信度的目标的 bounding boxes 被用作教師檢測器的回歸知識,而忽略了回歸分支的定位資訊。

  利用 GFLV1 檢測器給出的 bounding boxes 分布的通用表示,通過 SoftMax 函數将 bounding box 的每條邊表示為機率分布。是以,每個 bounding box 的機率矩陣可以定義為 公式(4)。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  是以,咱們可以從教師檢測器 T 中提取 bounding box B 的增量定位知識,并使用 KL散度損失将其傳遞給學生檢測器 S,如公式(5)。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  最後,回歸頭的增量定位蒸餾損失定義為 公式(6)。值得注意的是,增量定位蒸餾提供了額外的定位資訊。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

3.5 彈性響應選擇

  如圖1所示,選擇所有響應會導緻糟糕的性能,是以選擇響應對于防止災難性遺忘非常重要。那麼一個自然的問題就出現了:如何選擇響應作為蒸餾的節點。常見的選擇政策依賴于敏感的超參數,如設定置信度門檻值或選擇 Top-K 得分。這些經驗做法可能會導緻小門檻值忽略一些舊目标,而大門檻值帶來負面響應。

  為了解決上述問題,作者提出了ERS 算法,分别選擇分類頭和回歸頭響應作為蒸餾節點。

  Classification head 利用統計特性來選擇分類頭的響應,具體來說,首先計算每個節點的置信度得分。

  Regression head 統計分布資訊用于選擇回歸頭的響應。對于 FGLV1,一個明确的 bounding box 通常具有更加尖銳的分布。是以,如果分布尖銳,則 Top-1 的值相對較大。基于上述統計性質,采用 Top-1 值來度量每個 bounding box 的置信度。

4. 實驗

  在表1中展示了前 40 個類和 後 40 個類場景下的增量結果。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  圖3展示了不同學習方案中每個類别的 AP。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  圖4展示了前 40 個類和後 40 個類所有類的 AP。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  表2 (四步) 和表3 (兩步) 中,兩個 multi-step 設定上的每個增量 step 都大大優于微調。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘
彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  在 MSCOCO 上驗證了所提出方法在每個元件的有效性,表4中,“KD” 表示僅使用蒸餾損失而不進行選擇,而 “ERD” 表示引入了選擇政策。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  表5中展示了從集合 ([1,1], [1,2], [2,1], [2,2]) 中選擇 α1 和 α2 的不同組合來執行訓練過程所能達到的 AP。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  前 40 個類的目标包含更多的資訊,這意味着可以獲得更加多的響應,如表 6 所示。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  不同的元件的 L2 特征距離分析如圖5。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  表7結果表明,無論檢測器架構如何,本文的方法仍能帶來穩定的增益。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

  表8展示了基于特征和基于響應的解決方案之間的定量差異。

彈性響應蒸餾 | 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘

5. 總結

  在論文中,作者精心設計了目标檢測領域中一種基于響應的增量範式,有效地緩解了災難性遺忘問題。首先,從分類頭和回歸頭中學習響應,并特别在回歸響應中引入增量定位蒸餾。其次,設計了彈性選擇政策,以在不同的頭上提供合适的響應,大量的實驗驗證了該方法的有效性。最後,詳細分析讨論了作者提出方法的通用性 以及 增量檢測任務中基于響應和基于特征的蒸餾之間的本質差別,這為該領域的進一步探索提供了見解。

  對 IOD 的研究使咱們從系統層面更加好地了解神經網絡的形成機制,為終身學習機制的發展提供技術基礎,最終目标是檢測器可以像生物一樣進行持續學習。然而,增量學習後的模型可能會導緻一些隐私問題,而咱們可以通過限制訓練模型的可通路性來緩解它。

6. 參考

  [1] Overcoming Catastrophic Forgetting in Incremental Object Detection via Elastic Response Distillation.

  [2] Learning efficient object detection models with knowledge distillation.

  [3] Distilling object detectors with task adaptive regularization.

  [4] Overcoming catastrophic for getting in neural networks.

  [5] Incremental learning of object detectors without catas trophic forgetting.

  [6] SID: incremental learning for anchor-free object detection via selective and inter-related distillation.

  [7] Class incremental few-shot object detection.

  [8] RILOD: near real-time incremental learning for object detection at the edge.

  [9] Towards open world object detection.

  [10] Learning efficient object detection models with knowledge distillation.

  [11] Distilling object detectors with fine-grained feature imitation.

  [12] Data-free knowledge distillation for object detection.

  [13] Distilling object detectors via decoupled features.

  [14] Localization distillation for object detection.

  [15] SID: incremental learning for anchor-free object detection via selective and inter-related distillation.

  好了,以上解讀了 用彈性響應蒸餾克服增量目标檢測中的災難性遺忘。希望我的分享能對你的學習有一點幫助。

繼續閱讀