【ICLR2023】SeaFormer: Squeeze-enhanced Axial Transformer for Mobile Semantic Segmentation
论文链接:https://arxiv.org/abs/2301.13156
论文代码:https://github.com/fudan-zvg/SeaFormer
Overview
该论文从题目可以看出来,它是针对移动端的。首先我们直接看它的总体框架:
SeaFormer consists of these parts: shared STEM,context branch, spatial branch, fusion block and light segmentation head.
其中MV2代表MobileNetV2,首先进行下采样,对于上下文分支,经过MV2下采样三次,然后经过SeaFormer Layers,得到的不同层的特征分别与空间分支通过融合模块进行特征融合。这里的思想通LANTNet的思想有相似之处,最后通过Light segmetation head得到结果。
创新点:SQUEEZE-ENHANCED AXIAL ATTENTION
Squeeze Axial attention
基于前人的研究,全局注意力为:
y
o
=
∑
p
∈
G
(
o
)
softmax
p
(
q
o
⊤
k
p
)
v
p
\mathbf{y}_{o}=\sum_{p \in \mathcal{G}(o)} \operatorname{softmax}_{p}\left(\mathbf{q}_{o}^{\top} \mathbf{k}_{p}\right) \mathbf{v}_{p}
yo=p∈G(o)∑softmaxp(qo⊤kp)vp
它的时间复杂度为
O
(
H
2
W
2
(
C
q
k
+
C
v
)
)
\mathcal{O}\left(H^2 W^2\left(C_{q k}+C_v\right)\right)
O(H2W2(Cqk+Cv))
windows-based attention:
y
o
=
∑
p
∈
N
m
×
m
(
o
)
softmax
p
(
q
o
⊤
k
p
)
v
p
\mathbf{y}_o=\sum_{p \in \mathcal{N}_{m \times m}(o)} \operatorname{softmax}_p\left(\mathbf{q}_o^{\top} \mathbf{k}_p\right) \mathbf{v}_p
yo=p∈Nm×m(o)∑softmaxp(qo⊤kp)vp
axial attention:
y
o
=
∑
p
∈
N
1
×
W
(
o
)
softmax
p
(
q
o
⊤
k
p
)
v
p
+
∑
p
∈
N
H
×
1
(
o
)
softmax
p
(
q
o
⊤
k
p
)
v
p
\mathbf{y}_o=\sum_{p \in \mathcal{N}_{1 \times W}(o)} \operatorname{softmax}_p\left(\mathbf{q}_o^{\top} \mathbf{k}_p\right) \mathbf{v}_p+\sum_{p \in \mathcal{N}_{H \times 1}(o)} \operatorname{softmax}_p\left(\mathbf{q}_o^{\top} \mathbf{k}_p\right) \mathbf{v}_p
yo=p∈N1×W(o)∑softmaxp(qo⊤kp)vp+p∈NH×1(o)∑softmaxp(qo⊤kp)vp
受启发于上述两个attention,作者进行了一个优化,首先将Q、K、V在行列间进行一个平均以及维度排序:
q
(
h
)
=
1
W
(
q
→
(
C
q
k
,
H
,
W
)
1
W
)
→
(
H
,
C
q
k
)
,
q
(
v
)
=
1
H
(
q
→
(
C
q
k
,
W
,
H
)
1
H
)
→
(
W
,
C
q
k
)
\mathbf{q}_{(h)}=\frac{1}{W}\left(\mathbf{q}^{\rightarrow\left(C_{q k}, H, W\right)} \mathbb{1}_W\right)^{\rightarrow\left(H, C_{q k}\right)}, \quad \mathbf{q}_{(v)}=\frac{1}{H}\left(\mathbf{q}^{\rightarrow\left(C_{q k}, W, H\right)} \mathbb{1}_H\right)^{\rightarrow\left(W, C_{q k}\right)}
q(h)=W1(q→(Cqk,H,W)1W)→(H,Cqk),q(v)=H1(q→(Cqk,W,H)1H)→(W,Cqk)
该过程复杂度为
O
(
(
H
+
W
)
(
2
C
q
k
+
C
v
)
)
\mathcal{O}\left((H+W)\left(2 C_{q k}+C_v\right)\right)
O((H+W)(2Cqk+Cv)),然后各个行列分别做轴向注意力:
y
(
i
,
j
)
=
∑
p
=
1
H
softmax
p
(
q
(
h
)
i
⊤
k
(
h
)
p
)
v
(
h
)
p
+
∑
p
=
1
W
softmax
p
(
q
(
v
)
j
⊤
k
(
v
)
p
)
v
(
v
)
p
\mathbf{y}_{(i, j)}=\sum_{p=1}^H \operatorname{softmax}_p\left(\mathbf{q}_{(h) i}^{\top} \mathbf{k}_{(h) p}\right) \mathbf{v}_{(h) p}+\sum_{p=1}^W \operatorname{softmax}_p\left(\mathbf{q}_{(v) j}^{\top} \mathbf{k}_{(v) p}\right) \mathbf{v}_{(v) p}
y(i,j)=p=1∑Hsoftmaxp(q(h)i⊤k(h)p)v(h)p+p=1∑Wsoftmaxp(q(v)j⊤k(v)p)v(v)p
该过程复杂度为
O
(
(
H
2
+
W
2
)
(
C
q
k
+
C
v
)
)
\mathcal{O}\left(\left(H^2+W^2\right)\left(C_{q k}+C_v\right)\right)
O((H2+W2)(Cqk+Cv)),将复杂度降为
O
(
H
W
)
\mathcal{O}(H W)
O(HW)。
Squeeze Axial position embedding
由于缺乏位置信息,作者进行一个位置编码:
y
(
i
,
j
)
=
∑
p
=
1
H
softmax
p
(
(
q
(
h
)
i
+
r
(
h
)
i
q
)
⊤
(
k
(
h
)
p
+
r
(
h
)
p
k
)
)
v
(
h
)
p
+
∑
p
=
1
W
softmax
p
(
(
q
(
v
)
j
+
r
(
v
)
j
q
)
⊤
(
k
(
v
)
p
+
r
(
v
)
p
k
)
)
v
(
v
)
p
\begin{aligned} \mathbf{y}_{(i, j)} & =\sum_{p=1}^H \operatorname{softmax}_p\left(\left(\mathbf{q}_{(h) i}+\mathbf{r}_{(h) i}^q\right)^{\top}\left(\mathbf{k}_{(h) p}+\mathbf{r}_{(h) p}^k\right)\right) \mathbf{v}_{(h) p} \\ & +\sum_{p=1}^W \operatorname{softmax}_p\left(\left(\mathbf{q}_{(v) j}+\mathbf{r}_{(v) j}^q\right)^{\top}\left(\mathbf{k}_{(v) p}+\mathbf{r}_{(v) p}^k\right)\right) \mathbf{v}_{(v) p} \end{aligned}
y(i,j)=p=1∑Hsoftmaxp((q(h)i+r(h)iq)⊤(k(h)p+r(h)pk))v(h)p+p=1∑Wsoftmaxp((q(v)j+r(v)jq)⊤(k(v)p+r(v)pk))v(v)p
Detail enhancement kernel
作者认为上述方法缺乏局部信息,因此进行一个细节增强。在经过线性映射得到的Q、K、V后,进行concat然后进行一个3x3的卷积,进行对细节信息的增强,得到增强矩阵,然后于轴向注意力得到的结果进行相乘。该过程即为SQUEEZE-ENHANCED AXIAL ATTENTION全部过程。
总结
该文章主要是通过对前人的研究方法进行一个利用,使用轴向注意力进行改进,减小了参数量,达到了可以在移动端使用,同时插入了增强模块,设计了新的注意力模块。然后通过三层下采样以及融合模块构成了总体框架。
下周把本周组会内容丰富一下,学习一下其他同学的总结,认真学习。