ICML2020|Channel Equilibrium Network for Learning Deep Representation

论文地址:https://arxiv.org/pdf/2003.00214.pdf
代码地址:Tangshitao/CENet

一、动机——解决 inhibited channels

The lottery hypothesis (Frankle & Carbin, 2018) 认为:若CNN模型的参数太多,网络的feature map中将存在很多不重要的 (inhibited) 通道——其特征值 extremely small.

作者以 batch normalization 算法为例:

(1) 对网络某一层的输出做归一化处理: x ˉ n c i j = ( x n c i j − μ k ) / σ k \bar{x}_{ncij} = (x_{ncij}-\mu_{k}) / \sigma_{k} xˉncij=(xncijμk)/σk

(2) 变换重构(引入可学习参数 γ \gamma γ β \beta β ): x ~ n c i j = γ c x ˉ n c i j + β c \tilde{x}_{ncij} = \gamma_{c}\bar{x}_{ncij}+\beta_{c} x~ncij=γcxˉncij+βc

其源码实现:

# https://blog.csdn.net/hjimce/article/details/50866313
m = K.mean(X, axis=-1, keepdims=True)#计算均值
std = K.std(X, axis=-1, keepdims=True)#计算标准差
X_normed = (X - m) / (std + self.epsilon)#归一化
out = self.gamma * X_normed + self.beta#重构变换

产生inhibited channels的 条件

对于随机变量 z ∼ N ( 0 , 1 ) z\sim N(0, 1) zN(0,1) y = m a x { 0 , γ c z + β c } y=max\{0, \gamma_{c}z + \beta_{c}\} y=max{0,γcz+βc} ,当且仅当 β c ⩽ 0 , γ c → 0 \beta_{c} \leqslant 0, \gamma_{c} \rightarrow 0 βc0,γc0 时,有 Ξ z [ y ] = 0 , Ξ z [ y 2 ] = 0 \Xi_{z}[y] = 0, \Xi_{z}[y^{2}] = 0 Ξz[y]=0,Ξz[y2]=0 .

条件 可知,normalization操作与激活函数(如ReLU)同时作用,便会产生inhibited channels。因此作者提出在归一化与激活函数之间添加一个Channel Equilibrium层(简称为CE层),以期望每一层网络中的每个通道都能平等地参与到特征表达中

对于常规的训练网络(如下图所示),经过BN层和激活函数后存在很多的 inhibited channels。而在BN层后添加CE层、在激活函数前添加CE层能显著减少inhibited channels的占比。
在这里插入图片描述

二、核心——Channel Equilibrium模块

1、CE函数

目的: 让每一个通道都尽可能最大化地参与到特征表达中。

重写normalization部分 的重构公式:
x ~ n c i j = γ c x ˉ n c i j + β c \tilde{x}_{ncij} = \gamma_{c}\bar{x}_{ncij}+\beta_{c} x~ncij=γcxˉncij+βc
得到CE模块的公式:
p n i j = D n − 1 2 ( D i a g ( γ ) x ˉ n i j + β ) D n = λ Σ + ( 1 − λ ) D i a g ( ν n ) ν n = f ( σ ~ n 2 ) p_{nij} = D_{n}^{-\frac{1}{2}}(Diag(\gamma)\bar{x}_{nij} + \beta) \\ D_n = \lambda \Sigma + (1-\lambda )Diag(\nu _n) \\ \nu _n = f(\tilde{\sigma}_n^2) pnij=Dn21(Diag(γ)xˉnij+β)Dn=λΣ+(1λ)Diag(νn)νn=f(σ~n2)
其中:

(1) γ ∈ R C × 1 , β ∈ R C × 1 \gamma \in \mathbb{R}^{C \times 1}, \beta\in \mathbb{R}^{C \times 1} γRC×1,βRC×1

(2) D i a g ( γ ) Diag(\gamma) Diag(γ) :使用 γ 作为对角元素的对角矩阵;

(3) x ˉ n i j \bar{x}_{nij} xˉnij :第n个样本在位置 ( i , j ) (i, j) (i,j) 下的所有通道构成的向量;

(4) D n − 1 2 D_{n}^{-\frac{1}{2}} Dn21 :最主要的操作——decorrelation operator;

(5) ∑ \sum : mini-batch中归一化之后的每个样本之间的协方差矩阵;

(6) ν n ∈ R C × 1 \nu _n \in \mathbb{R}^{C \times 1} νnRC×1 :第n个样本所有通道的一个自适应的实例方差(the adaptive instance variances);

(7) σ ~ n 2 ∈ R C × 1 \tilde{\sigma}_n^2 \in \mathbb{R}^{C \times 1} σ~n2RC×1 :第n个样本归一化后的 x ~ n \tilde{x}_{n} x~n(此处应该指 x ˉ n \bar{x}_{n} xˉn )的所有通道的方差

以上三个式子中比较复杂的计算量来自于 D n − 1 2 D_{n}^{-\frac{1}{2}} Dn21

2、近似估计

由上式可知:
D n − 1 2 = ( λ Σ + ( 1 − λ ) D i a g ( ν n ) ) − 1 2 D_n^{-\frac{1}{2}} = (\lambda \Sigma + (1-\lambda )Diag(\nu _n))^{-\frac{1}{2}} Dn21=(λΣ+(1λ)Diag(νn))21
已知 f ( x ) = x − 1 2 f(x)=x^{-\frac{1}{2}} f(x)=x21 为凸函数,故其满足矩阵的杰森不等式,上式可以近似如下:
D n − 1 2 ⪯ λ Σ − 1 2 + ( 1 − λ ) [ D i a g ( ν n ) ] − 1 2 D_n^{-\frac{1}{2}} \preceq \lambda \Sigma^{-\frac{1}{2}} + (1-\lambda )[Diag(\nu _n)]^{-\frac{1}{2}} Dn21λΣ21+(1λ)[Diag(νn)]21
where A ⪯ B A \preceq B AB, indicates B − A B-A BA is semi-definite positive.

接下来,计算量被分解为 batch decorrelation 分支(即BD分支)和 instance reweighting 分支(即IR分支)。

其具体的网络结构如下:
在这里插入图片描述

3、BD分支—— Σ − 1 2 \Sigma^{-\frac{1}{2}} Σ21

常规的计算协方差采用特征值分解或SVD分解,本文采用牛顿迭代法 (Huang et al., 2018),迭代次数为3。

(1) 将特征 x x x 归一化后,可以获得其协方差矩阵:

Σ = γ γ T ⊙ 1 M x ˉ x ˉ T x ˉ ∈ R C × M ,    M = N ∗ H ∗ W \Sigma = \gamma \gamma^{T} \odot \frac{1}{M}\bar{x}\bar{x}^{T} \\ \bar{x}\in \mathbb{R}^{C \times M},\, \, M = N*H*W Σ=γγTM1xˉxˉTxˉRC×M,M=NHW
其中, Σ i j \Sigma_{ij} Σij 表示第i个通道和第j个通道间的依赖关系,它在归一化后由 γ i γ j \gamma_i \gamma_j γiγj 进行尺度缩放。
为了满足牛顿迭代法的条件: ∣ ∣ I − Σ ∣ ∣ 2 < 1 ||I-\Sigma ||_2<1 IΣ2<1 Σ \Sigma Σ 被归一化为 Σ / t r ( Σ ) \Sigma /tr(\Sigma ) Σ/tr(Σ),归一化的协方差矩阵写作:
Σ = γ γ T ∣ ∣ γ ∣ ∣ 2 2 ⊙ 1 M x ˉ x ˉ T \Sigma = \frac{\gamma \gamma^{T}}{||\gamma||_2^2} \odot \frac{1}{M}\bar{x}\bar{x}^{T} \\ Σ=γ22γγTM1xˉxˉT

(2) 而后对协方差矩阵 Σ \Sigma Σ 采用牛顿迭代法:

Σ 0 = I Σ k = 1 2 ( 3 Σ k − 1 − Σ k − 1 3 Σ ) ,   k = 1 , 2 , . . . , T . {\Sigma }_0 = I \\ {\Sigma}_k = \frac{1}{2}(3{\Sigma}_{k-1}-\Sigma_{k-1}^3\Sigma ),\, k=1,2,...,T. Σ0=IΣk=21(3Σk1Σk13Σ),k=1,2,...,T.

4、IR分支—— [ D i a g ( ν n ) ] − 1 2 [Diag(\nu _n)]^{-\frac{1}{2}} [Diag(νn)]21

迭代公式:
I R 的 输 入 : σ ~ n 2 = d i a g ( γ γ T ) ⊙ ( σ I N 2 ) n σ B N 2 [ D i a g ( ν n ) ] − 1 2 = D i a g ( S i g m o i d ( σ ~ n 2 ; θ ) ) ⋅ s − 1 2 s = 1 N C ∑ n , c N , C ( σ ~ n 2 ) IR的输入:\tilde{\sigma}_n^2 = diag(\gamma \gamma^{T})\odot \frac{(\sigma_{IN}^2)_n}{\sigma_{BN}^2} \\ [Diag(\nu _n)]^{-\frac{1}{2}} = Diag(Sigmoid(\tilde{\sigma}_n^2; \theta)) \cdot s^{- \frac{1}{2}} \\ s = \frac{1}{NC}\sum _{n, c}^{N,C}(\tilde{\sigma}_n^2) IRσ~n2=diag(γγT)σBN2(σIN2)n[Diag(νn)]21=Diag(Sigmoid(σ~n2;θ))s21s=NC1n,cN,C(σ~n2)
其中 σ I N 2 \sigma_{IN}^2 σIN2 表示IN计算所得的方差; σ B N 2 \sigma_{BN}^2 σBN2 表示IN计算所得的方差; θ \theta θ 为SENet和GC block所获得的参数,用来反映通道间的依赖。GC block如下:

在这里插入图片描述

5、分析

上文可知,inhibited channels的特征: β c ⩽ 0 , γ c → 0 \beta_{c} \leqslant 0, \gamma_{c} \rightarrow 0 βc0,γc0。而BD分支的作用:改变normalization中 γ \gamma γ 的值。
将CE模块的公式分解到BD分支可得:
p n i j B D = D i a g ( Σ − 1 2 γ ) x ˉ n i j + Σ − 1 2 β p_{nij}^{BD} = Diag(\Sigma^{-\frac{1}{2}}\gamma)\bar{x}_{nij} + \Sigma^{-\frac{1}{2}}\beta pnijBD=Diag(Σ21γ)xˉnij+Σ21β
将BD分支与Normalization的公式对应:
x ~ n c i j = γ c x ˉ n c i j + β c \tilde{x}_{ncij} = \gamma_{c}\bar{x}_{ncij}+\beta_{c} x~ncij=γcxˉncij+βc
相当于构造了等价的 γ \gamma γ γ ^ = Σ − 1 2 γ \hat{\gamma} = \Sigma ^{-\frac{1}{2}}\gamma γ^=Σ21γ。由此论文中如下部分可知: γ \gamma γ 的值一定增大。
在这里插入图片描述

三、实验

  • CE与SENet的结果对比

在这里插入图片描述

  • 消融实验

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值