Billion-scale semi-supervised learning for image classification
https://arxiv.org/pdf/1905.00546.pdf
https://github.com/facebookresearch/semi-supervised-ImageNet1K-models/
權重在timm中也有:https://hub.fastgit.org/rwightman/pytorch-image-models/blob/master/timm/models/resnet.py
使用以下命令即可調用(前提是可以連github):model = torch.hub.load('facebookresearch/semi-supervised-ImageNet1K-models', 'resnet18_swsl')
https://blog.csdn.net/weixin_39901859/article/details/106887536
十億尺度半監督學習用于圖像分類
本文研究了大卷積網絡的半監督學習問題。我們提出了一個基于教師/學生范例的管道,它利用了大量未標記圖像(高達10億)。我們的主要目標是提高給定目標架構(如ResNet-50或ResNext)的性能。我們對我們的方法的成功因素進行了廣泛的分析,這導致我們提出了一些建議,用半監督學習產生高精度的圖像分類模型。因此,我們的方法為圖像、視頻和細粒度分類的標準架構帶來了重要收益。例如,通過利用10億張未標記的圖像,我們學習的vanilla ResNet-50在ImageNet基準上達到81.2%的top-1精度。
1.引言
最近,利用web級弱監督數據集的圖像和視頻分類技術在各種問題上取得了最先進的性能,包括圖像分類、細粒度識別等。然而,標簽形式的弱監督存在許多缺點。由于非可視、缺失和不相關的標簽,標簽中存在大量固有噪聲,這會嚴重阻礙模型的學習。此外,弱監督網絡規模的數據集通常遵循Zipfian或長尾標簽分布,只有最顯著的標簽才有利于良好的性能。最后,這些方法假設目標任務具有大型弱監督數據集,但在許多應用程序中并非如此。
本文探討了網絡規模的半監督深度學習。我們利用數十億未標記的圖像以及相對較小的一組特定于任務的標記數據。據我們所知,神經網絡半監督學習在這種規模上還沒有被探索過。為了擴展我們的方法,我們提出了圖1所示的簡單半監督策略:(1)我們對標記數據進行訓練,以獲得初始教師模型;(2) 對于每個類別/標簽,我們使用該教師模型的預測對未標記的圖像進行排序,并選取top-K圖像構建新的訓練數據;(3) 我們使用這些數據來訓練學生模型,這通常不同于教師模型:因此我們可以在測試時降低復雜性;(4) 最后,預訓練的學生模型在初始標記數據上進行微調,以避免潛在的標記錯誤。
與大多數弱監督方法相比,我們通過選擇每個標簽相同數量的圖像來避免長尾分布問題。這是可能的,因為對于像“非洲矮人翠鳥”這樣的尾巴類鳥類,可能沒有足夠數量的弱監督/標記的示例,但在未標記的數據集中可能存在大量這種鳥類的未標記圖像。使用標簽訓練的教師模型能夠從未標記的數據中識別足夠多的圖像,從而提高尾部類的召回率。
上述半監督算法的選擇受到多種方法的推動,例如自訓練、蒸餾或提升。事實上,在教師和學生模型的某些特定設置下,以及在數據類型下,我們的工作歸結為這些方法。然而,我們的論文分析了幾種變體,例如通過移除教師/學生模型來考慮純粹的自訓練學習過程,或者對推斷的標簽進行微調,而不是僅對標簽集中的標簽進行微調。
我們的參考管道培養了一個比學生模型更強大的教師模型。即使在自訓練的情況下——當教師和學生模型相同時——未標記數據的絕對規模也能讓我們獲得顯著的收益。我們的分析表明,性能對幾個因素很敏感,如排名初始(教師)模型的強度、未標記數據的規模和性質、教師和最終模型之間的關系等。特別是,我們將性能分析為教師和學生模型相對強度的函數。我們還表明,利用搜索中的hashtag或查詢作為弱監督信號來收集未標記的數據集可以顯著提高性能。
總體而言,本文做出了以下貢獻:
?我們在數十億個未標記的示例中探索了半監督深度學習,并證明了使用教師模型對未標記圖像進行排序的簡單策略(在標記數據上進行訓練)對于學習強大的(學生)網絡是有效的。
?我們分析了此類策略產生實質性效益的條件。受先前關于大規模監督學習的研究[32]的啟發,我們在表1中總結了這些建議。
?更具體地說,我們提供了各種設計選擇的詳細分析和解釋,如學生和教師CNN模型的強度、未標記數據集的性質、每個標簽選擇的示例數量等。
?我們在圖像和視頻的流行分類基準上展示了我們的方法的性能,顯著優于最新技術。
?我們的建議也適用于其他任務,即視頻分類和細粒度識別。本文的組織結構如下。第2節介紹了相關的工作和術語。第3節介紹了我們的方法。第4節為分類任務提供了廣泛的分析和消融研究。第5節對其他任務進行了評估。第6節總結全文。
[if !supportLists]2.?[endif]相關工作
在本節中,我們將回顧與我們的方法相關的幾個主題和具體工作。由于各篇論文中的術語并不總是一致的,我們澄清了論文中使用的不同概念。
圖像分類。
我們的工作主要針對改進圖像分類,其性能通常在Imagenet等基準上進行評估[8]。近年來,人們致力于改進神經網絡結構。例如,殘差連接[16]的引入導致了幾個競爭性卷積神經網絡[19,20,43],被社區廣泛采用。最近,研究了其他方向,以進一步推動最新技術[1]一個建議是學習一個巨大的卷積神經網絡,在輸入端獲取高分辨率圖像[21],因為分辨率是分類性能的關鍵因素[17]。另一項研究[27]學習了具有大型弱標記數據集的高容量convnet,其中以標記的形式提供注釋。
遷移學習是一項任務,在這項任務中,一個人重新使用在大型標記語料庫上訓練的網絡來解決數據較少的其他任務。這是機器學習研究的歷史路線,參見Pan和Yang的調查[30],了解與此主題相關的不同問題和方法的廣泛分類。這種方法通常用于沒有足夠標簽的任務[29],例如細粒度分類或檢測(盡管最近的工作[15]表明,在后一種情況下,從頭開始學習是可能的)。
另一方面,遷移學習用于評估無監督學習的質量[10]:使用代理任務上的未標記數據訓練網絡,通過微調目標任務的最后一層來評估主干的質量。遷移的一個特殊案例是few-shot學習任務,在這項任務中,一個人必須用很少的新類別的例子來學習。這一研究領域的典型工作提出了參數預測[4,33]和數據增強[12,14]。
半監督學習。
最近的方法研究了使用額外的未標記數據來改善監管的興趣。據我們所知,文獻中的大多數結果都得到了緩和的結果[27],除了那些對附加數據使用弱標簽的結果,這是一種弱監管的形式。
最近的方法[11,35]重新審視了傳統的標簽傳播算法(參見[3,9]了解綜述),以利用大型YFCC未標記集合進行few-shot學習。Douze等人[11]在新類別的標記數據數量非常低(1-5)時改進分類,但當更多標記數據可用時,增益消失。此外,該策略還有一個重要的局限性:它需要計算一個連接相鄰圖像的大型圖,該圖由一個特殊描述符構造。這類方法通常被稱為轉換方法:提供了一些標簽,目標是將標簽擴展到未標記的數據。必須學習分類器以提供樣本外擴展[6,23]。
蒸餾最初用于將一個稱為教師的大型模型壓縮成一個較小的模型。蒸餾過程相當于訓練小模型(學生),使其最好地再現教師的輸出。學生模型通常比教師模型更小更快。蒸餾可以看作是自訓練的一種特殊情況,教師模型對未標記的數據進行預測,推斷出的標簽用于以監督的方式訓練學生。該策略已成功地用于多項任務,如檢測[34]。另一方面,回譯[37]是翻譯性能的關鍵[26],通過利用(未注)單語數據提供巨大收益。
據我們所知,我們的論文是第一篇證明這一點以及它如何通過利用大量未注數據有效地進行圖像分類的論文。
Krizhevsky等人[25]在其開創性論文中證明,數據增強是圖像分類性能的關鍵因素。最近的一些策略通過學習為增強而學習的變換[7,31]或通過合成圖像的混合物[45],成功地提高了分類精度。在某種程度上,我們的半監督方法是一種特殊形式的數據增強,即我們從補充的未標記數據集中添加新的實際圖像以提高性能。
3.我們的半監督訓練渠道
本節介紹我們的參考大規模半監督方法。該算法基于文獻中的幾個概念。我們通過從廣泛的實驗研究中收集到的良好實踐和新見解來補充它們,以實現成功的學習。然后,我們討論了與我們的方法有關的幾個關鍵考慮因素,并提供了一些支持我們選擇的直覺和動機要素。
3.1. 問題陳述:半監督學習
我們考慮一個多類圖像分類任務,其目標是分配給一個給定的輸入圖像標簽。
我們假設我們得到了一個由N個具有相應標簽的示例組成的標簽集D。特別地,我們將考慮IMANETET ILVRC分類基準,它提供了覆蓋1000個類的N=120萬個圖像的標記訓練集。
此外,我們還考慮了大量的U>n未標記圖像。注意,U中示例的類分布可能不同于D中的類分布。我們的半監督學習任務通過允許在D上訓練模型擴展了原始問題∪ U、 即,利用未標記的數據進行學習。推理和性能評估保持不變,并遵循目標任務的協議。
3.2. 我們的學習渠道
我們的半監督方法包括四個階段:
(1) 在標記數據D上訓練教師模型;
(2) 在未標記數據U上運行訓練模型,并為每個標簽選擇相關示例,以構建新的標記數據集D?;
(3) 在D?上培養新的學生模式;
(4) 在標記的集合D上微調經過訓練的學員
該管道類似于現有的蒸餾工程。我們偏離了文獻(i)我們如何聯合利用未標記和標記的數據;(ii)我們如何構建D?;(iii)我們考慮和針對Imagenet改進的規模。現在我們將更詳細地討論這些階段。
教師模式訓練。
我們在標記的數據集D上訓練一個教師模型來標記美國的例子。這種方法的主要優點是推理是高度并行的。因此,我們在很短的時間內在數十億個示例上執行它,無論是在CPU上還是在GPU上。這一階段需要一個好的教師模型,因為它負責從U中刪除不可靠的示例,以便在不引入大量標記噪音的情況下正確標記足夠多的相關示例。
數據選擇和標記。
我們的算法利用了理想的特性,即學習能夠容忍一定程度的噪聲[28]。我們的目標是收集大量圖像,同時限制標簽噪聲。由于大量未標記數據,大部分數據甚至可能不包含I中的任何類。我們建議為每個目標標簽從U中選擇top-K示例。首先,在U中的每個示例上運行教師模型以獲得softmax預測向量。對于每幅圖像,我們只保留與P最高分數相關的類別,P是一個參數,說明了我們期望在每幅圖像中只出現少量相關類別的事實。選擇P>1的原因是很難準確識別表示不足的概念,或者一些概念可能被更突出的共現概念所掩蓋。第4節詳細分析了該參數的作用。
然后,對于每個類別l,我們根據相應的分類分數對圖像進行排序。top–K圖像定義了一組D?l圖像,這些圖像從此被視為該類別程新的積極訓練示例。在應用softmax進行排名之前,我們還使用原始預測進行了實驗,但發現它們的表現更差(見補充資料)。因此,為多類分類問題收集的新圖像訓練集被定義為
圖2顯示了使用ResNet-50[16]教師模型對YFCC100M數據集[39]進行5個類別的定性排名結果。正如預期的那樣,排名靠前的圖像簡單干凈,沒有太多標簽噪音。當我們排名下降時,他們逐漸變得不那么明顯。引入這樣的硬示例對于獲得一個好的分類器很重要,但是隨著K的增加,引入假陽性的概率變得更高。因此,對K有一個重要的權衡,它強烈依賴于K/M比。第4節對此進行了分析。P、K和M之間也存在微妙的相互作用。如上所述,當集合U不夠大時,設置P>1是為尾部類收集足夠可靠示例的一種方法。
學生模型訓練和微調。
我們利用D?提供的監督訓練學生模型。雖然我們的主要興趣是學習一個比教師更簡單的模型,但實際上可以為教師和模型使用相同的架構,正如我們將在本文后面看到的,這是一個實際的興趣。請注意,盡管我們的分配過程可以將圖像分配給D?中的多個類,但我們仍然將該問題視為多類分類,只允許在數據集中復制圖像。然后,對經過訓練的學生模型進行D微調,并根據測試數據進行評估。Softmax損耗用于預訓練和微調。備注:可以使用D和D?中的混合數據進行訓練,就像以前的方法一樣[34]。然而,這需要尋找依賴于其他參數的最佳混合參數。就我們的大規模訓練而言,這是資源密集型的。此外,如我們后面的分析所示,充分利用大規模未標記數據需要采用較長的預訓練計劃,這在涉及混合時增加了一些復雜性。
我們在D上的微調策略沒有這些問題:相反,它需要在初始學習速率上掃描參數以進行微調,這由于較小的數據大小和訓練計劃而更有效。它還確保使用干凈的標簽對最終模型進行微調。
3.3. 獎金:弱監督的預訓練
我們考慮另一種特殊情況,除了U,D還包括弱監督數據(W)加上相對較小的任務特定數據(V)。先前的工作[27]表明,通過對W進行預訓練,然后對V進行微調而獲得的教師模型是一個令人信服的選擇。通過對教師模型選擇的數據進行訓練得到的學生模型明顯優于直接對弱監督數據進行訓練得到的學生模型。如后面的實驗所示,這種特殊的設置允許我們獲得最先進的結果。
4.圖像分類:實驗與分析
在ImageNet1K數據集上進行了一系列實驗,證明了該方法在圖像分類任務中的有效性。這些實驗支持表1中提出的主要建議。
4.1. 實驗裝置
數據集:
以下網絡規模的數據集用于涉及未標記數據集U的半監督學習實驗。
?YFCC-100M[38]是一個公開的數據集,包含來自Flickr網站的約9000萬張圖像和相關標簽。在刪除重復項后,我們將此數據用于大多數實驗和燒蝕。
?IG-1B-Targeted:在[27]之后,我們從社交媒體網站收集了1B個帶有相關標簽的公共圖像數據集。我們考慮用與1000個IMANETET-1K類之一關聯的1500個標簽中的至少一個標記的圖像。
除非另有規定,否則我們使用帶有1000個類的標準ImageNet作為標記集D。
模型:
對于學生和教師模型,我們使用殘差網絡[16]、具有d={18,50}的ResNet-d和具有群卷積的殘差網絡[43]、具有101層和群寬度C={4,8,16,48}的ResNeXt-101 32XCd。此外,我們考慮ReXCEXT-5032×4網絡。模型參數的數量如表3所示。訓練細節:我們在8臺機器的64個GPU上使用同步隨機梯度下降(SGD)來訓練我們的模型。每個GPU一次處理24個圖像,并對每個GPU上的所有卷積層應用批量標準化[22]。在所有實驗中,權重衰減參數設置為0.0001。我們按照[13]中提出的線性縮放程序設置學習速率,預熱和整體小批量大小為64×24=1536。
對于預訓練,我們使用從0.1到0.1/256×1536的預熱,其中0.1和256是用于ImageNet訓練的標準學習速率和小批量大小。我們在等距步驟中將學習率降低了2倍,這樣在整個訓練過程中,減少的總次數為13次。為了在ImageNet上進行微調,我們將學習速率設置為0.00025/256×1536,并使用學習速率計劃,包括在30個時間段內以0.1的系數進行三次等距縮減。
默認參數。
在本節的其余部分中,“迭代”次數是指我們處理圖像的總次數(向前/向后)。除非另有說明,我們默認采用以下參數:我們處理#iter=1B圖像進行訓練。我們將圖像中選擇的概念數量限制為P=10,以收集D?每類K=16k圖像的簡短列表。我們默認的教師模型是Xie等[43]定義的Next-101架構(32x48)。由于我們的主要目標是最大限度地提高學生模型的準確性,因此在大多數實驗中,我們采用vanilla ResNet-50學生模型[16],以便與文獻中的許多作品進行直接比較。最后,默認情況下,未標記的數據集U為YFCC100M。
4.2. 不同步驟的分析
我們的方法與監督學習。
表2將我們的方法與僅在ImageNet上針對不同型號容量的完全監督訓練設置進行了比較。與各種能力目標模型(1.6–2.6%)的監督基線相比,我們的教師模型帶來了顯著的改進,這支持了表1中的建議。微調的重要性。
由于預訓練數據集D?和標記數據集D?的標簽相同,我們還比較了在我們方法的最后一個完整微調步驟之前和之后在D?上訓練的模型的性能。從表2中我們觀察到,在干凈標記的數據上微調模型對于實現良好性能至關重要(表1中的第2點)。
學生和教師能力的影響。
在表2中,我們觀察到,在ResNeXt-101 32x8模型飽和之前,低容量學生模型的精度顯著提高。表3顯示了作為教師模型能力函數的準確性。隨著我們在ResNeXt-101 32x16之前增加教師模型的強度,ResNet-50學生模型的準確性得到提高。除此之外,由于ImageNet的相對較小,教師的分類精度飽和。因此,進一步增加教師模型的能力對學生模型的表現沒有影響。
總之,上述實驗表明,我們方法的改進取決于學生和教師模型在原始監督任務上的相對表現(即,僅對標記數據D進行訓練)。有趣的是,即使在教師和學生模型都是ResNet-50的情況下,我們也比監督基線提高了約1%。
自訓練:
對老師/學生的批量評。我們提出的半監督訓練方法的一個特例是教師和學生模型具有相同的架構和能力。換句話說,采樣是由目標模型本身執行的,它只在可用的標記數據集上進行訓練。在這種情況下,我們的方法簡化為一種自訓練方法。
表4顯示了不同型號的精度(默認設置),以及通過在ImageNet上進行簡單訓練獲得的增益,以供參考。所有型號均受益于自訓練。容量較大的模型具有相對較高的精度增益。例如,與ResNet-50的1%相比,ResNeXt101 32x16型號提高了2%。我們還對ResNet-50和ResNeXt-101 32x16機型進行了第二輪自訓練,并觀察到后續收益分別為0.3%和0.7%。
如前所述,自訓練是一項具有挑戰性的任務,因為錯誤會在訓練過程中放大。我們的實驗表明,通過微調階段糾正可能的標記噪聲,該模型可以通過受益于更大的示例集來改進自身。然而,通過將這些結果與表2中提供的結果進行比較,我們發現我們的教師/學生選擇更有效,因為它通常為特定的目標架構提供了更好的準確性。
4.3. 參數研究
未標記集合U的大小。
通過從YFCC100M圖像分布中隨機采樣,創建了許多大小不同的數據集。對每個隨機子集按比例調整超參數值K,以便邊緣化數據集規模的影響。例如,分別為數據集大小100M、50M和25M設置K=16k、8k和4k的值。半監督模型精度作為未標記數據集大小的函數繪制在圖3中。每次數據集大小增加一倍,直到達到25M的數據集大小,都會實現固定精度的提高。但是,隨著數據集大小的進一步增大,這種對數線性行為將消失。目標模型可能已達到飽和點,從相同的YFCC圖像分布中添加額外的訓練樣本無助于提高精度。
總的來說,上述實驗表明,利用大規模的未標記數據對于良好的性能非常重要(表1建議中的第3點)。
訓練前迭代次數。
圖4顯示了預訓練期間處理的圖像總數的函數性能。為了確保每種情況下的學習率下降相同的因素,我們將整個訓練分成13個等距步驟,并在每一步后將學習率下降2倍。我們觀察到,隨著處理圖像數量的增加,性能不斷提高。這表明我們的方法需要更長的訓練階段才能充分發揮作用,如表1中第4點所總結)。作為參考,我們還展示了在ImageNet上以相同迭代次數訓練ResNet-50模型的結果。增加訓練迭代次數并沒有多大幫助,事實上降低了一小部分精度。注意,我們還嘗試了將學習率降低3次(系數為0.1),得出了類似的結論。總的來說,我們發現10億次迭代在獲得良好的精度和資源利用率之間提供了令人滿意的折衷。
參數K和P。
圖5顯示了對于ResNet-50和ResNext-101-32x16學生模型,在P=10的情況下改變每個類別選擇的圖像數量K的效果。對于ResNet50,我們觀察到,由于示例的多樣性和硬度增加,隨著K值增加到8k,性能首先得到改善。它在4k-32k范圍內是穩定的,這表明粗掃以找到最佳值是足夠的。增加K進一步在D?中引入大量標記噪聲,并且精度下降。對于ResNext-101-32x16,也有類似的觀察結果,但更高容量的模型可以利用更多的數據。它在每類16k和32k之間實現最佳性能。
對于接近最佳的K值(如16k),性能隨P變化不大。高P值允許一個訓練示例出現在多個排名列表中,從而為預訓練產生更平衡的類別分布,有關分析,請參閱補充材料。我們在所有實驗中都將P=10固定,因為當集合大小U不夠大時,它允許我們生成幾乎平衡的預訓練數據集(表1中的第5點)。
4.4. 半弱監督實驗
先前的工作[27]表明,與任務語義相關的元信息關聯的圖像可以提高性能。實現這一點的方法之一是利用與任務相關的搜索查詢或hashtag創建一個有噪聲的弱監督數據集,并將其用作U。我們基于排名的選擇可以被視為一個初步的噪聲消除和類平衡過程。
研究:D?選擇程序的變體。
為了進一步研究這一點,我們創建了三個不同的800萬IG-1B目標數據子集,以訓練ResNet-50學生模型:(1)使用我們的排名方法創建平衡排名,每個類別有相同數量的示例(top-8k),(2)不平衡排名也使用我們的排名方法,但每個標簽的示例數遵循Zipfian分布,并且,(3)平衡標簽使用相關的hashtags隨機選擇每類8k圖像。詳情請參閱補充資料。表5顯示了在這些數據集上進行訓練,然后在ImageNet上進行微調的結果。我們觀察到,通過排名進行的基于分類的選擇是實現良好性能的關鍵。注意,利用大量未標記的數據對于每個類獲得相似數量的圖像是必要的。
使用哈希標記進行預訓練。
在弱監督數據上的預訓練最近取得了令人印象深刻的成績。受這些結果的激勵,我們跟隨Mahajan等人[27]通過對IG-1B目標的預訓練和ImageNet上的微調,對ResNext-101 32x48教師模型(85.4%頂級精度)進行訓練。由于數據集較大,我們使用K=64k。表6將我們的方法與弱監督方法[27]進行了比較,該方法在IG-1B-TARGET上預訓練模型,并將哈希標記作為標簽。就大多數模型的最新技術而言,這是一條強有力的基線。我們觀察到持續改善0.6%–2.2%,低容量模型受益最大。我們的所有型號都達到了最先進的性能,ResNet50的準確率達到了80.9%。因此,利用弱監督數據對教師模型進行預訓練可顯著改善結果(表1第6點)。
4.5. 與最新技術的比較
表6將我們的方法與現有架構的最新結果進行了比較,特別是流行的ResNet-50,對此我們有幾個比較點。可以看出,與所有只使用標記數據的方法相比,我們的方法提供了很大的改進(>3%)。如上所述,它也顯著優于(+0.6–2.5%)最先進的弱監督方法[27]。
5.其他申請
在本節中,受我們在ImageNet數據集上發現的啟發,我們將我們的方法應用于兩個不同的任務:(1)視頻動作分類,(2)使用我們的半監督圖像模型改進分類的遷移學習。
5.1. 視頻分類實驗
我們使用流行的多類動力學視頻基準進行了實驗,該基準具有~ 246k訓練視頻和400個動作標簽。模型在20k驗證視頻上進行評估。與IG-1B-Targeted類似,我們利用359個與動力學標簽空間語義相關的哈希標簽構建了6500萬個視頻的IG動力學。詳情請參閱補充資料。我們使用基于R(2+1)D-D[40]剪輯的模型,模型深度為18和34,并使用RGB視頻幀。
教師是一個片段長度為32的弱監督R(2+1)D-34模型。它通過IG動力學數據集進行預訓練,并通過標記動力學視頻進行微調。我們從每個視頻中均勻采樣10個剪輯,并對softmax預測進行平均,以生成視頻級預測。對于我們的方法,我們使用K=4k和P=4以及IG動力學作為未標記數據U來訓練學生模型。有關訓練的詳細信息,請參見補充說明。
表7報告了3種不同學生模型的結果以及參數和乘法-加法觸發器的數量。為了進行比較,我們還展示了以下結果:(1)對動力學進行全面監督的訓練,(2)對免疫球蛋白動力學進行弱監督的預訓練,然后對動力學進行微調。與完全監督的訓練相比,我們的方法有了顯著的改進。我們還觀察到,與競爭性弱監督預訓練方法相比,模型的失敗率較低,受益最大。我們還和其他最先進的方法進行了比較,表現出了競爭力。我們注意到,與現有技術相比,我們以更低的分辨率(112×112)處理最多32個輸入視頻的RGB幀(無光流)。
5.2. 遷移學習實驗
ImageNet已被用作遷移學習的事實上的訓練前數據集。出現的一個自然問題是,使用我們的方法訓練的模型對于遷移學習任務有多有效。我們考慮GAB2011(41)數據集與5994個訓練圖像和5794個測試圖像與200個鳥類物種(標簽)。研究了兩種遷移學習設置:(1)全傅立葉變換涉及對全網絡進行微調,(2)傅立葉變換僅涉及從最終的傅立葉變換層提取特征并訓練邏輯回歸器。
表8報告了使用我們的半監督(第4.2節)和半弱監督(第2節)方法訓練的ResNet-50模型對完全監督和弱監督模型性能的準確性。有關訓練設置,請參見補充說明。使用我們的方法訓練的模型表現得更好。結果特別令人印象深刻的是,僅fc設置,其中我們的半弱監督模型優于高度競爭的弱監督模型6.7%。
6.結論
我們通過半監督學習利用大規模未標記圖像收集來提高CNN模型的質量。未標記數據集的規模允許我們推斷出比原始數據集大得多的訓練集,從而允許我們學習更強的卷積神經網絡。未標記和標記的圖像在不同的階段以一種簡單但實用且有效的方式進行利用。通過對參數和變量的廣泛研究,我們提出了大規模半監督深度學習的建議。作為副產品,我們的燒蝕研究表明,使用我們的方法自訓練的模型也取得了令人信服的性能。總體而言,我們報告了幾種架構的最新結果。
補充材料
本補充材料提供了補充我們論文的細節。首先,我們在第1節中提供參數P的統計信息。然后,第2節提供了第4.4節中討論的變體的詳細信息。第3節提供了額外的結果,顯示了我們用自己的技術訓練教師的方法的有效性。第4節描述了我們如何收集IG Kinectics視頻數據集。第5節解釋了我們的重復數據消除過程,該過程確保沒有任何驗證或測試數據屬于我們的未標記數據集。最后,我們在第6節中給出了與CUB2011上的遷移學習實驗相關的參數。
1.參數P的影響
表9顯示了在K=16k的情況下,改變P對使用vanilla 型ResNext-101 32x48教師模型訓練的ResNet-50學生模型的影響。我們考慮YFCC-100M,并通過隨機抽樣數據構建了25m和100m的兩個數據集。我們注意到,增加P會平衡所有類的排名列表大小(列| D | 710)。我們還觀察到,它對性能沒有顯著影響。由于我們工作的主要重點是處理代表性不足的類別的大規模訓練,因此我們更愿意保證每個類別有固定數量的樣本,因此在所有實驗中選擇P=10。
2.半+弱監督:D?的變體
如第4.4節所述,本節提供了有關收集訓練集的變體的更多詳細信息。我們創建了三個不同的800萬IG-1B目標數據子集。
?平衡排名是使用我們的排名方法創建的,每個類別有相同數量的示例(top-8k)。
?不平衡排名也使用我們的排名方法,但每個標簽的示例數遵循Zipfian分布。為了確保我們的Zipfian分布與真實世界的數據相匹配,我們將IG-1B-Targeted中的1.5k哈希標記分配給其中一個ImageNet類,以確定每個類的大致圖像數。然后,我們使用此分布作為基礎來確定K以選擇頂部? 每個類有K個圖像,因此跨類的圖像總數為8M。
?balanced with tags在將圖像映射到ImageNet類后,使用相關的hashtags為每個類隨機選擇8k圖像,并且不使用任何排名列表。
3.自學教師模式
在本文中,我們觀察到,在教師和學生模型具有相同架構和能力的自訓練環境中,我們仍然獲得1%? 與完全監督設置相比,精確度提高2%。出于這個原因,我們考慮另一種情況下,我們采取高容量ReXeXT-101-32 x16模型訓練ImageNet和SelfStand使用YFCC-100M作為未標記數據。然后,我們使用這種自訓練的模型作為教師,并使用我們在YFCC-100M上的方法訓練能力較低的學生模型。使用主要文件中提到的標準訓練設置。表10顯示了在上述設置中訓練的不同學生模型的準確性。作為參考,我們還使用ImageNet訓練的ResNext-101 32x48教師模型與主要論文表2中的半監督結果進行了比較。我們觀察到一致的0.2%?即使使用能力較低的自學型ResNeXt-101 32x16教師,也能提高0.7%。我們打算公開發布這些模型
4.弱監督視頻實驗
4.1. IG動力學數據集的構建
我們從社交媒體和相關的標簽中考慮了數百萬的公共視頻。對于動力學數據集中的每個標簽,我們獲取標簽中每個單詞的原始版本和詞干版本,并以不同的排列方式連接它們。例如,對于標簽“playing the guitar”,不同的排列是“Playingthe guitar”、“playingguitar”、“playingguitar”、“guitarplaying”等。然后,我們找到與這些排列匹配的所有標簽和相關視頻,并為它們指定標簽。最后,我們得到了6500萬個視頻,369個標簽。31個標簽沒有對應的hashtag。
4.2. 訓練詳情
我們首先對視頻幀進行向下采樣,分辨率為128×171,并通過從幀中裁剪隨機的112×112塊來生成每個視頻剪輯。我們還對輸入應用時間抖動。我們使用同步隨機梯度下降(SGD)在16臺機器上的128個GPU上訓練我們的模型。對于32幀的視頻剪輯,每個GPU一次處理8個圖像(由于內存限制),并對每個GPU上的所有卷積層應用批量標準化[22]。對于8幀視頻剪輯,每個GPU一次處理8個圖像。在所有實驗中,權重衰減參數設置為0.0001。我們按照[13]中提出的線性縮放程序,通過預熱設置學習速率。
訓練前:
弱監督和半弱監督設置都需要對模型進行預訓練。我們總共處理了4.9億個視頻。表11顯示了不同型號的小批量大小和學習速率設置。我們在等距步驟中將學習率降低了2倍,這樣在整個訓練過程中,減少的總次數為13次。
微調和全監督設置:
表12顯示了微調和完全監督運行的訓練設置。對于微調實驗,我們使用單獨的保持集對初始學習率和LR進度進行網格搜索。所有實驗的學習率衰減都設置為0.1。
5.圖像的重復數據消除
為了確保在我們的大規模實驗中進行公平的評估,我們必須刪除大規模數據集中的圖像,這些圖像也存在于標記的測試或驗證集中。我們利用ImageNet訓練過的ResNet-18模型,并使用其512維pool5特征計算ImageNet驗證集和YFCC-100M圖像之間的歐氏距離(L2歸一化后)。我們使用Faiss[24]最近鄰庫來實現1億張圖像的可搜索圖像索引。我們根據圖像的歐幾里德距離按升序對所有圖像對進行全局排序,并手動查看頂部圖像對。排名前5000的YFCC圖像將從數據集中刪除。同樣的程序也適用于CUB2011,以刪除218張YFCC-100M圖像。
6.CUB2011上的遷移學習:參數
對于完整的微調場景,我們在4臺機器上對32個GPU上的模型進行微調。表13提供了不同運行的參數設置。