Deep-Learning

什麼是 PSPNet 論文中提到的輔助損失

  • September 24, 2017

PSPNet(金字塔場景解析網絡)論文鏈接中提到的輔助損失是什麼?

我在下面引用論文的一部分

我們的深度監督 ResNet101 [13] 模型的示例如圖 4 所示。除了使用 softmax 損失來訓練最終分類器的主分支外,在第四階段之後應用了另一個分類器,即 res4b22 殘差塊。與將反向輔助損失阻止到幾個淺層的中繼反向傳播 [32] 不同,我們讓兩個損失函數通過所有先前的層。輔助損失有助於優化學習過程,而主分支損失承擔大部分責任。我們增加權重來平衡輔助損失。

我的問題是這種輔助損失是如何工作的,以及它對訓練過程有何幫助。它在網絡中的工作是什麼?

輔助損失(又名輔助塔)的想法來自GoogLeNet 論文。核心直覺可以這樣解釋:

假設您正在通過堆疊許多相同的模塊來構建網絡。隨著網絡變得更深,由於梯度消失問題(這是在 BatchNorm 時代之前),您將面臨訓練速度減慢的問題。為了促進每個模塊層的學習,您可以將一些小型網絡連接到該模塊的輸出。該網絡通常有幾個卷積層,然後是 FC,然後是最終的分類預測。這個輔助網絡的任務是預測與最終網絡預測相同的標籤,但使用模塊的輸出。我們將這個輔助網絡的損失添加到整個網絡的最終損失中,權重小於 1。例如,在 GoogLeNet 中,您可以看到右側以橙色節點結尾的兩個塔狀輔助網絡:

在此處輸入圖像描述

現在,如果模塊學習緩慢,那麼它會產生很大的損失並導致該模塊中的梯度流幫助梯度進一步下游。這種技術顯然有助於訓練非常深的網絡。即使在使用批量規範時,這也有助於在權重隨機初始化的早期週期中加速訓練。許多 NAS 架構在搜索過程中使用這種技術進行初始評估,因為在評估 1000 個架構時運行 epoch 的預算非常有限,因此早期加速可以提高性能。由於輔助網絡已從最終模型中刪除,因此不被視為“作弊”。

引用自:https://stats.stackexchange.com/questions/304699

comments powered by Disqus