背景
设计高性能的深度神经网络是一项具有挑战性的工作,需要设计人员拥有丰富的专业知识以及调参经验。Neural Architecture Search(NAS)降低了从业人员设计训练网络的难度。NAS主要涉及模型结构的生成和精度预测两部分。常见的生成算法包括均匀采样,进化算法和强化学习。精度预测包括暴力计算,训练预测器预测和单次超网络训练预测(one-shot)。 当前构建高质量预测器的主要挑战是庞大的计算代价。暴力计算和训练预测器的方法均需要训练可观数量的网络。one-shot可以通过权重共享减少训练代价,但仍需要训练一个超大网络,并且有研究发现,基于超大网络的方式得到的模型精度与模型实际精度不一致。 本文介绍一篇使用zero-shot方法评估模型的论文ZenNAS[1]。论文中利用深度神经网络的表达能力与模型精度呈正相关的关系,设计了一种测量网络表达能力的方法Zen-Score。论文中的方法受到了近期深度学习研究的启发,在相同数量的神经元下,深度模型比浅层模型有更高的表达能力。根据统计学习理论中的偏差-方差平衡内容,增加深度网络的表达能力意味着更小的偏差误差。当训练集足够大时,方差误差将接近0。这意味着表达能力更强的网络可以减少由偏差误差决定的泛化误差。这些理论结果与大规模深度学习实践一致。 论文使用Zen-Score搜索出的深度神经网络,在ImageNet数据集上获得最高83.6%的精度,同时模型的推理时间也被约束在特定范围内。
模型表达能力
符号说明
这里先对常用的符号进行说明,对于L层网络可以用函数表示成,其中是输入维度,是输出维度。表示输入图片。相应的第t层的输出特征图表示为。第t层有个输入通道和个输出通道。卷积核为。图片分辨率。小批量为,均值方差的高斯分布表示为。
在深度学习的理论研究中,广泛使用的是普通的卷积神经网络(vanilla convolutional neural network,VCNN)。普通网络的主干由多个卷积层堆叠而成,每层包括一个卷积操作,紧跟一个RELU激活函数。主干中的其他所有成分如残差连接(residual link)、批量归一化(Batch Normalization)等被移除。主干之后是全局平均池化层(GAP),再跟一个全连接层。最后使用soft-max运算将网络输出转换为标签预测。因为网络主干部分包含大部分所需信息,因此