Deeply-supervised Knowledge Synergy 深度監督知識協同


卷積神經網絡(CNNs)與最早的AlexNet相比,已經變得更加深入和復雜。然而,目前流行的訓練方案遵循了以前的方法,即只在網絡的最后一層增加監督,並將錯誤信息層層傳播。本文提出了一種新的深度監督知識協同(DKS)方法,目的是在不增加推理計算量的情況下,訓練具有改進的圖像分類任務泛化能力的CNN。受深度監督學習方案的啟發,我們首先在某些中間網絡層上附加輔助監督分支。當適當地使用輔助監督可以在一定程度上提高模型的精度時,我們進一步探討了將連接到骨干網的分類器動態學習的概率知識作為一種新的正則化方法來改進訓練的可能性。提出了一種新的協同損失模型,該模型考慮了各監督分支之間的知識匹配問題。有趣的是,它能夠在每次訓練迭代中在自上而下和自下而上兩個方向上進行密集的成對知識匹配操作,類似於同一任務的動態協同過程。我們使用最新的CNN體系結構對圖像分類數據集的DKS進行了評估,結果表明用它訓練的模型始終優於相應的模型。例如,在ImageNet分類基准上,我們的ResNet-152模型在1.47%的精度上優於基准模型。

Code is available athttps://github.com/sundw2014/DKS.

1.介紹

深卷積神經網絡(CNN)具有大量的可學習參數,與傳統的機器學習方法相比,具有更好的訓練數據擬合能力。隨着包括大規模數據集、強大硬件平台和有效開發工具在內的培訓資源的不斷增加,CNNs已成為各種視覺識別任務的主要學習模型[21、26、7、42]。為了獲得更令人信服的性能,CNN[39,10,47,17,44,15,1]被設計成比開創性的AlexNet[21]更深入和復雜,后者有8層,並在2012年ImageNet分類競賽中取得了突破性的成果[37]。盡管現代cnn廣泛使用各種工程技術,如仔細的超參數調整[39]、積極的數據論證[44,49]、有效的規范化[18,9]和復雜的連接路徑[10,17,44,15,1]來簡化網絡訓練,但它們的訓練仍然是困難的。

 

圖1:所提方法的說明。在圖中,我們在骨干網的一些中間層之上添加了三個輔助監控分支。每個分支輸出一個基於訓練數據的類概率分布,以此作為知識。我們使用圓來表示計算這些知識輸出的節點,並提出一個協同損失項來實現它們之間的成對匹配。

 

 

我們注意到最先進的CNN模型,如ResNet[10]、WRN[47]、DenseNet[17]、ResNeXt[44]、SENet[15]、DPN[1]、MobileNet[14,38]和ShuffleNet[51,27]采用了AlexNet的訓練方案。更具體地說,在訓練過程中,監督只添加到網絡的最后一層,並且訓練錯誤從最后一層反向傳播到更早的層。由於網絡深度、構建塊和網絡拓撲的復雜性增加,這可能會造成表示學習不足的風險,特別是對於那些與監視層有長連接路徑的層。文[41]和[22]提出的深度監督學習方案可以獨立地解決這個問題。Szegedy等人[41]將輔助分類器添加到其建議的GoogLeNet的兩個中間層,而Lee等人[22]提議將輔助分類器添加到網絡的所有隱藏層。在網絡訓練中,雖然這兩種方法使用了不同類型的輔助分類器,但它們采用了相同的優化策略,其中訓練損失是所有輔助分類器損失和連接到最后一層的分類器損失的加權和。這種方法在解決消失梯度問題和克服收斂性問題方面具有顯著的效果,可用於訓練一些舊的深度分類網絡。然而,現代CNN骨干網通常沒有收斂性問題,很少使用輔助分類器。最近,Huang等人[16]提出了一種二維多尺度CNN結構,該結構使用早期的出口分類器進行成本感知的圖像分類。在文獻[16]中,實證結果表明,單純地將簡單的輔助分類器附加到最先進的CNN的早期層(如ResNet或DenseNet)會導致性能下降,但是從建築設計的角度來看,多尺度特征和密集連接的結合可以緩解這一問題。

本文回顧了用於圖像分類任務的深度監督學習方法,提出了一種新的深度監督知識綜合(DKS)方法,該方法以訓練最新的CNN為目標,提高了分類精度,並且在推理過程中不引入額外的計算代價。受上述工作的啟發[41,22,16],我們首先在網絡訓練期間在某些中間層的頂部附加輔助超視覺分支,如圖1所示。結果表明,采用精心設計的輔助分類器可以在一定程度上提高最新CNNs的准確率。實踐表明,輔助督導信息有利於規范現代CNNs的培訓。我們推測,通過在連接到骨干網的所有監管分支之間實現明確的信息交互,可能仍然存在性能改進的空間,因此,我們進一步探討了利用輔助分類器動態學習的知識(即在訓練數據上評估的類概率輸出)和添加到最后一個網絡層的類篩選器作為改進訓練的新規則的可能性。在優化過程中,在訓練損失的基礎上增加了一個新的協同損失,該協同損失考慮了各監督分支之間的成對知識匹配。這種損失使得在每個訓練步驟中都可以在自頂向下和自下而上的方向上進行密集的成對知識匹配操作,類似於同一任務的動態協同過程。我們使用最流行的CNN體系結構(包括ResNet[10]、WRN[47]、DenseNet[17]和MobileNet[14])對兩個著名的圖像分類數據集進行了評估。結果表明,與各自的基線模型相比,用本方法訓練的模型具有顯著的精度改進。例如,在具有挑戰性的ImageNet分類數據集上,即使是非常深入的ResNet-152體系結構,Top-1的精度也提高了1.47%。

2.相關工作

在這里,我們總結了文獻中的相關方法,並用我們的方法分析了它們之間的關系和區別。

深入監督學習。

2014年發布了深度監督的學習方法[4122]。它使用連接到網絡隱藏層的輔助分類器來解決一些舊的深層cnn在圖像分類任務中的收斂問題。最近,它還被用於其他視覺識別任務,如邊緣檢測[45]、人體姿勢估計[31]、場景分析[54]、語義分割[53]、關鍵點定位[23]、自動描繪[29]和旅行時間估計[50]。盡管最近在其新應用方面取得了這些進展,但現代CNN分類模型很少使用輔助分類器。如[16]所述,直接在最新網絡(如ResNet或DenseNet)的早期層上附加簡單的輔助分類器會損害其性能。本文提出了一種新的用於圖像分類任務的深度監督學習方法DKS,在訓練先進的cnn時,提高了分類精度。
知識轉移。
近年來,知識轉移(KT)的研究已經吸引了越來越多的研究者。一項開創性的工作是知識蒸餾(KD)[11],其中使用大型教師模型或教師模型集合的軟輸出來規范較小學生網絡的訓練。[36]、[46]和[48]進一步表明,中間特征表示也可以用作增強知識提取過程的提示。KD技術也被用於其他任務,例如,提高用於圖像分類的低精度cnn的性能[28]和設計用於視頻動作識別的多流cnn[5]。與知識只從教師模型轉移到學生模型的KD及其變體不同,[52]通過提出相互學習策略來擴展KD,表明學生模型的知識也有助於提高教師模型的准確性。后來,這一思想被用於人的重新識別[55]和聯合人類分析和姿勢估計[32]。Li和Hoiem[24]通過KD和微調的結合,解決了在保留舊知識的同時,采用訓練好的神經網絡模型來處理新的視覺任務的問題。文[12]提出了一種改進的方法。喬等人。[35]提出了一種半監督圖像分類的深度協同訓練方法。在他們的方法中,所有的模型都被視為學生,並使用包含對抗性樣本的不同數據視圖進行訓練。本文提出的深度監督知識綜合方法是一種在單一神經網絡中進行知識轉移的新形式,它在焦點和形式上都不同於以往的方法。

CNN正規化。

ReLU[30]、Dropout[40]和BN[18]被證明是現代CNNs克服擬合或加速收斂的關鍵。因此,最近提出了許多改進的變體[9、43、4、8、6]。通過增強變換(如隨機裁剪、翻轉、縮放、顏色操作和線性插值)綜合增加現有訓練數據的大小,也可以減少過度擬合[21、13、41、49]。此外,預訓練[39]可以幫助神經網絡訓練的早期階段。這些方法在現代CNN建築設計和訓練中得到了廣泛的應用。我們的方法和他們是一致的。如圖3所示,使用DKS訓練的模型具有最高的訓練誤差,但測試誤差最低,這表明我們的方法表現得像正則化器,並且減少了ResNet-18的過度擬合。

3.我們的方法

在這一部分中,我們將介紹我們的方法的公式,強調它的洞察力,並詳細說明它的實現。

3.1 深度監督學習

由於我們的方法是以深度監督學習方案為基礎的,所以我們從它的制定開始。讓Wc作為需要學習的L層CNN模型的參數。設D={(xi,yi)| 1≤i≤N}為帶注釋的數據集,其中N個訓練樣本來自K個圖像類。這里,x是第i個訓練樣本,Yi是相應的標簽(一個具有K維度的one hot向量)。設F(WC,XI)為訓練樣本模型的K維輸出向量。對於標准的訓練方案,只在網絡的最后一層增加監督,優化目標可以定義為

 

 

 

Lc是損失,R是正則化項。

H是交叉熵損失函數。

 

 

這個優化問題可以很容易地通過SGD及其變體來解決[3,19,2]。據我們所知,大多數知名CNN[21、39、10、47、17、44、14、38、15、1、51、27、56、34、25]在模型訓練中都采用了這種優化方案。相比之下,文[22]中明確提出的深度監督學習方案在訓練過程中為網絡的所有隱藏層增加了輔助分類器。LetWa={wal | 1≤l≤l−1}附加在網絡每個隱藏層頂部的輔助分類器集。這里,wal表示添加到lth隱藏層的輔助分類器的參數。設f(wal,Wc,xi)為lh輔助clas-sifier的K維輸出向量。在不喪失通用性的前提下,深度監督學習方案的優化目標可以定義為

輔助損失La是在訓練集上評估的所有輔助分類器的損失的加權和,αl是lth輔助分類器的損失的加權和。通過引入輔助損失La,深度監督學習方案使得網絡在訓練過程中不僅可以從最后一層監督,而且可以從隱藏層監督中收集梯度。這被認為是克服了消失梯度問題,增強了收斂性[22,41]。

至於當代的工作[41],其優化目標可以看作是(3)的一個特例,因為它只在提出的GoogLeNet的兩個中間層添加了輔助分類器。另一個區別在於輔助量詞的結構。在實驗中,[22]使用了具有零位策略的模擬分類器在訓練過程中動態控制αl的值,而[41]使用了更復雜的具有固定αl值的分類器。我們發現,在訓練最先進的CNNs時,設置αl的固定值與零位策略具有相似的性能,因此,我們在實現中使用αl的固定值。

3.2。深度監督的知識協同

現在,我們提出了我們的DKS的公式,並從一個新的角度發展了深度監督學習方法。DKS還使用連接到網絡某些隱藏層的輔助分類器,但與現有方法不同的是,它在所有監督分支之間引入了顯式的信息交互。具體來說,DKS利用所有分類者動態學習的知識(即訓練數據上估計的類概率輸出)來規范網絡訓練。它的核心貢獻是一種新的協同損失,使得連接到后骨網絡的所有分類器之間能夠進行密集的成對知識邊緣匹配,從而使優化更加有效。
在本節中,我們將遵循最后一節中的注釋。我們只向某些隱藏層添加輔助分類器。設A⊆{1,2,···,L-1}是一個帶有| A |層索引的預定義集,指示添加輔助分類器的位置。設Aˆ=A∪{L},其中列出了網絡的stlayerIndex,以便Aˆ指示連接到網絡的所有分類器的位置,包括輔助分類器和原始分類器。設B⊆Aˆ×Aˆ為另一個具有| B |對層索引的預定義集合,指示激活成對知識匹配操作的位置。
現在,根據(3)的定義,我們的DKS的優化目標被定義為

 

其中FM和FN是分類器M和N的類概率輸出,在訓練樣本席上進行了評估,βMN加權了從M到N的成對知識邊緣匹配的損失,我們使用SoftMax函數計算類概率。在實驗中,我們設置αl=1,βmn=1並保持它們不變,這意味着與優化(2)和(3)相比,我們的方法在優化中沒有額外的超參數。對於協同損失,任意兩個分類器之間的知識匹配是一個帶軟目標的修正交叉熵損失函數。原則上,將分類器m的當前類概率輸出作為軟標簽(這些軟標簽被認為是常數值,梯度w.r.t.不會在反向傳播中計算),迫使分類器n模擬分類器m。這樣,分類器m當前學習的知識就可以被轉換-我們稱之為定向監督。有趣的是,在連接到主干網的所有監控分支之間啟用密集的成對已知L-邊緣匹配操作類似於同一任務的動態協同過程。

 

成對知識匹配。

對於DKS,一個關鍵問題是如何配置知識匹配對(即set B)。我們提供了三種選擇,包括自頂向下、自下而上和雙向策略,如圖2所示。采用自頂向下的策略,只利用與后骨網絡深層相連接的分類器的知識來指導前幾層分類器的訓練。自下而上的策略逆轉了這種設置,雙向策略包括了這兩種策略。對比研究(見實驗部分)表明,雙向策略具有最佳的性能,因此我們在最后的實現中采用了它。

 

輔助分類器。DKS的另一個基本問題是如何設計輔助分類器的結構。盡管深度監督學習方案已經證明在為圖像分類任務訓練一些舊的深度網絡時有效地解決了收斂問題[22],但最先進的cnn,如ResNet和DenseNet,即使對於具有數百層的模型,也不存在收斂問題。有鑒於此,直接將簡單的輔助分類器添加到網絡的隱藏層可能沒有幫助,這已經被[16]和[53]的經驗驗證。從CNN架構設計的角度來看,[41]和[16]建議添加復雜的輔助分類器到網絡的一些中間層來緩解這個問題。隨后,在實驗中,我們在網絡訓練過程中,在一定的中間層上附加了相對復雜的輔助視覺分支。具體地說,每個輔助分支由與骨干網中相同的構造塊(例如ResNet中的剩余塊)組成。如[16]中的經驗驗證,早期層缺乏有助於圖像級分類的粗糙級特征。為了解決這個問題,我們使用啟發式原則,使得從輸入到每個分類器的路徑具有相同數量的下采樣層。對比實驗表明,這些精心設計的輔助監控分支可以在一定程度上提高最終模型的性能,但增益相對較小。通過提出的協同損失,實現了稠密的知識邊緣匹配,取得了較好的效果。圖3顯示了一些說明性的結果,更多的結果可以在實驗部分找到。

與知識蒸餾比較。

在DKS中,成對知識匹配的靈感來源於知識轉換中常用的知識邊緣提取思想[11、48、36、46、28、52、24、12、35]。在這里,我們澄清他們的分歧。首先,我們的方法和他們的不同。這條研究路線主要解決了學生-教師框架下的網絡壓縮問題,但我們的方法側重於通過進一步開發深度監督學習方法來推進最新CNNs的訓練。第二,我們的方法在公式上與它們不同。在學生-教師框架下,通常假設大的教師模型是預先可用的,並定義優化以使用教師模型的軟輸出來指導較小的學生網絡的訓練。也就是說,教師模型和學生模型是分開優化的,二者之間沒有直接關系。在我們的方法中,輔助分類器共享骨干網的不同層次的特征層,並與連接到最后一層的分類器聯合優化。本文還對它們的性能進行了實驗比較。
據我們所知,DKS是第一個將深度監督學習和知識提煉方法緊密結合起來的工作,能夠在一個深度CNN模型中的不同層之間傳遞當前所學的知識。在補充材料中,我們提供了一些理論分析,試圖更好地理解DKS。

4.1。CIFAR-100實驗

CIFAR-100數據集[20]包含50000個訓練圖像和10000個測試圖像,其中實例是從100個對象類中提取的32×32彩色圖像。我們使用與[10,22]相同的數據預處理方法。在訓練中,首先在圖像兩側填充4個像素,然后從填充圖像或其水平翻轉中隨機抽取32×32個作物,最后用每個通道的平均值和std值進行歸一化。為了評估,我們在原始大小的測試圖像上重新移植錯誤。骨干網和實施細節。我們考慮了四種最先進的CNN架構,包括:(1)深度32和110的ResNets[10];(2)深度40/100和增長率12的DenseNets[17];(3)深度28/28和加寬因子4/10的WRNs[47];(4)MobileNet[14]如[52]所用。我們使用作者發布的代碼並遵循標准設置來訓練每個骨干網。在訓練過程中,對於ResNets和MobileNet,我們使用帶動量的SGD,將批大小設置為64,權重衰減為0.0001,動量設置為0.9,訓練點數設置為200。初始學習率為0.1,每60個階段除以10。對於DenseNets,我們使用帶有Nesterov動量的SGD,將批大小設置為64,權重衰減為0.0001,動量設置為0.9,訓練點數設置為300。初始學習率設為0.1,並除以總訓練時段數的50%和75%時的10。對於WRNs,我們使用帶動量的SGD,將批大小設置為128,權重衰減為0.0005,動量設置為0.9,訓練點數設置為200。初始學習率設置為0.1,並在60、120和160個階段除以5。受[41,16]的啟發,我們在這些CNN結構的某些中間層附加了兩個輔助分類器。具體來說,我們在具有下采樣層的對應構建塊之后添加每個輔助分類器。所有輔助分類器都具有與骨干網相同的構造塊、全局平均池層和完全連接層。不同之處在於構建塊的數量和卷積濾波器的數量(詳見補充材料)。所有模型都是在使用1個GPU的服務器上訓練的。對於每個網絡,我們運行每個方法5次並報告“平均(std)”錯誤

結果比較。結果總結在表1中,其中基線表示標准訓練方案,DS表示使用我們設計的輔助分類器的深度監督學習方案[41,22]。一般來說,利用我們設計的輔助分類器,DS在所有情況下都比基線方法提高了模型的准確率,其准確率從0.08%提高到0.92%。相比之下,我們的方法在所有網絡上的性能最好,給DS帶來至少0.67%和最多3.08%的准確度增益。隨着網絡的深入(如ResNet-110和DenseNet-100)/更寬(如WRN-28-10)/更小(如MobileNet),我們的方法也比所有同行有顯著的精度改進。這些實驗清楚地驗證了該方法在訓練最新CNNs時的有效性。

4.4。討論
雖然實驗中使用的CNNs具有良好的結構塊設計,提高了特征連接路徑的靈活性,並顯示出穩定的收斂性,但與標准訓練方案和DS相比,我們的DKS可以顯著地改善訓練效果。這首先得益於在網絡的中間層添加適當的輔助分類器,但我們認為,這更得益於所提出的協同損失,即在連接到網絡的所有受監督分類器之間實現全面的成對知識匹配,增強學習的特征表示。另一方面,我們為模特訓練提供大量的時間。對於站姿,基線ResNet-18模型在8 gpu服務器上訓練約20小時(SSD用於加速數據訪問過程),而我們的方法需要約37小時,幾乎是訓練時間的兩倍。另外,DS的訓練時間與我們的方法基本相同。我們認為這主要與輔助分類器的數量及其復雜性有關。因此,在所需的培訓時間和預期的准確性改進之間存在一個權衡。要獲得更大的精度增益,需要輔助分類器更加復雜,而簡單的分類器往往會降低模型的精度。由於增加輔助分類器的數目並不總是帶來更高的准確率增益,如我們的消融研究所示,我們認為目前增加訓練時間是合理的。更重要的是,所有的輔助分類器在推理階段都被丟棄,因此沒有額外的計算開銷。

5。結論
本文回顧了深度監督學習的研究成果,提出了一種新的深度監督學習優化方案DKS。引入了一種新的協同損失,該協同損失通過考慮連接到網絡的所有有監督分類器之間的密集成對知識匹配來調整訓練。在兩個已知的圖像分類任務上的大量實驗驗證了該方法的有效性。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM