写在最前面
这一系列文章是博主2020年本科论文调研时记的,现在是多模态的时代,很多技术都过时了,发出来希望对读这些论文的人有所帮助
Hit-Detector:Hierarchical Trinity Architecture Search for Object Detection
Motivation
NAS在图像分类网络上取得了巨大的成功,现在的一些针对目标检测的工作旨在发掘高效的backbone或特征融合层,然而,这些方法仅关注于搜索目标检测器中的一个组件,其他部分仍然是人工设计的,我们发现搜索出来的组件和手工设计的组件之间的不一致会阻碍检测器表现出更强大的性能:
Methods
- Overview
在这篇论文中,作者提出一种端到端的方法来同时搜索检测器的每一个组件,由于每个组件搜索空间的不同,以及大搜索空间优化的困难性,我们提出一种层次的方法来从大量的候选操作中挖掘合适的子搜索空间。提出的Hit-Detector架构包含两个主要的过程:(1)给出一个包含所有候选操作的大搜索空间,利用群稀疏正则化方法筛选出适合检测器各部分的自定义子搜索空间;(2)在相应的子搜索空间内,采用可微的方式搜索各部分的结构:
- Screening Sub Search Space
搜索空间是NAS中的一个关键点,前面的一些工作使用有限的一些操作手工设计搜索空间,这时可能出现设计出来的搜索空间不适合于要优化的网络的问题,为了防止出现这样的问题,这里遍历尽可能多的操作对象来生成一个大的候选集:
整个搜索空间包含N个不同的候选操作,在实验中N=32,如果我们直接将这个大的搜索空间应用于NAS,内存和计算量将会非常大,使用普通的硬件不能支持高效的搜索过程,另外,后面还会讲到,不同的操作对检测系统的不同组件的影响是不一样的,为了为每个组件找到最合适的搜索空间、并减少计算负担,我们提出了一个筛选方法来对每个组件筛选出候选操作:每一个候选操作对对应一个分数,分数高的留下,分数低的则删除掉。
以backbone的搜索空间为例,我们使用分层搜索,每一层都可以从候选操作中选择任一操作,假设backbone有L层,第i个操作在第l层的分数表示为 α l , i \alpha_{l,i} αl,i,所有分数构成了结构参数矩阵,由于候选操作较多,分数往往比较相近,很难区分,为了筛选出最合适的操作集,对矩阵 α \alpha α使用列稀疏正则化:
在筛选阶段,得到结构参数 α \alpha α并对每个操作的分数进行排序,最后的几个候选操作逐渐从搜索空间中移除,直到获取大小为 N b N_b Nb的搜索空间,在实验中, N b = N f = N h = 8 N_b=N_f=N_h=8 Nb=Nf=Nh=8,基于这种方法,得到的三个组件的搜索空间定义为 O b , O n , O h O_b,O_n,O_h Ob,On,Oh。 - End-to-end Search in Hit-Detector
在为每个组件得到了合适的子搜索空间后,就可以开始进行端到端的搜索,这里的方法基于2018年提出的可微架构搜索,就是使用一张随机超网来代表子搜索空间,在搜索过程中,每一个中间结点的结果来自于所有候选操作的权重和,对于backbone,第l结点的输出为:
然后neck和head的结点输出也和上式类似,这种方法使得整个框架的操作权重和结构参数都是可微的,因此NAS就可以以端到端的方式进行,在测试阶段,每一层都选择具有最高分数的操作,以此搭建神经网络。 - Optimization
为了同时控制检测器的计算花费,我们添加了FLOPs限制,作为损失函数的一项正则化项并重写了目标函数:
这里 λ \lambda λ用于平衡精度和耗费, C ( α ) C(\alpha) C(α)代表backbone的FLOPs,计算方法为:
由于模型参数和操作权重都是可微的,因此 { α , β , γ , ω } \{\alpha,\beta,\gamma,\omega\} {α,β,γ,ω}可以基于随机梯度下降优化,采用一阶逼近的方法,交替训练参数,首先固定 { α , β , γ } \{\alpha,\beta,\gamma\} {α,β,γ},使用一半训练集计算 ∂ L / ∂ ω \partial L/\partial \omega ∂L/∂ω,并训练网络参数,随后固定网络参数并使用另一半训练集计算 ∂ L / ∂ α , ∂ L / ∂ β , ∂ L / ∂ γ \partial L/\partial \alpha,\partial L/\partial \beta,\partial L/\partial \gamma ∂L/∂α,∂L/∂β,∂L/∂γ来更新结构参数, L L L是在检测的mini-batch上得到的损失。
Evaluation
- Comparisons with hand-crafted methods and NAS based methods
- Comparison with SOTA
- Ablation Studies
3.1. Influence of different operations
3.2. Column-sparse regularization
3.3. Importance of screening sub search space
3.4. Importance of trinity architecture searching
3.5. Extension to one-stage detector
Notes
这篇论文创新的对目标检测中的三个组件都进行了架构搜索,不过其架构搜索更接近于搜索细节,网络的整体结构是确定的,文中解决的一个问题就是搜索出来的架构的不协调性。
Appendix
- Search Space
k:卷积核大小
d:扩展卷积的扩展率
e:反向残差模块的扩张率 - Sub search space
backbone:
neck:
head: