ICCV2021何愷明團隊又一神作:Transformer仍有繼續改善的空間
一個簡單、漸進、但必須知道的基線:用于Vision Transformer的自監督學習。盡管標準卷積網絡的訓練方法已經非常成熟且魯棒,然而ViT的訓練方案仍有待于構建,特別是自監督場景下的訓練極具挑戰。
1 背景
在今天分享愷明團隊新推出的自監督學習+Transformer=MoCoV3之前,我想和大家分享下最近我看到一篇目標檢測文章,最近因為一直推送目標檢測類的,覺得這篇是個不錯的idea。
什么是開放世界中的目標檢測呢?
A model is tasked to:
在沒有明確的監督下,能夠將沒有見過的目標識別為“未知”類;
對于這些認定為“未知”的類,當逐步獲得對應的標簽之后,能夠漸進地學習它們,且不遺忘以前學過的那些類別。
這個與以前提出的Open Set和Open World image classification的最大不同在于:在目標檢測器的訓練過程中,將那些未知的目標當做背景。
深度學習加快了目標檢測的研究進展,但目前現有方法都在一個強假設下進行:所有要被檢測的種類都需要在訓練階段提供。當我們放寬這一假設,就會出現兩個具有挑戰性的問題:
測試圖像可能包含未知類的目標,這些未知目標也需要被歸類;
當被識別為未知類別的標簽已經可用時,模型需要進一步學習新的類別。
2 檢測框架
論文:https://arxiv.org/pdf/2103.02603.pdf
代碼:https://github.com/JosephKJ/OWOD
第一行:在每個增量學習步驟中,模型識別未知對象(用“?”表示),這些對象被逐步標記(藍色圓圈)并添加到現有知識庫(綠色圓圈)中。
第二行:開放世界目標檢測模型使用基于能量的分類頭和未知感知RPN識別潛在的未知對象。此外,在特征空間中執行對比學習來學習判別集群,并且可以以連續的方式靈活地添加新類而不會忘記以前的類。
對比聚類
在隱藏層特征空間上類的區分性將是實現類別分離的理想特征。采用對比性聚類就是為了強制性的達到上圖第二行中間圖的效果,類內差盡量小,而類間差盡量大。每個已知類別會維護一個向量是檢測器中間層生成的特征向量,假設已知類別數為,則特征向量表征為,其中代表未知類的特征向量。然后再建立一個用來存儲訓練過程中的臨時特征向量,每個類的特征向量存在其對應位置。
最后在常規損失函數上再疊加一個對比聚類損失來達到強制降低類內差,增大類間差的效果。原文中該部分的流程圖如下,其中是不疊加對比聚類損失的輪數,用以初始化已知類別的特征向量,表示,在迭代輪數大于后,每輪都計算對比聚類的損失,并每輪進行一次特征向量更新(有點像混合高斯背景建模了):
基于RPN自動標記機制
框架的核心就是利用RPN的建議框類別無關特性,將RPN提取的置信度最高的前K個背景建議框作為位置對象的建議框位置向后傳遞。
基于能量的分類頭
首先是基于前面提到的對比聚類將不同類別的特征表征盡量的拉開了,研究者選擇對不同類別的概率密度函數進行建模,作為不同類別的區分,作者用圖進行了說明。
如上所示,已知和未知數據點的能量值表現出明顯的分離。研究者在每個樣本上擬合Weibull分布,并使用這些分布來識別未知的已知和未知樣本。
Alleviating Forgetting
在識別未知數之后,開放世界檢測器的一個重要要求是能夠學習新的類,當提供一些感興趣的未知類的標記示例時。重要的是,在此階段將不存在先前任務的訓練數據,因為從頭開始重新訓練不是可行的解決方案。
僅使用新類實例進行訓練將導致災難性地遺忘之前的類。研究者注意到已經開發了許多涉及的方法來減輕這種遺忘,包括基于參數正則化的方法,示例重放(exemplar replay),動態擴展網絡(dynamically expanding networks)和元學習。
3 檢測效果分析
僅在任務 1 上訓練的ORE在上圖(a)中成功地將風箏定位為未知對象,而在任務3中了解風箏后,它逐漸學習檢測上圖(b)中的風箏和飛機。
在任務1上訓練后來自ORE的預測。“大象”、“蘋果”、“香蕉”、“斑馬”和“長頸鹿”尚未引入模型,因此成功歸類為“未知”。該方法將其中一只“長頸鹿”錯誤分類為“馬”,顯示了ORE的局限性。
有關對比聚類的更多詳細信息
使用對比聚類來確保潛在空間分離的動機有兩個:1)它使模型能夠將未知實例與已知實例分開,從而促進未知識別;2)它確保每個類的實例與其他類很好地分離,緩解遺忘問題。
對比損失被添加到Faster R-CNN 損失中,整個網絡被端到端的訓練。因此,在 Faster R-CNN管道中RoI Head中的殘差塊之前和包括網絡的所有部分都將使用來自對比聚類損失的梯度進行更新。
在學習任務1后,桌子頂部筆記本電腦旁邊的幾個項目被識別為未知。筆記本電腦、書和鼠標作為任務4的一部分被引入。external-storage和walkman(兩者都沒有介紹過)最初被識別為未知,但學習任務4后沒有被檢測到,是ORE的失敗案例之一。
最終在任務2中學習到被識別為未知的手提箱,以及對椅子的誤報檢測。
上圖(a)是ORE學習Task 2后產生的結果。由于沒有引入Task 3類,如apple和Orange,ORE識別出來并正確標注為unknown。在學習Task 3之后,這些實例在上圖(b)中被正確標記。一個未識別的類實例仍然存在,ORE成功地將其檢測為未知。
下期我們來好好說說何凱明他們團隊又做出來重大貢獻的思路,有興趣的你請持續關注,謝謝!
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。
基爾霍夫電流相關文章:基爾霍夫電流定律