原文: Large Scale Fine-Grained Categorization and Domain-Specific Transfer Learningbash
經過微調從大規模數據集(如ImageNet)中學習知識,爲特定領域的細粒度視覺分類(fgvc,fine-grained visual categoriza- tion)任務(如識別鳥類或汽車品牌和模型)提供了有效的解決方案。在這種狀況下,數據標註常常會須要專門的領域知識,所以數據集很難擴大規模。在本文工做中,咱們首先要解決一個FGVC任務的大規模數據集問題。咱們的方法在iNaturalist2017大規模物種分類挑戰中得到第一名。咱們的方法成功的核心是使用更高的用來訓練的圖像分辨率和處理訓練數據的長尾分佈。接下來,咱們經過研究遷移學習從大規模數據集微調到小規模的,特定領域的FGVC數據集。咱們提出了經過Earth Mover的距離進行域類似性估算方法,,並證實轉移學習能夠從與此目標域相似的源域上的預訓練中獲益。咱們提出的轉移學習優於ImageNet預訓練,並在多個經常使用的FGVC數據集上得到最出色的結果網絡
細粒度視覺分類(fgvc)旨在區分從屬視覺類別。例如,識別天然分類,如鳥類、狗和植物的種類,或人工分類,如汽車製造和模型。一個成功的FGVC模型應該可以區分細微的類別差別,這是一個巨大的挑戰,可是這個模型設計爲其它應用提供了參考,豐富的圖像字幕,圖像生成,機器教學等應用。架構
卷積神經網絡的最新進展視覺識別(CNN)推進了FGVC的顯着進步。通常而言,爲了在CNN上實現至關好的性能,須要訓練具備大量監督的網絡數據。 可是,收集標記的細粒度數據集,須要專家級的領域知識,所以很難擴大規模。因此,經常使用的FGVC數據集相對較小,一般包含大約10k個標記的訓練圖像。在這種狀況下,一般採用微調使用如ImageNet這樣的大數據集預訓練的網絡的方法。異步
這種常見的用法提出了兩個問題:1)什麼是在大規模FGVC數據集上取得良好性能的重要因素? 雖然其餘大規模通用視覺 像ImageNet這樣的數據集包含一些細粒度的類別,它們的圖像一般是標誌性的Web圖像包含中心的對象,具備類似的比例和簡單背景。 隨着大規模的有限可用性FGVC數據集,如何設計表現良好的模型對於具備細粒度類別的大型非標誌性圖像仍然是一個不發達的領域。 2)怎麼樣經過在大規模數據集上先進行訓練,而後有效地進行遷移學習,對其進行微調在特定領域的細粒度數據集? 現代FGVC絕大多數方法使用ImageNet預訓練網適用於微調。鑑於目標細粒度域已知,咱們能夠作得比ImageNet更好嗎?性能
本文旨在回答兩個上述問題,關於最近iNaturalist 2017年推出大規模細粒度數據集(INAT)。iNat包含來自5,089個細粒度類別的675,170個訓練和驗證圖像。全部圖像都是在天然條件下拍攝的不一樣的物體尺度和背景。所以,INAT提供了一個很好的機會,探討背後的如何訓練神經網絡上在大規模FGVC上表現良好的關鍵因素。 在此外,與ImageNet一塊兒,iNat使咱們可以學習在大規模數據集上學習的知識轉移到小規模的細粒度域。學習
在這項工做中,咱們首先提出了一個訓練計劃,使用大規模細粒度分類,在iNat上達到最高分數。與ImageNet不一樣,iNat中的圖像具備更高的分辨率和普遍的物體尺度。iNat上的性能能夠是在輸入圖像分辨率較高的狀況下,明顯的提升 咱們在本文中討論的另外一個問題是長尾分佈問題,其中一些類別具備大部分的圖片。爲了解決這個問題,咱們提出了一個簡單的問題有效的方法。咱們的想法是從中學習好的功能大量的訓練數據,而後微調更均勻分佈的子集,以平衡網絡的效果。咱們的實驗結果顯示在,揭示咱們能夠大大改善表明性不足的類別和實現更好的總體表現。大數據
其次,咱們研究如何從知識轉移在大規模數據集上學到了小規模的細粒度域。數據集一般在內容和風格統計方面存在誤差。 在CUB200 Birds ,iNat預訓練的網絡比ImageNet表現得更好 預先訓練好的; 而在Stanford-Dogs,ImageNet預先訓練好的網絡能夠提升性能。這是由於iNat中有更多視覺上類似的鳥類和ImageNet中的狗類別。鑑於此,咱們提出了一種測量基於陸地移動距離的源和目標域的圖像級視覺類似性的的新方法。經過微調基於咱們提出的選定子集訓練的網絡域類似性,咱們實現了更好的轉移學習ImageNet預訓練和最早進的細粒度數據集的最新結果。 圖1給出了一個解釋圖。 優化
咱們相信,咱們對大規模FGVC和特定領域轉移學習的研究能夠爲研究相似問題的研究人員提供有用的指導。spa
最近的FGVC方法一般將有用的細粒度信息結合到CNN中並對端到端的網絡進行訓練。值得注意的是,二階雙線性特徵相互做用被證實是很是有效的。這個想法後來擴展到緊湊的雙線性池化,而後是更高階的相互做用.爲了捕捉微妙的視覺差別,常用視覺注意和深度量學習。 除了像素,咱們還利用其餘信息,包括部分,屬性,人類交互和文本描述。 處理缺少訓練數據,能夠收集額外的網絡圖像以增長原始數據集。咱們的方法與它們的不一樣之處在於,在不收集新數據的狀況下,在現有的大規模數據集上預訓練網絡.
使用高分辨率圖像進行fgvc已經變得愈來愈流行。在圖像網視覺識別方面也有相似的趨勢,從Alexnet最初的224×224到最近提出的NASNET中的331×331。然而,目前尚未像本文所作的那樣系統地研究圖像分辨率對大規模細粒度數據集的影響。
如何處理長尾分佈是現實數據中的一個重要問題。然而,這是一個至關未開發的領域,主要是由於經常使用的基準數據集通過預處理後接近均勻分佈。vanHorn等人指出,尾部類別的表現要比頭部類別的表現差得多,後者有足夠的訓練數據。咱們提出了一個簡單的兩步訓練方案來處理長尾分佈,在實踐中效果很好。
經過直接使用預訓練網絡做爲特徵提取器或微調網絡,在ImageNet上訓練的卷積神經網絡(CNN)已普遍用於遷移學習。因爲使用預先訓練的CNN進行轉移學習取得了顯着成功,所以在理解遷移學習方面作了大量工做。特別是,一些先前的工做不精確地證實了轉移學習和領域類似性之間的聯繫。例如,兩個隨機分割之間的遷移學習比ImageNet中的天然/人造對象分割更容易[64];手動添加全部可用類中的512個附加相關類別,改進了PASCAL VOC上經常使用的1000個ImageNet類;從組合的ImageNet和Places數據集轉移能夠在視覺識別任務列表中產生更好的結果。 Azizpour等人對與原始ImageNet分類任務具備不一樣類似性的遷移學習任務列表進行了有用的研究(例如,圖像分類被認爲比實例檢索更類似等)。咱們的工做之間的主要差別有兩方面:首先,咱們提供了一種方法來量化源域和目標域之間的類似性,而後從源域中選擇更類似的子集以實現更好的遷移學習。其次,他們都使用預先訓練的CNN做爲特徵提取器,而且僅訓練最後一層或在提取的特徵上使用線性SVM,而咱們微調網絡的全部層。.net
在本節中,咱們將介紹咱們的訓練計劃-- 在充滿挑戰的2017年數據集iNaturalist上取得最佳成績 ,尤爲是使用更高的分辨率的圖像 和處理長尾分佈的處理。
在訓練CNN時,爲了便於網絡設計和 批量訓練,輸入圖像一般是預處理的 爲必定大小的正方形。 每一個網絡架構 一般有一個默認的輸入大小。 例如,AlexNet 和VGGNet採用224×224的默認輸入大小 而且這個默認輸入大小不容易改變 - 在卷積須要以後致使徹底鏈接的層 固定大小的要素圖。 最近的網絡包括 ResNet和Inception是徹底卷積的,最後有全局平均池化。 此設計使網絡可以接收輸入 任意大小的圖像。 採用具備不一樣分辨率的圖像 在網絡內引入了不一樣下采樣大小的特徵圖 。
分辨率較高的輸入圖像一般包含 更豐富的信息和細微的細節 視覺識別,特別是對於FGVC。 所以, 更高分辨率的輸入圖像產生更好的性能 。 對於在ImageNet上優化的網絡,有一個 使用具備更高分辨率的輸入圖像的趨勢 :從最初的224×224在AlexNet [33]到 331×331最近提出的NASNet [72],如圖所示 表3.然而,來自ImageNet的大多數圖像都有一個 分辨率爲500×375幷包含類似尺度的物體, 限制咱們能夠從使用更高分辨率得到的好處。 咱們探索使用範圍普遍的效果 在iNat中輸入圖像大小從299×299到560×560 數據集,高分辨率輸入顯示出更高的性能。
現實世界圖像的統計數據是長尾的:少數 類別具備很強的表明性,而且具備大部分 圖像,而大多數類別不多被觀察到, 只有幾張圖片。這與流行的基準數據集中的均勻圖像分佈造成鮮明對比,例如ImageNet [12],COCO [34]和CUB200 [58]。
因爲iNaturalist數據集[55]中各種別的圖像數量高度不平衡,咱們發如今表明性不足的尾部類別上表現不佳。 咱們認爲這主要是由兩個緣由引發的:1)缺少訓練數據。 iNat訓練集中大約1,500個細粒度類別的圖像少於30個。 2)訓練期間遇到的極端不平衡:最大類和最小類中的圖像數之間的比率約爲435.沒有對訓練圖像進行任何從新採樣或從新加權損失,具備更多圖像的類別 頭部將主導那些尾巴。 因爲咱們在第一期缺少訓練數據方面作得不多,咱們提出了一種簡單有效的方法來解決第二類不平衡問題。
訓練分爲兩個階段。 在第一階段,咱們像往常同樣在原始不平衡數據集上訓練網絡。 利用來自全部類別的大量訓練數據,網絡能夠得到良好的特徵表示。 而後,在第二階段,咱們使用較少的學習對包含更平衡數據的子集進行微調 率。 咱們的想法是慢慢轉移學習的功能,讓網絡在全部類別之間從新平衡。 圖2顯示了咱們分別在第一階段訓練的iNat訓練集和第二階段訓練的子集中的圖像頻率分佈。 第二節的實驗 5.2驗證所提出的策略能夠提升總體性能,特別是對於表明性不足的尾部類別。
本節描述了從大型數據集上訓練的網絡到小型細粒度數據集的遷移學習。介紹了一種測量兩個域之間視覺類似性的方法,並給出了在給定目標域的狀況下,如何從源域中選擇一個子集。
假設咱們有一個源域S和一個目標域T.咱們定義兩個圖像之間的距離s∈S和t∈T做爲它們的特徵表示之間的歐幾里德距離:
d(s, t) = ||g(s) − g(t)|| (1)
複製代碼
其中g(·)表示圖像的特徵抽取器。爲了更好地捕獲圖像類似性,特徵抽取器g(·)須要可以以一種通用的、無偏見的方式從圖像中提取高級信息。所以,在咱們的實驗中,咱們g(·)使用在大規模JFT數據集上訓練的Resnet-101的倒數第二層的特徵。
一般,使用更多圖像會產生更好的遷移學習。 爲簡單起見,在本研究中,咱們忽略了域規模(圖像數量)的影響。 具體來講,咱們規範化源域和目標域中的圖像數量。 由陳等人研究。 [49],遷移學習績效與訓練數據量呈對數增長。 這代表,當咱們已經具備足夠大的數據集(例如,ImageNet)時,因爲使用更多訓練數據而致使的轉移學習中的性能增益將是微不足道的。 所以,忽略域規模是一個合理的假設,能夠簡化問題。 咱們對域類似性的定義能夠歸納爲經過添加比例因子來考慮域規模,但咱們發現忽略域規模在實踐中已經很好地運行。
在這種假設下,轉移學習能夠被視爲將一組圖像從源域S移動到目標域T.須要經過將圖像移動到另外一個圖像來完成的工做能夠被定義爲它們在等式1中的圖像距離。 而後,兩個域之間的距離能夠定義爲所需總工做量的最小值。 域類似性的這種定義能夠經過地球移動器的距離(EMD)來計算。
爲了使計算更容易處理,咱們進一步進行了額外的簡化,以經過其特徵的平均值來表示類別中的全部圖像特徵。 形式上,咱們將源域表示爲且目標域爲
,其中
是S中的第i類,
是 該類別中的標準化圖像數量; 相似地,對於T中的
和
。 m和n分別是源域S和目標域T中的類別總數。 咱們歸一化了圖像總數,咱們獲得
。
表示來自源域的類別i中的圖像特徵的平均值,相似於目標中的
域。 S和T之間的距離定義爲他們的陸地移動距離(EMD),表示爲:
其中, 最優流
對應於經過求解EMD優化問題的總工做量的最小值。 最後,域類似性定義爲
其中γ在全部實驗中設定爲0.01。 圖3示出了經過EMD計算所提出的域類似性。
咱們在公式2中定義了域類似性,這樣就能夠從源域中選擇一個更相似於目標域的子集。咱們使用貪婪的選擇策略,在源域中逐步包含最類似的類別。也就是說,對於源域中的每一個類別
,咱們經過如下公式計算其與目標域的域類似性:
,如公式3中所定義。而後選擇具備最高域類似性的前K類。注意,雖然這種貪婪的選擇方式不能保證從域類似性的角度來選擇K大小子集的最優性,但咱們發現這種簡單的策略在實踐中頗有效。
iNaturalist 2017.
ImageNet.
Fine-Grained Visual Categorization.
咱們使用3種網絡類型:ResNet,Inception,SENet
Residual Network (ResNet).
最初由He等人引入,殘差鏈接的網絡極大地減小了優化困難,並使更深層網絡的訓練成爲可能。從新創建的網絡後來獲得了改進。經過使用身份映射做爲skip con的預激活殘差模塊之間的鏈接。咱們使用最新的帶有50、101和152層的Resnet版本
Inception.
Inception模塊首先由Szegedy等人提出。在Googlenet中,設計用於在參數和計算方面很是有效,同時實現最早進的性能。而後使用批標準化、因子分解卷積和剩餘鏈接進一步優化初始模塊,咱們在實驗中使用Inception- v3 , Inception-v4 和 Inception-ResNet-v2。
Squeeze-and-Excitation (SE)
最近由Hu等人提出。S模塊在ILSVRC2017中得到了最佳性能。SE模塊經過空間平均池擠壓來自特徵圖的響應,而後學習從新縮放特徵圖的每一個通道。因爲SE模塊設計簡單,幾乎能夠在任何現代網絡中使用,以提升性能,而無需額外開銷。咱們使用inception-v3 SE和inception-resnet-v2 SE做爲基線。
對於全部網絡架構,咱們嚴格遵循其原始設計,但替換了最後一個線性分類層,以匹配數據集中的類別數。
咱們使用開源TensorFlow[2]在多個Nvidia Tesla K80 GPU上異步實現和訓練全部模型。在訓練過程當中,將輸入圖像從原始圖像中隨機剪切,並經過比例和縱橫比增大從新調整爲目標輸入尺寸。咱們使用rmsprop優化器對全部網絡進行了訓練,動量爲0.9,批量大小爲32。9次學習率設爲0.045,每2個時期後指數衰減0.94;對於遷移學習中的微調,每4個時期後學習率衰減0.94,初始學習率下降到0.0045。咱們還使用了標籤平滑。在推理過程當中,原始圖像被中心裁剪並從新調整爲目標輸入大小。
爲了驗證所提出的大規模細粒度分類學習方案,咱們對iNaturalist 2017數據集進行了大量的實驗。爲了得到更好的性能,咱們從ImageNet預訓練的網絡中進行微調。若是從頭開始訓練INAT,前5個錯誤率≈1%更差。 咱們訓練了具備3種不一樣輸入分辨率(29九、448和560)的Inception-v3。圖像分辨率的影響如表3所示。從表中能夠看出,使用更高的輸入分辨率能夠在INAT上得到更好的性能。 咱們提出的處理長尾分佈的微調方案的評估如圖4所示。經過對學習率較小的更平衡子集(咱們的實驗中爲10-6)進行進一步微調,能夠得到更好的性能。表4顯示了經過微調對頭部和尾部類別進行的性能改進。訓練圖像大於或等於100的頭部類別的改善率分別爲前1名的1.95%和前5名的0.92%;而訓練圖像小於100的尾部類別的改善率分別爲前1名的5.74%和前5名的2.71%。這些結果驗證了所提出的微調方案大大改善了表現不足的尾翼類的性能。
表5給出了咱們在2017年iiNaturalist挑戰賽中獲勝的詳細表現分類。使用更高的圖像分辨率和對更平衡的子集進行進一步微調是咱們成功的關鍵。
咱們經過對源域上的網絡進行從頭開始的預訓練,而後對目標域進行微調,從而對所提出的傳輸學習方法進行評估,以實現細粒度的可視化分類。除了在Imagenet和INAT上分別進行訓練外,咱們還在一個組合的Imagenet+INAT數據集上訓練網絡,該數據集包含來自6089個類別的1946640個訓練圖像(即,來自Imagenet的1000個和來自INAT的5089個)。全部網絡均採用299×299的輸入尺寸。表6顯示了在IMAGENET VAL和INAT MiniVAL上評估的訓練前績效。值得注意的是,在組合的IMAGENET+INAT數據集上訓練的單個網絡與單獨訓練的兩個模型相比,具備競爭性的性能。總的來講,在開始和開始SE的狀況下,聯合訓練優於單獨訓練,而在resnet的狀況下則更糟。基於SEC中定義的建議域選擇策略。4.2,咱們從組合的IMAGENET+INAT數據集中選擇如下兩個子集:A子集是經過包含7個FGVC數據集的前200個IMAGENET+INAT類別來選擇的。刪除重複的類別會致使源域包含832個類別。B子集是經過增長CUB200、Nabirds、Stanford Dogs前100個類別和Stanford Cars and Aircraft前50個類別中最類似的400個類別來選擇的,總共給咱們提供了585個類別。圖6顯示了根據咱們提出的域類似性計算的全部fgvc數據集在imagenet+inat中最類似的10個類別。很明顯,對於cub200、flowers-102和nabirds來講,最類似的分類來自於inat;而對於斯坦福狗、斯坦福汽車、飛機和food101來講,最類似的分類來自於imagenet。這代表IMAGENET和INAT中的數據集誤差很大。
表7顯示了經過微調細粒度數據集上的inception-v3實現的遷移學習性能。咱們能夠看到IMAGENET和INAT都有很大的誤差,在目標數據集上實現了顯著不一樣的遷移學習性能。有趣的是,當咱們遷移在組合的imagenet+inat數據集上訓練的網絡時,性能介於imagenet和inat預訓練之間,這代表咱們不能經過簡單地使用更大規模的組合源域在目標域上實現良好的性能。
此外,在圖5中,咱們展現了遷移學習性能與咱們提出的領域類似性之間的關係。當從更類似的源域微調時,咱們觀察到更好的轉移學習性能,除了food101,在該源域上轉移學習性能幾乎與域類似性變化保持一致。咱們認爲這極可能是由於Food101中有大量的訓練圖像(每節課750張訓練圖像)。所以,目標域包含足夠的數據,所以遷移學習幾乎沒有幫助。在這種狀況下,咱們忽略域規模的假設再也不有效。
從表7和圖5能夠看出,所選子集B在全部fgvc數據集中都取得了良好的性能,在cub200和nabirds上大大超過了imagenet預培訓。在表8中,咱們將咱們的方法與現有的fgvc方法進行了比較。結果代表,所提出的轉移學習方法在經常使用的fgvc數據集上具備最早進的性能。注意,因爲咱們對域類似性的定義計算速度很快,因此咱們能夠輕鬆地探索選擇源域的不一樣方法。在不進行任何預訓練和微調的狀況下,能夠直接根據域類似性來估計遷移學習性能。在咱們的工做以前,在fgvc任務上得到良好性能的惟一選擇是基於ImageNet微調設計更好的模型,或者經過收集更多的圖像來加強數據集。然而,咱們的工做提供了一個新的方向,即便用更類似的源域對網絡進行預訓練。咱們代表,在源域中選擇適當的子集後,只需對現成的網絡進行微調,就能夠匹配或超過這些性能增益。
在這項工做中,咱們提出了一個訓練方案,經過使用高分辨率的輸入圖像和微調來處理長尾分佈,從而在大規模非天然數據集上得到最佳性能。咱們進一步提出了一種新的獲取與地球運動距離域類似性的方法,代表從更類似的域進行微調能夠得到更好的轉移學習性能。將來,咱們計劃研究領域類似性以外的其餘重要因素。
致謝。這項工做部分獲得了谷歌重點研究獎的支持。咱們要感謝谷歌的同事們提供的有益的討論。