ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)

CV技術指南(公眾號)發表於2021-12-13

 前言 

本文提出了一種概念上簡單但特別有效的長尾視覺識別的多階段訓練方案,稱為蒸餾自監督(Self Supervision to Distillation, SSD)。在三個長尾識別基準:ImageNet-LT、CIFAR100-LT和iNaturist 2018上取得了SOTA結果。在不同的資料集上,SSD比強大的LWS基準效能高出2.7%到4.5%。

 

本文來自公眾號CV技術指南的論文分享系列

關注公眾號CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)論文:Self Supervision to Distillation for Long-Tailed Visual Recognition

 

Backgound


深度學習通過在大規模、平衡和精選的資料集(如ImageNet和Kinetics上訓練強大的神經網路,在影像和視訊領域的視覺識別方面取得了顯著的進展。與這些人工平衡的資料集不同,真實世界的資料總是遵循長尾分佈,這使得收集平衡資料集更具挑戰性,特別是對於樣本稀少的自然類。然而,由於資料分佈高度不平衡,直接從長尾資料中學習會導致顯著的效能退化

緩解長尾訓練資料造成的惡化的一系列常見方法是基於類別重新平衡策略,包括重新取樣訓練資料和設計成本敏感的重新加權損失函式。這些方法可以有效地減少訓練過程中頭部類的支配,從而產生更精確的分類決策邊界。然而,由於原始資料分佈是扭曲的,而過度引數化的深層網路很容易擬合這種合成分佈,因此它們經常面臨過擬合尾類的風險

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)圖1.真實世界的資料總是遵循長尾資料分佈,這是由幾個樣本豐富的頭部類(即藍色立方體)主導的,但也包含許多資料稀缺的尾類(即綠立方體和黃色立方體),稱為原始分佈。直接從長尾資料學習可能會導致效能顯著下降。處理不平衡問題的一種常見方法是重新取樣,即隨機地從頭類中丟棄影像,並從尾類中重複取樣影像(相同的影像用唯一的羅馬數字標記),從而產生均勻分佈。這種策略可能會導致尾部類過多,而頭部類不合適。

為了克服這些問題,最近的工作分離了表示學習和分類器訓練的任務。該兩階段訓練方案首先學習原始資料分佈下的視覺表示,然後在類均衡取樣下訓練凍結特徵的線性分類器。事實證明,這個簡單的兩階段訓練方案能夠處理過度擬合的問題,並在標準的長尾基準上設定了新的SOTA效能。然而,這種兩階段訓練方案不能很好地處理不平衡的標籤分配問題,特別是在表徵學習階段

 

創新思路


論文的目標是設計一種新的長尾視覺識別學習正規化,以期共享兩種長尾識別方法的優點,即對過擬合問題具有較強的魯棒性,並有效地處理不平衡標籤問題。為了達到這一目標,論文的想法是研究如何將標籤相關性納入到一個多階段的訓練方案中。

受到模型壓縮中知識蒸餾工作的啟發,作者觀察到由教師網路產生的軟標籤能夠捕獲類之間的內在關係,這可能有助於通過將知識從頭部類轉移到尾部類來進行長尾識別,如圖1所示。因此,軟標籤為標籤建模的多階段訓練策略提供了一種實用的解決方案。

基於上述分析,論文提出了一種概念上簡單但特別有效的長尾視覺識別的多階段訓練方案,稱為蒸餾自監督(Self Supervision to Distillation, SSD)。

SSD的主要貢獻有兩個方面:

(1)用於學習有效的長尾識別網路的自蒸餾框架;

(2)自監督引導的蒸餾標籤生成模組,為自蒸餾提供更少偏向但更多資訊的軟標籤。

具體地說,首先將多級長尾訓練流水線簡化在一個簡單的自精餾框架內,在該框架中我們能夠自然地自動挖掘標籤關係,並結合這種固有的標籤結構來提高多級訓練的泛化效能。

然後,為了進一步提高自精餾框架的健壯性,論文從長尾訓練集本身出發,提出了一種自監督的增強精餾標籤生成模組。自監督學習能夠在沒有標籤的情況下學習有效的視覺表徵,並且可以平等對待每幅影像,從而緩解了標籤分佈不平衡對軟標籤生成的影響。

 

綜上所述,論文的主要貢獻如下:

  • 提出了一種簡單有效的多階段訓練框架(SSD)。在該框架中,通過將軟標籤建模引入特徵學習階段,共享了再平衡取樣和解耦訓練策略的優點。

  • 提出了一種自監督引導的軟標籤生成模組,該模組可以同時從資料域和標籤域生成魯棒的軟標籤。這些軟標籤通過從頭到尾傳遞知識來提供有效的資訊。

  • SSD在三個具有挑戰性的長尾識別基準測試(包括ImageNet-LT、CIFAR100-LT和iNaturist 2018資料集)上實現了SOTA效能。

 

Methods


蒸餾自監控(SSD)的總體框架如圖2所示。SSD由三個步驟組成:(1)自監督引導的特徵學習;(2)中間軟標籤生成;(3)聯合訓練和自蒸餾。

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)圖2.自監督蒸餾(SSD)框架的管道。

論文首先使用例項平衡抽樣同時訓練標籤監督和自監督下的初始教師網路。

然後,通過類均衡取樣細化類決策邊界,在視覺表示的基礎上訓練一個單獨的線性分類器。這種新的分類器產生訓練樣本的軟標籤,用於自蒸餾。

最後,在前一階段的軟標籤和原始訓練集中的硬標籤的混合監督下訓練一個自精餾網路。由於硬標籤和軟標籤在是否偏向頭部類的問題上存在語義鴻溝,論文對這兩種監督分別採用了兩個分類頭。

 

自監督引導的特徵學習

在這一階段,在原始的長尾資料分佈下訓練網路進行分類任務。分類任務由兩部分組成:一是傳統的C-Way分類任務,其目的是將影像分類到C語義類別;二是純粹從資料本身出發的平衡的自監督分類任務。雖然C-way分類任務提供了豐富的語義資訊,但它也受到長尾標籤的影響。尾部類的樣本可能會被資料豐富的類淹沒,從而導致表示不足的問題。

因此,論文構造了均衡的自監督分類任務,例如預測影像旋轉和例項判別,這些任務在不受標籤影響的情況下平等地考慮每幅影像。旋轉預測識別{0◦,90◦,180◦,270◦}之間的旋轉角度。例項判別將每個影像視為一個單一類別,該類別等同於TON-WAY分類,其中N是訓練集中的影像數量。

 

中間軟標籤生成

在此階段,需要在凍結要素之上的類平衡設定下調優分類器,以生成提取的標籤。論文選擇了可學習權重縮放(LWS)方法,因為它在各種設定下都有良好的效能。它學習重新調整分類器的權重,以避免類頭部的傾向。在給定影像的情況下,微調的分類器提供了相對平衡和軟的標籤,整合了標籤驅動和資料驅動的資訊,作為下一步自蒸餾的教師監督。

 

聯合訓練和自蒸餾

由於表示和分類器是在不同的取樣策略下分別訓練的,因此整個網路可能不是最優的。然而,在分類器學習階段對骨幹網路進行直接微調會損害泛化能力。相反,論文提出在原有的長尾資料分佈下,結合原始標籤和平衡提取標籤的混合監督,聯合訓練另一個骨幹網路和分類器。

在這個階段對網路進行初始化,因為以前的表示仍然是相對有偏差的,很難通過微調來擺脫區域性極小值。此外,其他自訓練論文也發現類似的結論,即從頭開始訓練學生比由老師初始化學生要好。在學習混合監督後,最終的模型可以獲得比教師模型更高的效能,此外,額外的分類器微調步驟是可選的,但建議進一步提高效能(IV-分類器微調)。

 

通過自我監督增強特徵學習

在特徵學習的第一階段,論文選擇使用標準監督任務和自監督任務以多工學習的方式訓練骨幹網路。由於標籤的高度偏見,監督任務可能會忽略資料稀缺類的影像,而自監督任務會平等對待每個樣本,而不受長尾標籤的影響。形式上,設θ為共享骨幹網的引數,ω為監督任務的引數,ω為自監督任務的選擇引數。

然後,有標籤的輸入影像的自監督任務損失函式可表示為L_self(x;θ,ω_Self),L_sup(x,y;θ,ω_sup)表示監督交叉熵損失。這一階段的總損失如下所示:

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)選擇旋轉預測和例項判別作為自監督代理任務。網路可以通過解決這些代理任務來學習正確地表示影像。

 

旋轉預測

預測影像旋轉是一種簡單而有效的經典的自監督任務。給定一個影像,將其在{0◦,90◦,180◦,270◦}之間隨機旋轉一個角度,以獲得旋轉的x‘。這兩個影像同時傳送到網路。原始影像用於原始的交叉熵損失。選擇旋轉的x‘來預測旋轉度,該旋轉度可以表示為一個4向平衡分類問題。在這種情況下,特定引數ω自身被實現為傳統的4向線性分類器。

 

例項判別

在例項判別任務中,將每幅影像看作一個不同的類別,並學習一個非引數分類器對每幅影像進行分類。形式化地稱影像的ℓ2-歸一化嵌入,v‘i是從具有不同變換的影像副本中提取的ℓ2歸一化嵌入。例項判別的損失可能是:

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)其中τ是溫度,K是作為底片樣本的其他影像的數量,可以從記憶體庫和當前小批次中檢索。論文建立了一個帶有特徵佇列的動量網路,以產生大量的負樣本,並利用MLP投影頭ω自身將主幹輸出轉換到低維特徵空間。

 

基於自蒸餾的長尾識別

論文用硬標籤和軟標籤來表示訓練影像。目標是學習一個嵌入函式F,它編碼成特徵向量f=F(x;θ),以及兩個分類器G_hard和G_soft,特徵向量f將被髮送到兩個線性分類器G_hard和G_soft,以得到輸出邏輯z_hard=G_hard(F)和z_sof t=G_soft(F)。z~表示教師模型的輸出,則軟標籤為:

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)T是預設設定為2的溫度。然後,知識蒸餾損失寫成:

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)對於硬標籤監督,使用標準交叉熵損失Lce。因此,最終的損失是這兩個損失的組合:

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)

 

Conclusion


在三個長尾識別基準:ImageNet-LT、CIF AR100-LT和iNaturist 2018上取得了SOTA結果。在不同的資料集上,SSD比強大的LWS基準效能高出2.7%到4.5%。

1. ImageNet-LT資料集的TOP-1精度。與以ResNeXt-50為主幹的SOTA方法進行比較。

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)

2. 在不平衡因子為100、50和10的CIFAR100-LT資料集上的TOP-1精度。與以ResNet-32為骨幹網路的最新方法進行了比較。

圖片

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)

 

 歡迎關注公眾號 CV技術指南 ,專注於計算機視覺的技術總結、最新技術跟蹤、經典論文解讀。

在公眾號中回覆關鍵字 “入門指南“可獲取計算機視覺入門所有必備資料。

ICCV2021 | 簡單有效的長尾視覺識別新方案:蒸餾自監督(SSD)

其它文章

AAAI2021 | 任意方向目標檢測中的動態Anchor學習

ICCV2021 | 用於視覺跟蹤的學習時空型transformer

論文的科學寫作與哲學

計算機視覺中的傳統特徵提取方法總結

ICCV2021 | TOOD:任務對齊的單階段目標檢測

Pytorch 資料流中常見Trick總結

計算機視覺中的transformer模型創新思路總結

PNNX: PyTorch 神經網路交換格式

論文創新的常見思路總結    |    卷積神經網路壓縮方法總結

神經網路超引數的調參方法總結   |    資料增強方法總結

Batch Size對神經網路訓練的影響    |    計算機視覺入門路線

論文創新的常見思路總結    |    池化技術總結

歸一化方法總結       |  欠擬合與過擬合技術總結

注意力機制技術總結   |   特徵金字塔技術總結   

2021-視訊監控中的多目標跟蹤綜述

一文概括機器視覺常用演算法以及常用開發庫

統一視角理解目標檢測演算法:最新進展分析與總結

給模型加入先驗知識的常見方法總結    |    談CV領域審稿

全面理解目標檢測中的anchor    |    例項分割綜述總結綜合整理版

HOG和SIFT影像特徵提取簡述    |    OpenCV高效能運算基礎介紹

目標檢測中迴歸損失函式總結    |    Anchor-free目標檢測論文彙總

2021年小目標檢測最新研究綜述    |    小目標檢測常用方法總結

單階段例項分割綜述    |    語義分割綜述    |    多標籤分類概述

視訊目標檢測與影像目標檢測的區別

視訊理解綜述:動作識別、時序動作定位、視訊Embedding

資源分享 | SAHI:超大圖片中對小目標檢測的切片輔助超推理庫

相關文章