【導讀】本文提出了一種十億級數據規模的半監督圖像分類模型,通過使用教師-學生架構以及一個小規模的帶標簽數據集,作者提出了一個基于卷積神經網絡的半監督學習方法。另外,作者對模型的不同架構和模型參數進行了消融實驗,并提出了一些構建半監督學習模型的建議。
摘要
本文基于教師-學生架構(teacher-student schema),利用大規模無標簽圖像數據集 (多達十億張),提出了一種基于大規模卷積神經網絡的半監督學習方法,旨在改善給定目標模型架構的性能,如 ResNet-50 或ResNext。隨后,作者通過大量的評估分析了本文所提出方法的成功因素,提出了一些用于構建高性能半監督圖像分類學習模型的建議。總的來說,本文的方法在構建圖像、視頻及細粒度分類的標準模型架構方面有著重要的意義,如利用一個含十億張未標記的圖像數據集訓練得到的 vanilla ResNet-50 模型,在 Imagenet 數據集的基準測試中取得了81.2% 的 top-1 精度。
簡介
當前,利用網絡弱監督數據集,圖像和視頻分類技術在諸如圖像分類、細粒度識別等問題上取得了非常好的表現。但是,弱監督學習的標簽存在一些缺陷。首先,非視覺性標簽、缺失標簽和不相關標簽會導致噪聲,這將對模型的訓練造成很大影響。第二,弱監督的網絡數據集通常遵循齊普夫定律,存在大量長尾(long-tail)標簽,這使得模型只會對那些最顯著的標簽有良好的性能。最后,這些弱監督方法假定其可用于目標任務所使用的大型弱監督數據集,然而在許多現實情況中并非如此。
針對這些問題,本文利用數十億張未標記的圖像以及一個針對特定任務的相對較小的標簽數據集,提出了一個用于網絡規模數據的半監督深度學習模型,如圖1所示:
(1)在標簽數據集上訓練以獲得初始的教師模型 (teacher model); (2) 對于每個 class/label 對,使用該教師模型來對未標記的圖像打標簽并進行打分,選擇每一標簽類別的 top-K 個圖像來構建新的訓練數據; (3)使用新構建的數據來訓練學生模型 (student model)。通常來說,學生模型與教師模型存在一定的差異,因此在測試時可以降低模型的復雜性; (4) 在初始的標簽數據集上,對預訓練的學生模型進行微調 (fine-tuning) ,以避免一些可能存在的標簽錯誤。
圖1 半監督學習方法說明:通過一個優秀的教師模型,從一個非常大型的無標簽圖像數據集 (億級) 構建一個新的訓練集。隨后,在這個帶噪聲的數據集上訓練學生模型,再在原始的數據集上進行微調。
除此模型之外,本研究還嘗試了幾種其他的模型結構,一是移除教師 - 學生模型并使用自訓練模型,二是在進行模型微調時使用推斷出的標簽作為訓練數據。在實驗分析部分,作者討論了幾個影響模型性能的敏感因素,如用于標簽排名的教師模型的性能,無標簽數據的規模以及性質,教師模型和學生模型之間的關系等。研究結果表明,利用主題標簽或查詢作為弱監督信號來收集無標簽數據能夠顯著地提升模型的性能。
本文的貢獻如下:
提出了一個用于大規模億級無標簽數據集的半監督深度學習方法,并展示了在標簽數據上訓練得到的教師模型能夠有效地指導學生模型在無標簽圖像數據上的訓練學習過程。
總結了這種學習策略在何種情況下能帶來最大收益,如圖2。
對多種模型架構進行消融實驗并做詳細分析,如教師/學生模型的強度,無標簽數據集的性質,所選擇樣本的標簽數等。
展示了這種半監督學習方法在視頻分類和細粒度識別任務中的表現。
圖2 用于構建大規模半監督學習模型的建議
半監督學習方法
本文所提出的半監督學習方法主要包含四個部分,如圖3所示:
圖3 半監督學習方法流程
這與當前的一些蒸餾研究流程相類似,不同之處如下:(1) 聯合利用無標簽和標簽數據的方法;(2) 構建標簽數據集 D 的方法;(3) 使用的數據規模以及針對 Imagenet 數據集的改進。
教師模型訓練
這一步驟在標簽數據集上訓練一個教師模型,以便對無標簽數據集的圖像打標簽。這種方法的一大優點在于推理過程是高度可并行的,這意味著不論是在 CPU 還是在 GPU 上,對大規模億級數據的計算也能在很短時間內完成。該階段訓練一個性能優秀的教師模型,以便為無標簽數據生成可靠的標簽信息,且不引入多余的標簽噪聲。
數據選擇和標簽
這一步旨在收集大量的圖像數據,并對標簽噪聲進行控制。由于無標簽數據的規模很大,因此對于每個目標標簽,從無標簽數據集中選用 top-K 個樣本。首先,用無標簽數據集的每個樣本來訓練教師模型,以獲得 softmax 預測向量。而對于每張圖像而言,只能得到與類別相關的 P 個最高分數,其中 P 是一個用來反映我們期望出現在每個圖像中的最多的類別數量。隨后,基于相關的類別分數,對圖像進行排名 (ranking),并選擇用于多類別半監督圖像分類的新的圖像數據。圖4展示了在 ImageNet-val 數據集上基于 ResNet-50 訓練出的教師模型在 YFCC100M 數據上的排名結果,其中 P = 5 。排名越高的圖像,所帶的標簽噪聲越少。
圖4 通過本文方法從 YFCC100M 上所收集的圖像樣本
學生模型的訓練與微調
這一步用新的標簽數據集數據來訓練學生模型,旨在得到一個更簡單通用的模型。實際上,這里可以選用與教師模型相同結構的學生模型。值得注意的是,雖然為標簽數據集中每個圖像分配多個類別標簽信息是可以實現的,但這里仍通過圖像復制的方式將問題視為一種多類別分類任務。之后,在原始標簽數據集上對學生模型微調并進行評估,在預訓練和微調過程都采用 softmax 損失函數。
圖像分類實驗與分析
這一部分,作者通過在 ImageNet1K 數據集上的一系列圖像分類實驗評估了該模型的效果。
實驗設置
數據集:使用下面兩個網絡規模的數據集作為無標簽數據,用于半監督學習實驗。
YFCC-100M:這一數據集是從 Flickr 網站提取得到的一個含9千萬張圖像的公開數據集。移除數據集中的重復樣本后,作者將該數據集用于后續大部分的實驗。
IG-1B-Targeted:這一數據集是作者從社交媒體網站上收集的,包含10億張公共圖像數據。
除非有特別的說明,這里統一采用標準的1000個類別的 ImageNet 作為標簽數據集。
模型:對于教師和學生模型,分別采用殘差網絡(residul network) ResNet-d ,其中 d = {18, 50} ,以及使用群卷積(group convolution)的殘差網絡 ResNeXt-101 32XCd ,其中分組寬度 C = {4, 8, 16, 48} 。具體的模型參數如圖5所示:
圖5 改變教師模型容量并用所提出的方法來訓練 ResNet-50 學生模型,這里的收益是相對于監督學習基準準確度的絕對提升值。
訓練細節:實驗過程通過使用同步隨機梯度下降算法(synchronous stochastic gradient descent, SGD)在8臺機器的64個 GPU 上訓練模型。每個 GPU 一次處理24張圖像,并對所有的卷積層采用批正則化策略(batch normalization)。權重衰減參數設置為0.0001,訓練過程的學習率設置采用帶 warm-up 的縮放策略,整體的 minibatch 大小為 64 * 24 = 1536 。
對于模型預訓練,采用 0.1 到 0.1/256×1536 的 warm-up 策略,這里的 0.1 和 256分別是 ImageNet 訓練中使用的標準學習率和 minibatch 尺寸。此外,采用二等分間隔的學習率衰減策略,使得在訓練過程中學習率減少次數共為13次。在基于 ImageNet 數據集對模型進行微調時,將學習率設為 0.00025 / 256 × 1536,并在30 個 epochs 期間采用三等分間隔減少學習率。
不同模型的實驗分析
本文方法vs監督學習方法圖6比較了本文方法與監督學習方法在 ImageNet 數據集上的效果??梢钥吹?,相比于監督學習,本文方法訓練的教師模型取得了顯著的性能改進。
圖6 本文方法與監督學習方法在不同容量的學生模型上微調前后的 ImageNet1k-val top-1 精度
模型微調的重要性由于預訓練的數據集和標簽數據集的標簽信息是一樣的,作者比較了模型在標簽數據上微調前后的性能。如上圖6所示,可以看到在標簽數據上進行微調對于模型性能有著至關重要的影響。
學生和教師模型容量的影響如上圖5、圖6所示,可以看到對于容量更低的學生模型,識別的精度有顯著地提高。而對于教師模型而言,增大模型的容量并不會對學生模型的性能造成顯著影響。
自訓練:教師/學生模型的消融實驗(ablation)圖7展示了在自訓練模式下,模型在ImageNet 數據集上訓練得到的不同模型在推斷時的準確度??梢钥吹剑瑢τ谌萘扛蟮哪P?,所取得的準確度表現相對更好。
圖7 自訓練模式下 ResNet 和 ResNeXt 模型在 YFCC 數據集上的 top-1 準確度,這里的收益是相對于監督學習基準的提升值。
參數分析
無標簽數據集的大小下圖8展示不同規模的無標簽數據集上半監督學習模型的準確度表現??梢钥吹剑跀祿幠__到2千5百萬之前,每當數據集規模成倍增加時,模型能夠取得穩定的準確度提升。總的來說,采用大型的無標簽數據對于模型性能的提升是有幫助的。
圖8 ResNet-50 學生模型在不同規模的無標簽數據上的精度
預訓練迭代次數圖9展示了不同預訓練迭代次數下的模型性能表現。可以看到,當迭代次數為10億次時,模型能夠實現良好的識別準確度和計算資源的權衡。
圖9 不同預訓練步數對完全監督和半監督的 ResNet-50 學生模型性能的影響
參數K和P圖10展示了當 P = 10 時,每個類別選擇的圖片數 K 的變化對模型性能的影響。作者發現,在所收集的無標簽數據集規模不是很大時,令 P = 10 能獲得較好的模型表現。
圖10 對于超參數 K 的不同取值,學生模型的精度表現。
此外,實驗還對一些不同的半監督學習的方法進行了分析,并將模型的表現與當前最先進的模型性能進行對比。除了圖像分類實驗外,本研究還進一步探究在視頻分類、遷移學習等不同應用中該半監督學習方法的性能。具體的分析內容和說明可參見原論文。
總結
本文研究利用大規模的無標簽圖像數據集,探究了半監督學習在圖像識別方面的應用,并提高了 CNN 模型的性能表現。通過一系列的實驗分析,作者提出,聯合使用大型標簽數據集和小規模有標簽數據集能夠有助于構建效果更好的卷積神經網絡模型。此外,研究還對一些模型參數和模型變體進行了實驗分析,并總結了一些構建半監督圖像分類模型的經驗方法。
-
函數
+關注
關注
3文章
4346瀏覽量
62977 -
圖像分類
+關注
關注
0文章
93瀏覽量
11956 -
數據集
+關注
關注
4文章
1209瀏覽量
24835
原文標題:10億級數據規模的半監督圖像分類模型,Imagenet測試精度高達81.2% | 技術頭條
文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
半監督的譜聚類圖像分割
基于C均值聚類和圖轉導的半監督分類算法
![基于C均值聚類和圖轉導的<b class='flag-5'>半</b><b class='flag-5'>監督</b><b class='flag-5'>分類</b>算法](https://file.elecfans.com/web2/M00/49/6A/poYBAGKhwLCABwZhAAAU5reSGK0326.jpg)
基于均值漂移參數自適應的半監督復合核支持向量機圖像分類
一種新的目標分類特征深度學習模型
![<b class='flag-5'>一種</b>新的目標<b class='flag-5'>分類</b>特征深度學習<b class='flag-5'>模型</b>](https://file.elecfans.com/web1/M00/4B/70/o4YBAFqw1g2ALCgUAACLywIqD40710.jpg)
一種帶有局部坐標約束的半監督概念分解算法
![<b class='flag-5'>一種</b>帶有局部坐標約束的<b class='flag-5'>半</b><b class='flag-5'>監督</b>概念分解算法](https://file.elecfans.com/web1/M00/E8/7A/pIYBAGBkD76AM7ewAACe_Uy0tXs013.png)
一種基于DE和ELM的半監督分類方法
![<b class='flag-5'>一種</b>基于DE和ELM的<b class='flag-5'>半</b><b class='flag-5'>監督</b><b class='flag-5'>分類</b>方法](https://file.elecfans.com/web1/M00/EA/46/pIYBAGBwDdmAaDgoAAH8rTXkzw8303.png)
評論