達摩院開源低成本大規(guī)模分類框架FFC
論文鏈接:https://arxiv.org/pdf/2105.10375.pdf
應(yīng)用 & 代碼:
- ??https://modelscope.cn/models/damo/cv_ir50_face-recognition_arcface/summary??
- ??https://modelscope.cn/models/damo/cv_resnet_face-recognition_facemask/summary??
背景
圖像分類是當前 AI 最為成功的實際應(yīng)用技術(shù)之一,已經(jīng)融入了人們的日常生活。被廣泛應(yīng)用于計算機視覺的大部分任務(wù)中,比如圖像分類、圖像搜索、OCR、內(nèi)容審核、識別認證等領(lǐng)域。目前已形成一個普遍共識:“當數(shù)據(jù)集越大 ID 越多時,只要訓(xùn)練得當,相應(yīng)分類任務(wù)的效果就會越好”。但是當面對千萬 ID 甚至上億 ID 時,當下流行的 DL 框架,很難低成本的直接進行如此超大規(guī)模的分類訓(xùn)練。
解決該問題最直觀的方式是通過集群的方式消耗更多的顯卡資源,但即便如此,海量 ID 下的分類問題,依然會有如下幾個問題:
1)成本問題:分布式訓(xùn)練框架 + 海量數(shù)據(jù)情況下,內(nèi)存開銷、多機通信、數(shù)據(jù)存儲與加載都會消耗更多的資源。
2)長尾問題:實際場景中,當數(shù)據(jù)集達到上億 ID 時,往往其絕大部分 ID 內(nèi)的圖片樣本數(shù)量會很少,數(shù)據(jù)長尾分布非常明顯,直接訓(xùn)練難以獲得較好效果。
本文余下章節(jié)將重點介紹超大規(guī)模分類框架現(xiàn)有解決方案,以及低成本分類框架 FFC 的相應(yīng)原理及 trick 介紹。
方法
在介紹方法之前,本文首先回顧了當前超大規(guī)模分類存在的主要挑戰(zhàn)點:
挑戰(zhàn)點 1:成本居高不下?
ID 數(shù)目越大分類器顯存需求越大,如下示意圖所示:
顯存越大所需機器卡數(shù)越多,成本也就越高,相應(yīng)多機協(xié)同的硬件基礎(chǔ)設(shè)施成本也越高。與此同時,當分類 ID 數(shù)目達到極超大規(guī)模的時候,主要計算量將浪費在最后一層分類器上,骨架網(wǎng)絡(luò)消耗的時間可忽略不計。
挑戰(zhàn)點 2:長尾學(xué)習困難?
在實際場景下,上億 ID 中的絕大部分 ID 內(nèi)的圖片樣本數(shù)量會很少,長尾數(shù)據(jù)分布非常明顯,直接訓(xùn)練難以收斂。如果按照同等權(quán)重訓(xùn)練,則長尾樣本會被淹沒學(xué)習不充分。此時,一般采用 imbalanced sample,在這個研究課題上,有非常多的方法可以借鑒,采取怎樣的方式融入到簡易超大規(guī)模分類框架上較為合適呢?
帶著上述兩個挑戰(zhàn)點,首先來看下現(xiàn)有可行的方案有哪些,是否能很好的解決上述兩個挑戰(zhàn)。
可行方法 1:度量學(xué)習?
可行方法 2:PFC 框架
可行方法 3:VFC 框架?
本論文方法:FFC 框架
大規(guī)模分類采用 FC 訓(xùn)練時損失函數(shù)如下:
在每一次反傳過程中,所有的類中心都會更新:
但 FC 太大了,直觀的思路是合理地選擇一定比例的類中心,即如下 Vj 為 1 部分:
由上述動機,引出了如下初步的方案:
首先,為了解決長尾帶來的影響,本文引入兩個 loaders,分別是基于 id 采樣的 id_loader 和基于樣本采樣的 instance_loader,有了這兩個 loader。在每個 epoch 當中,樣本多的類和樣本少的(few-shot)類能夠有機會被訓(xùn)練到。
其次,在訓(xùn)練開始之前,先將一部分樣本送入 id group,這里假設(shè)放入 10% id 的樣本進入 group。這時候 gallery 用的是隨機參數(shù)。
然后,訓(xùn)練開始時,batch 樣本挨個進入 probe net。然后對于每個 batch 里面的樣本就有兩種情況:1.)group 中存在此樣本同樣 id 的特征,2.)group 中不存在同類樣本的特征。對于這兩種情況,分別稱之為 existing id 和 fresh id。對于 existing 的樣本,用特征和 group 里面的特征做內(nèi)積,計算與標簽的交叉熵損失函數(shù),后回傳。對于 fresh 的樣本,與 group 里面的樣本進行最小化余弦相似度。
最后,對 group 里面特征更新,采取新類中心替換,依據(jù)現(xiàn)有類中心加權(quán)的原則。對于 gallery net,采用 moving average 策略把 probe 里面的參數(shù)漸漸更新進去。
本論文方法:trick 介紹?
1.)引入的 ID Group,其 size 是個可調(diào)參數(shù),一般默認為 3 萬。
2.)為達到穩(wěn)定訓(xùn)練,參考 moco 類方法,引入 moving average,相應(yīng)收斂情況分別為:
實驗結(jié)果
1. 雙 Loader 消融實驗
2. SOTA 方法效果對比
3. 顯存與樣本吞吐對比?