简介
该篇论文是对经典多尺度目标检测模型 F P N {\rm FPN} FPN的改进,提出一种隐式特征金字塔网络,实验结果为在多种目标检测模型上均有较大幅度的提升。论文原文
0. Abstract
当前,许多 F P N {\rm FPN} FPN通过堆叠多尺度模块以获得更大的感受野。基于深度均衡模型( D E Q {\rm DEQ} DEQ),作者提出引入隐函数对 F P N {\rm FPN} FPN进行建模,同时使用类似残差的迭代结构更新隐态。
论文贡献:(一)提出隐式金字塔结构 i {\rm i} i- F P N {\rm FPN} FPN;(二)引入类似残差模块以有效更新隐态,非线性转换器将提高模型的非线性拟合能力;(三)相比于 F P N {\rm FPN} FPN, i {\rm i} i- F P N {\rm FPN} FPN在众多检测器上均获得了较大的提升。
1. Introduction
基于卷积神经网络的目标检测由三部分组成: b a c k b o n e {\rm backbone} backbone, n e c k {\rm neck} neck和 h e a d {\rm head} head。 b a c k b o n e {\rm backbone} backbone用于提取输入图像的基本特征; n e c k {\rm neck} neck用于提取输入图像的高层语义特征; h e a d {\rm head} head的输出作为检测头的输入,用于最后的分类和回归。
对于
n
e
c
k
{\rm neck}
neck部分,大多数模型都是基于
F
P
N
{\rm FPN}
FPN设计的,其设计遵从显式地堆叠多尺度模块的原则,如图:
F
P
N
{\rm FPN}
FPN通过一条自上而下的路径融合特征图,
P
A
F
P
N
{\rm PAFPN}
PAFPN额外添加一条自下而上的路径将低层语义信息送往高层,
N
A
S
{\rm NAS}
NAS-
F
P
N
{\rm FPN}
FPN基于神经架构搜索得到优化的连接拓扑结构,
E
f
f
i
c
i
e
n
t
D
e
t
{\rm EfficientDet}
EfficientDet堆叠
P
A
F
P
N
{\rm PAFPN}
PAFPN的结构并添加双向连接。总之,显式结构可用以下式子表示:
P
=
(
f
θ
0
∘
f
θ
1
⋯
f
θ
T
)
(
B
)
(1)
P=(f_{\theta}^0\circ f_{\theta}^1\cdots f_{\theta}^T)(B)\tag{1}
P=(fθ0∘fθ1⋯fθT)(B)(1)
尽管可以通过以上方法提高模型性能,但并没有增大感受野,同也会增加参数和内存占用。如在 E f f i c i e n t D e t {\rm EfficientDet} EfficientDet中堆叠七个权重独立的 B i F P N {\rm BiFPN} BiFPN结构,一种减少参数的方法是共享每个模块中的权重。但当无限制堆叠权重共享的模块时,这些模块会收敛到一个固定点,这在机器翻译和序列模型中已得到验证。假设固定点存在,表示为: P ∗ = F θ ( P ∗ ; B ) (2) P^*=F_{\theta}(P^*;B)\tag{2} P∗=Fθ(P∗;B)(2)
作者将求解该固定点的结构称为隐式 F P N {\rm FPN} FPN。该问题存在两种解法:将权重共享的模块展开,但同时会增加内存占用;黑盒求解方法。后者具有两个优势:它模拟了无限堆叠模块的情景,但仅含有单个模块的参数;它会产生较大的感受野。
D E Q {\rm DEQ} DEQ中输入序列与隐藏序列以复杂的方式交互,这种交互可能导致梯度消失或难以解决寻找固定点的问题,论文提出一种类似残差的迭代结构来简化设计。将骨干网络的输出特征与原始金字塔特征直接相加,并将求和特征输入到非线性变换中。得益于残差结构,模型能够平稳地传播梯度,从而增强 i {\rm i} i- F P N {\rm FPN} FPN的特征。
2. Related Work
Object Detection
Pyramidal Representations 除以上提到的 F P N {\rm FPN} FPN的变种外, C B N e t {\rm CBNet} CBNet复合多个主干网络形成新的主干网络。以上方法均为显式地堆叠模块的方法,即重复使用相同或相似的模块以增强模型提取特征的能力。
Implicit Modeling R B P {\rm RBP} RBP基于微分技术隐式地训练递归系统;神经 O D E {\rm ODE} ODE采用黑盒 O D E {\rm ODE} ODE的方法隐式地对递归残差块建模,用于分析递归神经网络的稳定性; R e l l i s N e t {\rm RellisNet} RellisNet以权重绑定的方式堆叠大量层; D E Q {\rm DEQ} DEQ通过定点迭代模拟无限深度的网络; R A F T {\rm RAFT} RAFT使用大量 G R U {\rm GRU} GRU模块来获得固定的流场;基于 D E Q {\rm DEQ} DEQ, M D E Q {\rm MDEQ} MDEQ设计了一个用于图像分类和图像分割的骨干网络。 i {\rm i} i- F P N {\rm FPN} FPN与 M D E Q {\rm MDEQ} MDEQ的不同之处在于:多尺度骨干网络特征作为有效学习隐态的强先验信息;为了有效更新隐态信息以及避免梯度消失,引入类似残差的迭代结构; i {\rm i} i- F P N {\rm FPN} FPN适用于目标检测任务,而 M D E Q {\rm MDEQ} MDEQ仅被用于图形分类任务。
3. Methods
3.1 Revisiting Deep Equilibrium Model
深度序列模型可以表示为: h k + 1 = f θ k ( h k ; x ) , k = 0 , 1 , 2 , . . . , L − 1 (3) h^{k+1}=f_{\theta}^k(h^k;x),\ k=0,1,2,...,L-1\tag{3} hk+1=fθk(hk;x), k=0,1,2,...,L−1(3)
其中 L L L表示转换模块数量, x x x表示长度为 T T T的输入序列,隐态序列 h k + 1 h^{k+1} hk+1表示第 k k k个转换模块 f θ k f_{\theta}^k fθk的输出。近来研究表明,在每个模块使用相同的转换仍能获得相当的结果,即: f θ k = f θ (4) f_{\theta}^k=f_{\theta}\tag{4} fθk=fθ(4)
当不断堆叠权重共享的模块时,会收敛到一个固定点 h ∗ h^* h∗: lim k → ∞ h k + 1 = lim k → ∞ f θ ( h k ; x ) = f θ ( h ∗ ; x ) = h ∗ (5) \lim_{k\rightarrow\infty}h^{k+1}=\lim_{k\rightarrow\infty}f_{\theta}(h^k;x)=f_{\theta}(h^*;x)=h^*\tag{5} k→∞limhk+1=k→∞limfθ(hk;x)=fθ(h∗;x)=h∗(5)
因此, D E Q {\rm DEQ} DEQ提出直接计算该固定点 h ∗ h^* h∗: h ∗ = f θ ( h ∗ ; x ) (6) h^*=f_{\theta}(h^*;x)\tag{6} h∗=fθ(h∗;x)(6)
该固定点对应于无限深网络的最终转换结果, D E Q {\rm DEQ} DEQ采用黑盒寻根的方法来寻找该固定点。理论上,任何黑盒寻根方法都可以在给定隐态 h 0 h^0 h0的条件下寻找固定点。
3.2 Implicit Feature Pyramid Network
下图是
i
{\rm i}
i-
F
P
N
{\rm FPN}
FPN的整体结构:
它由三部分组成,首先是提取特征的骨干网络,得到输出 B = { B 1 , B 2 , . . . , B n } B=\{B_1,B_2,...,B_n\} B={B1,B2,...,Bn};然后是初始金字塔特征 P = { P 1 0 , P 2 0 , . . . , P n 0 } P=\{P^0_1,P^0_2,...,P_n^0\} P={P10,P20,...,Pn0},初始化为零且直接与 B B B相加(即基础 F P N {\rm FPN} FPN结构);然后得到特征 Z = { Z 1 , Z 2 , . . . , Z n } Z=\{Z_1,Z_2,...,Z_n\} Z={Z1,Z2,...,Zn},其作为非线性转换器 G θ G_{\theta} Gθ的输入;最后使用平衡特征求解器得到特征金字塔 P ∗ = { P 1 ∗ , P 2 ∗ , . . . , P n ∗ } P^*=\{P_1^*,P_2^*,...,P_n^*\} P∗={P1∗,P2∗,...,Pn∗},即隐式模型的解。
3.2.1 Residual-Like Iteration
i {\rm i} i- F P N {\rm FPN} FPN中引入类似残差的迭代结构,以模拟无限深度的- F P N {\rm FPN} FPN。首先,骨干网络的输出特征 B B B与初始特征 P 0 P^0 P0相加,并将相加结果送入非线性转换器 G θ G_{\theta} Gθ中,得到输出特征 P 1 P^1 P1。然后特征 P 1 P^1 P1与骨干网络的输出特征 B B B相加,从而得到后面的输出。当 G θ G_{\theta} Gθ不断细化求和特征时,这一迭代过程将会带来越来越小的贡献,直到最终得到固定点 P ∗ P^* P∗。即: P ∗ = G θ ( P ∗ + B ) (7) P^*=G_{\theta}(P^*+B)\tag{7} P∗=Gθ(P∗+B)(7)
这里,固定点 P ∗ P^* P∗可以通过展开求解器或 D E Q {\rm DEQ} DEQ中的 B r o y d e n {\rm Broyden} Broyden求解器得到。
3.2.2 Nonlinear Transformation G θ G_{\theta} Gθ
如图(c),鉴于特征仅与相邻层特征密切相关,作者引入金字塔卷积(SEPC),则最终非线性转换器可表示为: O i = ∑ j = i − 1 i + 1 W i j ( R j ( Z j ) ) (8) O_i=\sum_{j=i-1}^{i+1}W_{ij}(R_j(Z_j))\tag{8} Oi=j=i−1∑i+1Wij(Rj(Zj))(8)
其中, Z j Z_j Zj表示第 j j j层的输入特征, R j R_j Rj表示第 j j j层的残差模块。如果 i = j i=j i=j,则 W i j W_{ij} Wij表示 3 × 3 3\times3 3×3卷积;如果 i < j i<j i<j,则 W i j W_{ij} Wij表示先使用双线性上采样,再接 3 × 3 3\times3 3×3卷积。注意,变量 j j j的范围使得当前层输出特征仅来自相邻三个输入层。
3.3 Optimization
前面替代,对于根 P ∗ P^* P∗的求解可以采用展开法或者黑盒法,该部分介绍黑盒求解法。对于黑盒求解法, i {\rm i} i- F P N {\rm FPN} FPN的优化过程包括前向过程和反向传播过程。给定非线性转换器 G θ G_{\theta} Gθ,对于前向过程,式(7)给定了求解固定点的方法。然后,经由反向传播算法更新骨干网络和非线性转换器。
Forward Solving 论文采用 D E Q {\rm DEQ} DEQ中 B r o y d e n {\rm Broyden} Broyden求解器的改进用于求解固定点: Q θ = G θ ( P + B ) − P (9) Q_{\theta}=G_{\theta}(P+B)-P\tag{9} Qθ=Gθ(P+B)−P(9)
因此,当 Q θ = 0 Q_{\theta}=0 Qθ=0时即可求得固定点,基于 B r o y d e n {\rm Broyden} Broyden求解器的思想,该解为: P i + 1 = P i − α ( J Q θ − 1 ∣ P i ) Q θ ( P i + B ) ; P 0 = 0 (10) P^{i+1}=P^i-\alpha(J^{-1}_{Q_{\theta}}|_{P_i})Q_{\theta}(P^i+B);\ P^0=0\tag{10} Pi+1=Pi−α(JQθ−1∣Pi)Qθ(Pi+B); P0=0(10)
其中, J G θ − 1 J^{-1}_{G_{\theta}} JGθ−1表示雅可比逆, α \alpha α表示步长大小。由于在目标检测中,输入通常是高维变量,雅可比逆难以求解,作者对其作如下改进: P i + 1 = P i − α ⋅ M i Q θ ( P i + B ) P 0 = 0 (11) P^{i+1}=P^i-\alpha\cdot M^iQ_{\theta}(P^i+B)\ P^0=0\tag{11} Pi+1=Pi−α⋅MiQθ(Pi+B) P0=0(11)
其中, M i M^i Mi雅可比逆的近似低秩矩阵。( B r o y d e n {\rm Broyden} Broyden求解器的具体内容可参考论文1和2)。
Backward Propagation 不同于卷积神经网络中的反向传播使用链式法则,基于深度平衡模型,作者提出使用如下方法更新参数:
∂
L
∂
θ
=
∂
L
∂
P
∗
(
−
J
Q
θ
−
1
∣
P
∗
)
∂
G
θ
(
P
∗
+
B
)
∂
θ
(12)
\frac{\partial L}{\partial\theta}=\frac{\partial L}{\partial P^*}(-J^{-1}_{Q_{\theta}}|_{P^*})\frac{\partial G_{\theta}(P^*+B)}{\partial\theta}\tag{12}
∂θ∂L=∂P∗∂L(−JQθ−1∣P∗)∂θ∂Gθ(P∗+B)(12)
∂ L ∂ B = ∂ L ∂ P ∗ ( − J Q θ − 1 ∣ P ∗ ) ∂ G θ ( P ∗ + B ) ∂ B (13) \frac{\partial L}{\partial B}=\frac{\partial L}{\partial P^*}(-J^{-1}_{Q_{\theta}}|_{P^*})\frac{\partial G_{\theta}(P^*+B)}{\partial B}\tag{13} ∂B∂L=∂P∗∂L(−JQθ−1∣P∗)∂B∂Gθ(P∗+B)(13)
其中, L L L表示总损失函数,其计算如下: L ( p , y ) = L ( H ( P ∗ ) , y ) (14) L(p,y)=L(H(P^*),y)\tag{14} L(p,y)=L(H(P∗),y)(14)
4. Experiments
图中 R B L {\rm RBL} RBL表示残差模块, C S C {\rm CSC} CSC表示多尺度连接。
5. Limitation and Future Work
作者指出,尽管 i {\rm i} i- F P N {\rm FPN} FPN可以有效提高目标检测模型的性能,但其仍具有以下不足:展开求解法将引入大量参数和占据大量内存;对于 B r o y d e n {\rm Broyden} Broyden求解法,使用十五个 B r o y d e n {\rm Broyden} Broyden迭代后得到平衡特征金字塔。因此,尽管其占用内存仅考虑单个模块,它花费的时间是显式金字塔的六倍。今后,亟需寻找一种更优的求解器。
参考
- Wang T, Zhang X, Sun J. Implicit Feature Pyramid Network for Object Detection[J]. arXiv preprint arXiv:2012.13563, 2020.