1、文章目的(CVPR2023)
设计一个网络模型需要耗费大量的时间去微调超参数,并且需要不平凡的网络模型的先验知识(经验),所以设计了一个自动求CNN超参数(宽度,深度等)的一个算法,建模成为一个有约束的数学问题(constrained MP)。这个数学问题的规模不多余几十,所以可以几乎实时的利用CPU进行求解,并且可以直接利用CPU中现成的MP求解器进行求解。
现有许多工作都结合了训练数据,对超参数进行优化,这样会耗费许多计算资源,并且不可解释。
最后的结果在多个数据集上超过了SOTA,并且在相同规模的数据上超过了VIT。
2、方法
2.1、MLP上的数学结构设计
先对MLP进行描述,后面延伸到CNN上。包括两个方面:expressiveness和effectiveness。
2.1.1、expressiveness
利用网络的熵(Entropy )进行描述,如下所示:
其中第i层的输出通道数为
w
i
w_i
wi,输出通道数为
w
i
+
1
w_{i+1}
wi+1。如果只有要求最大化熵的话,网络的深度会比宽度涨的更快,太深的网络不容易训练,所以需要利用另外一个维度effectiveness。
证明:
首先有四个定理:
介绍了微分熵的量级,高斯熵上界,期望方差的可加性和乘法关系,接下来开始证明MLP层的微分熵。
假设有一个L层的MLP,沿用上述的字符表述形式。假设输入x和权重M中的每一个元素都是服从标准正态分布的。
由此推出输出元素的期望和方差为:
根据以上的递推公式,代入定理可以得到如下结果:
2.1.2、effectiveness
超深度网络可以被认为是阻碍有效信息传播的混沌系统。但是网络深不深是一个相对的概念,如果深度为100,相对于宽度为10网络很深,但是相对于1000的宽度,他又很浅。首先假设MLP每一层具有相同的宽度w,深度为L,所以effectiveness定义为:
但是实际情况中每一层的宽度不一致,这里采用每一层的几何平均数来代替w,如下所示:
实验发现当
ρ
ρ
ρ在[0.1,2.0]之间的时候,在大多数视觉任务上可以有一个很好的结果。
证明:
假设有两个MLP,分别是A和B,A和B的深度均为L,A的每一层的宽度为
w
i
w_i
wi,B的每一层都一样是
w
ˉ
\bar{w}
wˉ。现在要使A和B的熵相同,反解出
w
ˉ
\bar{w}
wˉ和
w
i
w_i
wi之间的关系。论文具体内容如图:
2.2、CNN上的数学结构设计
从MLP泛化到CNN上。受工程实践的启发给出的三条指南
2.2.1、MLP to CNN
CNN是通过滑动窗口进行矩阵乘法。假设第i层卷积层中,输入通道数为
c
i
c_i
ci,输出通道数为
c
i
+
1
c_{i+1}
ci+1,卷积核大小为
k
i
k_i
ki,组数为
g
i
g_i
gi,那么一共有
c
i
∗
c
i
+
1
/
g
i
c_i*c_{i+1}/g_i
ci∗ci+1/gi个卷积核,每个卷积核大小为
k
i
2
k_i^2
ki2。所以与MLP中矩阵大小相类似,CNN层的矩阵大小为
W
i
∈
R
c
i
∗
c
i
+
1
∗
k
i
2
/
g
i
W_i∈R^{c_i*c_{i+1}*k_i^2/g_i}
Wi∈Rci∗ci+1∗ki2/gi。与2.1.1中MLP层用相同的表达形式的话,宽度为KaTeX parse error: Expected 'EOF', got '}' at position 16: c_{i}*k_i^2/g_i}̲。第i层的特征图大小为
r
i
∗
r
i
r_i*r_i
ri∗ri,类似的提出CNN层的熵:
这里用到了对数,原因是自然图像是高度可压缩的,因此图像或特征图的熵在其体积
O
(
r
i
2
×
c
i
)
O(r^2_i×c_i)
O(ri2×ci)中不会线性放大。受[]的启发,取对数可以更好地公式化自然图像的基本熵。
2.2.2、三条工程经验
1、加权的多尺度熵
CNN通常包含下采样层,将网络分为几个阶段。每个阶段都有一定的尺度。为了捕捉不同尺度上的熵,对每个阶段最后一层的集成熵使用加权求和,以获得网络的熵。
2、统一阶段深度
要求每个阶段的深度尽可能均匀地分布。使用深度的方差来测量深度分布的均匀性。
3、不下降的通道数
要求每个阶段的信道数量沿着网络深度不减少。这可以预先防止高级别具有较小的宽度。本指南也是许多手动设计的网络中的常见做法。
2.2.3、最终的DeepMAD公式
H
i
H_i
Hi是第i个阶段的熵,
w
i
=
c
i
∗
k
i
2
/
g
i
w_i=c_{i}*k_i^2/g_i
wi=ci∗ki2/gi,
α
,
β
,
ρ
{\alpha,\beta,\rho}
α,β,ρ是超参数,Q乘法了如果网络有不均匀的阶段深度的分布。条件中第一个式子控制了网络的深宽比,第二三个式子控制了计算量预算。