SE-Net 阅读笔记
基本结构
其中
Ftr
F
t
r
是一个从
X
X
到的变换,比如是一个卷积或者一组卷积。
跟在
Ftr
F
t
r
之后是squeeze操作和excitation操作。
特征
U
U
首先进过挤压操作,聚合根据空间维度聚合特征图产生每个通道的描述。这个描述中拥有这个特征图的全局信息,使得被容易被捕获的全局区域被用于低层网络。
再经过激发操作(从自己通道学习得到)。
特征被重新赋予权重,产生SE块的输出。
Squeeze-and-Excitation Blocks
squeeze 操作:全局信息提取
对每个特征图求平均值,求均值是最简单的提取全局信息的方法。
Zc=Fsq(uc)=1H×W∑Hi=1∑Wj=1uc(i,j) Z c = F s q ( u c ) = 1 H × W ∑ i = 1 H ∑ j = 1 W u c ( i , j )
Excitation 操作:自适应重校准
这个操作的目标是捕捉通道依赖型特征(似乎是让每个通道捕捉自己不同的特征)。为了完成这个目标,激励操作必须满足两个条件:1.足够复杂(典型的,必须能够学习通道之间的非线性关系)2.必须学习一个并非多个通道所独有的关系(这里这两条都不太明白在说啥)
实现是用sigmod函数实现门控机制
s=Fez(z,W)=σ(g(z,W))=σ(W2δ(W1z))
s
=
F
e
z
(
z
,
W
)
=
σ
(
g
(
z
,
W
)
)
=
σ
(
W
2
δ
(
W
1
z
)
)
这里的
δ
δ
是ReLU函数W是是两个全连接层,用来消减计算量。
W1
W
1
按照比例
r
r
降维,再升回去,这样中间节约计算量
最终的输出是
xc=Fscale(uc,sc)=sc⋅uc
x
c
=
F
s
c
a
l
e
(
u
c
,
s
c
)
=
s
c
⋅
u
c
经过试验发现添加SEblock后准确率能提升1%到2%左右