久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

博客專欄

EEPW首頁 > 博客 > ResNet50 文藝復興 | ViT 原作者讓 ResNet50 精度達到82.8%,完美起飛!!!

ResNet50 文藝復興 | ViT 原作者讓 ResNet50 精度達到82.8%,完美起飛!!!

發布人:計算機視覺工坊 時間:2022-05-15 來源:工程師 發布文章

以下文章來源于集智書童 ,作者ChaucerG

作者丨ChaucerG

來源丨集智書童


圖片


在計算機視覺方面,實現最先進性能的大型模型與實際應用中簡單的模型之間的差距越來越大。在本文中,將解決這個問題,并顯著地彌補這2種模型之間的差距。

在實證研究中,作者的目標不是一定要提出一種新的方法,而是努力確定一種穩健和有效的配置方案,使最先進的大模型在實踐中能夠得到應用。本文證明了在正確使用的情況下,知識蒸餾可以在不影響大模型性能的情況下減小它們的規模。作者還發現有某些隱式的設計選擇可能會極大地影響蒸餾的有效性。

作者的主要貢獻是明確地識別了這些設計選擇。作者通過一項全面的實證研究來支持本文的發現,在廣泛的視覺數據集上展示了很不錯的結果,特別是,為ImageNet獲得了最先進的ResNet-50模型,達到了82.8%的Top-1精度。

1簡介

大型視覺模型目前主導著計算機視覺的許多領域。最新的圖像分類、目標檢測或語義分割模型都將模型的大小推到現代硬件允許的極限。盡管它們的性能令人印象深刻,但由于計算成本高,這些模型很少在實踐中使用。

相反,實踐者通常使用更小的模型,如ResNet-50MobileNet等,這些模型運行起來代價更低。根據Tensorflow Hub的5個BiT的下載次數,最小的ResNet-50的下載次數明顯多于較大的模型。因此,許多最近在視覺方面的改進并沒有轉化為現實世界的應用程序。

為了解決這個問題,本文將專注于以下任務:給定一個特定的應用程序和一個在它上性能很好的大模型,目標是在不影響性能的情況下將模型壓縮到一個更小、更高效的模型體系結構。針對這個任務有2種廣泛使用的范例:模型剪枝知識蒸餾

模型剪枝通過剝離大模型的各個部分來減少大模型的大小。這個過程在實踐中可能會有限制性:首先,它不允許更改模型族,比如從ResNetMobileNet。其次,可能存在依賴于架構的挑戰;例如,如果大模型使用GN,修剪通道可能導致需要動態地重新分配通道組。

相反,作者專注于沒有這些缺點的知識蒸餾方法。知識蒸餾背后的理念是“提煉”一個教師模型,在本文例子中,一個龐大而繁瑣的模型或模型集合,制成一個小而高效的學生模型。這是通過強迫學生模型的預測與教師模型的預測相匹配,從而自然地允許模型家族的變化作為壓縮的一部分。


圖片圖1


密切遵循Hinton的原始蒸餾配置,發現如果操作正確,它驚人地有效;如圖1所示作者將蒸餾解釋為匹配教師和學生實現的函數的任務。通過這種解釋發現對模型壓縮的知識蒸餾的2個關鍵原則。

  • 首先,教師和學生模型應該處理完全相同的輸入圖像,或者更具體地說,相同的裁剪和數據增強;

  • 其次,希望函數在大量的支撐點上匹配,以便更好地推廣。

使用Mixup的變體,可以在原始圖像流形外生成支撐點。考慮到這一點,通過實驗證明,一致的圖像視圖、合適的數據增強和非常長的訓練計劃是通過知識蒸餾使模型壓縮在實踐中工作良好的關鍵

盡管發現明顯很簡單,但有很多種原因可能會阻止研究人員(和從業者)做出建議的設計選擇。

  • 首先,很容易預先計算教師對離線圖像的激活量,以節省計算量,特別是對于非常大的教師模型;

  • 其次,知識蒸餾也通常用于不同的上下文(除了模型壓縮),其中作者推薦不同甚至相反的設計選擇;

  • 組后,知識蒸餾需要比較多的Epoch來達到最佳性能,比通常用于監督訓練的Epoch要多得多。更糟糕的是,在常規時間的訓練中看起來不理想的選擇往往是最好的,反之亦然。

在本文的實證研究中,主要集中于壓縮大型BiT-ResNet-152x2,它在ImageNet-21k數據集上預訓練,并對感興趣的相關數據集進行微調。在不影響精度的情況下,將其蒸餾為標準的ResNet-50架構(用GN代替BN)。還在ImageNet數據集上取得了非常強的結果:總共有9600個蒸餾周期,在ImageNet上得到了新的ResNet-50SOTA結果,達到了驚人的82.8%。這比原始的ResNet-50模型高出4.4%,比文獻中最好的ResNet-50模型高出2.2%。

最后,作者還證明了本文的蒸餾方案在同時壓縮和更改模型時也可以工作,例如BiT-ResNet架構到MobileNet架構。

2實驗配置2.1 Datasets, metrics and evaluation protocol

在5個流行的圖像分類數據集上進行了實驗:flowers102petsfood101sun397ILSVRC-2012(“ImageNet”)。這些數據集跨越了不同的圖像分類場景;特別是,它們的類的數量不同,從37到1000個類,訓練圖像的總數從1020到1281167個不等。

2.2 Teacher and student models

在本文中,選擇使用來自BiT的預訓練教師模型,該模型提供了大量在ILSVRC-2012ImageNet-21k數據集上預訓練的ResNet模型,具有最先進的準確性。BiT-ResNets與標準ResNets唯一顯著的區別是使用了GN層權重標準化

特別地專注于BiT-M-R152x2架構:在ImageNet-21k上預訓練的BiT-ResNet-152x2(152層,“x2”表示寬度倍數)。該模型在各種視覺基準上都顯示出了優異的性能,而且它仍然可以使用它進行廣泛的消融研究。盡管如此,它的部署成本還是很昂貴的(它需要比標準ResNet-50多10倍的計算量),因此該模型的有效壓縮具有實際的重要性。對于學生模型的架構,使用了一個BiT-ResNet-50變體,為了簡潔起見,它被稱為ResNet-50

2.3 Distillation loss

這里使用教師模型的和學生模型的之間的KL散度作為一個蒸餾損失來預測類概率向量。對于原始數據集的硬標簽,不使用任何額外的損失:圖片C是類別。這里還引入了一個溫度參數T,用于在損失計算之前調整預測的softmax-probability分布的熵:圖片

2.4 Training setup

為了優化,使用帶有默認參數的Adam優化器訓練模型。還使用了不帶有Warm up的余弦學習率機制。作者同時還為所有的實驗使用了解耦的權重衰減機制。為了穩定訓練,在梯度的全局l2范數上以1.0的閾值進行梯度裁剪。最后,除在ImageNet上訓練的模型使用batch size為4096進行訓練外,對其他所有實驗都使用batch size為512。本文的方案的另一個重要組成部分是Mixup數據增強策略。特別在“函數匹配”策略中中引入了一個Mixup變量,其中使用從[0,1]均勻抽樣的較強的Mixup系數,這可以看作是最初提出的β分布抽樣的一個極端情況。作者還使用了““inception-style”的裁剪,然后將圖像的大小調整為固定的正方形大小。此外,為了能夠廣泛的分析在計算上的可行(訓練了數十萬個模型),除了ImageNet實驗,使用標準輸入224×224分辨率,其他數據集均使用相對較低的輸入分辨率,并將輸入圖像的大小調整為128×128大小。

3模型蒸餾3.1 “consistent and patient teacher”假說

在本節中,對介紹中提出的假設進行實驗驗證,如圖1所示,當作為函數匹配時,蒸餾效果最好,即當學生和教師模型輸入圖像是一致視圖時,通過mixup合成“filled”,當學生模型接受長時間的訓練時(即“教師”很有耐心)。為了確保假說的穩健性,作者對4個中小型數據集進行了非常徹底的分析,即Flowers102PetsFood101Sun397進行了訓練。圖片為了消除任何混雜因素,作者對每個精餾設定使用學習速率{0.0003,0.001,0.003,0.01}與權重衰減{以及蒸餾溫度{1,2,5,10}的所有組合。

3.1.1.Importance of “consistent” teaching

首先,證明了一致性標準,即學生和教師看到相同的視圖,是執行蒸餾的唯一方法,它可以在所有數據集上一致地達到學生模型的最佳表現。在本研究中,定義了多個蒸餾配置,它們對應于圖1中所示的所有4個選項的實例化:

1 Fixed teacher

作者探索了幾個選項,其中教師模型的預測是恒定的,為一個給定的圖像。

  • 最簡單(也是最差的)的方法是fix/rs,即學生和老師的圖像大小都被調整到224x224pixel。
  • fix/cc遵循一種更常見的方法,即教師使用固定的central crop,而學生使用random crop
  • fix/ic_ens是一種重數據增強方法,教師模型的預測是1024種inception crops的平均值,我們驗證了以提高教師的表現。該學生模型使用random crop
2 Independent noise

用2種方式實例化了這種常見的策略:

  • ind/rc分別為教師和學生計算2種獨立的random crop;
  • ind/ic則使用heavy inception crop
3 Consistent teaching

在這種方法中,只對圖像進行隨機裁剪一次,要么是mild random cropping(same/rc),要么是heavy inception crop(same/ic),并使用相同的crop向學生和教師模型提供輸入。

4 Function matching

這種方法擴展了consistent teaching,通過mixup擴展圖像的輸入,并再次為學生和教師模型提供一致的輸入。為了簡潔起見,將這種方法稱為“FunMatch”。

3.1.2 Importance of “patient” teaching

人們可以將蒸餾解釋為監督學習的一種變體,其中標簽是由一個強大的教師模型提供的。當教師模型的預測計算為單一圖像視圖時,這一點尤其正確。這種方法繼承了標準監督學習的所有問題,例如,嚴重的數據增強可能會扭曲實際的圖像標簽,而輕微的增強可能又會導致過擬合。然而,如果將蒸餾解釋為函數匹配,并且最重要的是,確保為學生和老師模型提供一致的輸入,情況就會發生變化。在這種情況下,可以進行比較強的圖像增強:即使圖像視圖過于扭曲,仍然會在匹配該輸入上的相關函數方面取得進展。因此,可以通過增強來增加機會,通過做比較強的圖像增強來避免過擬合,如果正確,可以優化很長一段時間,直到學生模型的函數接近教師模型的函數。圖片在圖3中證實了作者的假設,對于每個數據集,顯示了在訓練最佳函數匹配學生模型時不同數量的訓練Epoch的測試精度的變化。教師模型為一條紅線,經過比在標準監督訓練中使用的更多的Epoch后,最終總是能夠達到。至關重要的是,即使優化了一百萬個Epoch,也沒有過擬合的跡象。作者還訓練和調整了另外2個Baseline以供參考:使用數據集原始硬標簽從零開始訓練ResNet-50,以及傳輸在ImageNet-21k上預訓練的ResNet-50。對于這2個Baseline,側重于調整學習率和權重衰減。使用原始標簽從零開始訓練的模型大大優于學生模型。值得注意的是,相對較短的100個Epoch的訓練結果比遷移Baseline差得多。總的來說,ResNet-50的學生模型持續地匹配ResNet-152x2教師模型。

3.2 Scaling up to ImageNet

基于對前幾節的見解,作者還研究了所建議的蒸餾方案如何擴展到廣泛使用和更具挑戰性的ImageNet數據集。圖片按照與之前相同的協議,在圖4(左)中,報告了3種蒸餾設置的學生訓練過程中的準確性曲線:

  1. fixed teacher
  2. consistent teaching
  3. function matching

作為參考,基礎教師模型達到83.0%的top-1。fixed teacher再次經過長時間的訓練計劃,并在600個Epoch后開始過度擬合。相比之下,consistent teaching方法會隨著訓練時間的增加而不斷提高教學表現。由此可以得出結論,consistent是在ImageNet上進行蒸餾工作的關鍵,類似于前面討論的中小型數據集上的結論。與簡單consistent teaching相比,function matching在短時間內的表現稍差,這可能是由于擬合不足造成的。但當增加訓練計劃的Epoch時,function matching的改進變得很明顯:例如,只有1200個Epoch,它能夠匹配4800個Epoch的consistent teaching性能,從而節省了75%的計算資源。最后,對于實驗的最長的function matching運行,普通的ResNet-50學生架構在ImageNet上達到了82.31%的Top-1精度。

3.3 Distilling across different input resolutions

到目前為止,假設學生和教師都接收到相同的標準輸入分辨率224px。但是,可以將不同分辨率的圖像傳遞給學生和老師,同時仍然保持一致:只需在原始高分辨率上進行裁剪圖像,然后為學生和教師模型調整不同的大小:他們的視圖將是一致,盡管分辨率不同。這種洞察力可以用于向更好、分辨率更高的教師模型學習,也可以用于訓練一個更小、更快的學生。圖片表1作者主要研究了2個方向:首先,訓練一個輸入分辨率為160個像素的ResNet-50學生模型,同時保持教師模型的輸入分辨率不變(224個像素)。這讓模型速度提高了一倍,仍然達到了驚人的80.49%的 top-1 準確度(見表1),而在此分辨率下使用一系列修改后得到的最佳模型準確率為78.8%。其次,在Big transfer之后,作者提取了一個在384px的分辨率下微調的教師模型(并達到83.7%的top-1準確率),這次讓學生的分辨率保持不變,即使用224px的輸入分辨率。如表1所示,與使用224像素分辨率教師相比,提供了一致的全面改進。

3.4  Optimization: A second order preconditioner improves training efficiency

作者觀察到,由于長時間的訓練計劃,優化效率成為“函數匹配”視角的精餾方案的一個計算瓶頸。直觀地說,作者認為優化困難源于這樣一個事實,即用多變量輸出比固定的圖像級標簽來擬合一般函數要困難得多。因此,作者進行了初步探索,是否更強大的優化器可以更好地完成任務。為此,我們使用二階預處理器將底層優化器從Adam更改為Shampoo。在圖4(中)中觀察到Shampoo達到了相同的測試精度,相比Adam使用的4800個Epoch,Shampoo僅用了1200個Epoch就達到了,并且步驟時間開銷最小。而且,總的來說,在所有實驗設置中都觀察到對Adam的持續改進。

3.5  Optimization: A good initialization improves short runs but eventually falls behind

受遷移學習的啟發,良好的初始化能夠顯著縮短訓練成本并實現更好的解決方案,作者嘗試用預訓練的BiT-M-ResNet50權重初始化學生模型,結果如圖4(右)所示。當蒸餾持續時間較短(30個epoch)時,BiT-M初始化提高了2%以上。然而,當訓練計劃足夠長時,差距就會縮小。從1200個epoch開始,從頭開始訓練1200個epoch與BiT-M初始化的學生模型相匹配,并在4800個epoch略超過它。

3.6 Distilling across different model families

除了為學生和老師使用不同的輸入分辨率之外,還可以使用不同的架構,這使模型能夠有效地從更強大和更復雜的教師模型那里轉移知識,同時保持簡單的架構,如MobileNet。作者通過2個實驗證明了這一點。首先,使用2個模型作為教師模型,并表明這進一步提高了性能。其次,訓練了一個MobileNet v3學生模型,并獲得了迄今為止最好的MobileNet v3模型。

MobileNet student

作為學生模型,使用MobileNet v3(Large),對于大多數實驗,選擇使用GroupNorm(默認為8組)而不是BatchNorm的變體。沒有使用原始論文中使用的任何訓練技巧,只是進行函數匹配圖片學生模型在 300個epoch后達到74.60%,在1200個epoch后達到76.31%,從而產生了最好的MobileNet v3模型。

Ensemble teacher

創建一個模型,該模型由默認教師模型在224像素分辨率和384像素分辨率的平均logits組成。這是一種不同但密切相關的教師模型,而且更強大但也更慢。在嘗試的每個時間段內,這個教師模型的學生都比默認的教師模型的學生好,并且在9600次蒸餾之后,達到了82.82%的新的最先進的top-1 ImageNet準確率。

3.7 Comparison to the results from literature

圖片

3.8 Distilling on the "out-of-domain" data

通過將知識蒸餾看作是“函數匹配”,可以得出一個合理的假設,即蒸餾可以在任意的圖像輸入上進行。到目前為止,在論文中,只使用關于感興趣任務的“域內”數據。在本節中,將研究這個選擇的重要性。petssun397數據集進行實驗。使用本文的蒸餾方案使用來自food101ImageNet數據集的域外圖像來蒸餾petssun397模型,并且對于參考結果,還使用來自petssun397數據集的“域內”圖像進行蒸餾。圖片圖5總結了結果。首先,觀察到使用“域內”數據進行蒸餾效果最好。有點令人驚訝的是,即使圖像完全不相關,蒸餾在某種程度上仍然有效,盡管結果會變糟。例如,這意味著學生模型可以通過僅查看標記為寵物品種的食物圖像(輕柔地)以大約30%的準確率來學習對寵物進行分類。最后,如果蒸餾圖像與實際的“域內”圖像(例如Pets和ImageNet,或sun397和ImageNet)有些相關或重疊,那么結果可能與使用“域內”一樣好(或幾乎一樣好)數據,但可能需要超長的優化周期。

3.9 Finetuning ResNet-50 with mixup and augmentations

為了確保觀察到的最先進的蒸餾結果不是精心調整的訓練設置的人工產物,即非常長的時間表和積極的Mixup增強,訓練了相應的Baseline ResNet-50模型。更具體地說,重用了精餾訓練設置,在ImageNet數據集上進行監督訓練,而不產生精餾損失。為了進一步加強Baseline,另外嘗試了帶有動量的SGD優化器,眾所周知,這通常比Adam優化器對ImageNet工作得更好。圖片圖6結果如圖6所示。可以觀察到,有標簽和沒有蒸餾損失的訓練會導致糟糕的結果,并開始過度擬合較長的訓練時間表。因此,得出結論,蒸餾是必要的。

4參考

[1].Knowledge distillation:A good teacher is patient and consistent

本文僅做學術分享,如有侵權,請聯系刪文。


*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。

時間繼電器相關文章:時間繼電器




關鍵詞: AI

相關推薦

技術專區

關閉