Mutual-Channel Loss 論文解讀

論文標題:The Devil is in the Channels: Mutual-Channel Loss for Fine-Grained Image Classification
來源:IEEE TIP 2020
針對目標:細粒度圖像分類
下載地址:https://arxiv.org/abs/2002.04264
github地址:https://github.com/PRIS-CV/Mutual-Channel-Loss

首先,說說這篇論文的優點:簡單,高效,易於實現。這篇論文相比於SOTA的其餘方法,代碼量少,只是在常用的網絡結構上加入了一個輔助結構。並且,該輔助結構沒有引入額外的網絡參數,只包含正則化,池化等操作,就達到了SOTA的效果。

創新點: 在細粒度圖像分類任務中引入了互通道損失LMCL_{MC},由 判別性組件多樣性組件 組成。

網絡結構

在這裏插入圖片描述
通過觀察網絡結構圖,可以看出來:該網絡僅僅是在常規的圖像分類網絡結構下,加入了一個互通道損失LMCL_{MC}Feature channels 是之前 Conv.layers 的最後一個卷積層輸出的特徵圖,LCEL_{CE} 使得網絡專注於全局判別性區域,LMCL_{MC} 則使得網絡專注於局部判別性區域。
Loss(F)=LCE(F)+μxLMC(F)Loss({\rm F}) = L_{CE}({\rm F}) + μ\,{\sf x}\,L_{MC}({\rm F})

邀請主角登場 – MC-LOSS在這裏插入圖片描述

(a)圖左側通道的判別性組件,(a)圖右側通道的多樣性組件。(b)圖表示使用了LMCL_{MC} 前後的特徵圖變化,可以看出,使用LMCL_{MC} 之後,得到了了判別性區域,且不同特徵圖的判別性區域各不相同。
假設,(a)圖中的輸出特徵圖 F{\rm F}NN通道,總共 cc 個類別,ξξ 表示每個類別中特徵圖的個數。那麼: N=cxξN = c\,{\sf x}\,ξ.

判別性組件的構成:
  1. CWA: Channel-Wise Attention,通道注意力機制。與其他論文中(如SE-Net)的通道注意力機制有所差別,雖然也是通道加權,但是本論文的權值只有0和1。所以,本文的CWA有點類似於Dropout隨機失活,不過Dropout是在空間域,CWA是在通道域。比如,有10個類別(c=10),共有40通道的特徵圖(N=40),此時每個類別4個通道的特徵圖(ξ=4)。 經過失活概率爲0.5的CWA之後,雖然輸出也是 NN 通道,但是其中有 N/2N/2 通道的特徵圖中所有的值都歸爲0了。並且失活與類別也有關,相應的,每個類別中通道失活概率也爲0.5,也就是說每個類別有2個通道(ξ/2)失活了。
    CWA的作用: 強制讓每個通道努力學到充足的判別性信息。因爲每次迭代的時候,原先每個類別特徵圖有一半(ξ/2)都置零了,爲了能夠進行分類,那剩下的特徵圖的任務就更大,更需要去學習判別性信息。
  2. CCMP: Cross-Channel Max Pooling,跨通道的最大池化。將每個類別中所有通道的最大響應值全部放在一張特徵圖上。原則上,越具有判別性的點,響應越大。關於CCMP的具體實現,可以參考我的另一篇博客:cross channel pooling 的原理與代碼實現
    CCMP的作用: 通道降維,得到c通道的特徵圖。
  3. GAP: GlobalAveragePooling,全局平均池化,應用非常廣泛,能夠將(b, c, w*h)的特徵圖池化爲(b, c, 1)的特徵圖。
    GAP的作用: 空間降維。
  4. Softmax: 打分,用於分類。

    g(Fi)=1WHk=1WHGAPmaxj=1,2,,ξCCMP[MiFi,j,k]CWAg\left(\mathbf{F}_{i}\right)=\underbrace{\frac{1}{W H} \sum_{k=1}^{W H}}_{\mathrm{GAP}} \underbrace{\max _{j=1,2, \cdots, \xi}}_{\mathrm{CCMP}} \underbrace{\left[M_{i} \cdot \mathbf{F}_{i, j, k}\right]}_{\mathrm{CWA}}

    Ldis(F)=LCE(y,[eg(F0),eg(F1),,eg(Fc1)]Ti=0c1eg(Fi)Softmax)L_{d i s}(\mathbf{F})=L_{C E}(\boldsymbol{y}, \underbrace{\frac{\left[e^{g\left(\mathbf{F}_{0}\right)}, e^{g\left(\mathbf{F}_{1}\right)}, \cdots, e^{g\left(\mathbf{F}_{c-1}\right)}\right]^{\mathrm{T}}}{\sum_{i=0}^{c-1} e^{g\left(\mathbf{F}_{i}\right)}}}_{\text {Softmax}})

判別性組件的功能: CWA和CCMP的協作,使得網絡能夠專注於各種類別的判別性區域。

多樣性組件的構成:

雖然判別性組件能夠專注於各種類別的判別性區域,但是,仍然無法保證大部分判別性區域都被定位了,於是引入了多樣性組件。

  1. Softmax: 正則化。
  2. CCMP: 和上文中的CCMP一樣的作用,得到c個通道的特徵圖。
  3. Sum: 將每個特徵圖上所有元素求和,每個通道只有一個元素。
  4. Average: 將所有通道的值求平均。

    h(Fi)=k=1WHmaxj=1,2,,ξC C M P[eFi,j,kk=1WHeFi,j,k]Softmax h\left(\mathbf{F}_{i}\right)=\sum_{k=1}^{W H} \underbrace{\max _{j=1,2, \cdots, \xi}}_{\text{C C M P}} \underbrace{\left[\frac{e^{\mathbf{F}_{i, j, k}}}{\sum_{k^{\prime}=1}^{W H} e^{\mathbf{F}_{i, j, k^{\prime}}}}\right]}_{\text {Softmax }}

    Ldiv(F)=1ci=0c1h(Fi)L_{d i v}(\mathbf{F})=\frac{1}{c} \sum_{i=0}^{c-1} h\left(\mathbf{F}_{i}\right)

Ldiv(F)L_{div}(\mathbf{F})越大越好。Ldiv(F)L_{div}(\mathbf{F})越大,每個類別中ξξ個通道的特徵圖,專注的區域越分散。

如上圖,假設輸入特徵圖經過softmax之後,得到極端情況,每張圖上,只有一個點爲1(紅色點),其餘全爲0(橙色點)。再經過CCMP和Sum後計算結果。當判別性區域越分散,累加值越高(ξ)。當每個特徵圖上,判別性區域都一樣時,那麼CCMP之後的特徵圖,只有一個點爲1,於是Sum之後,累加值最小(1)。另外,多樣性組件的存在是以判別性組件的存在爲前提,若沒有判別性組件,那麼多樣性組件將毫無意義。
MC-LOSS:  LMC(F)=Ldis(F)λxLdiv(F)L_{MC}({\rm F}) = L_{dis}({\rm F}) - λ\,{\sf x}\,L_{div}({\rm F}).

實驗

1.與SOTA模型比較


2.與其他分類損失函數比較:
在這裏插入圖片描述
參考鏈接:
https://blog.csdn.net/u013347145/article/details/105568990
https://zhuanlan.zhihu.com/p/106922799

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章