本文出自论文 Designing Adaptive Neural Networks for Energy-Constrained Image Classification,主要介绍了一个有效的超参数优化方法,来设计硬件约束的自适应CNNs。
现有方法的主要限制是它们只学习数据如何在CNNs中被处理而不是网络架构,其中每个网络都被看作一个黑盒。因此,我们将自适应CNNs的设计作为一个超参数优化问题,并将运行在移动设备上的能量、精度和通信约束考虑在内。为了有效解决这个问题,我们应用贝叶斯优化到设计空间的性质中,在几十次函数评估中达到接近的最优配置。我们的方法对于移动设备上的图像分类任务,与先前最好的方法相比减少能耗到6倍。最终,我们评估了两种图像分类实践,在能量和通信约束下对本地和云上的所有图像进行分类。
一、简介
- 本文中,我们做了以下观察:如果每个私有网络的架构都可以被网络选择方案来优化,自适应CNNs获得的最小能量可以被显著地减少。我们的关键点是将每个网络体系架构的选择(隐藏单元的数量、特征映射的数量等)看作超参数,而目前还没有一种全局的、系统的自适应CNNs的硬件约束的超参数优化方法,它基于一个真实移动平台上的硬件测量。
- 本文主要贡献:(1)全局优化的自适应CNNs,我们首次在运行于移动平台的硬件约束下,优化适用于网络架构和网络选择方案的自适应CNNs系统。(2)自适应CNNs作为超参数问题,将自适应CNNs的设计问题公式化一个超参数优化问题。(3)用于设计自适应CNNs的贝叶斯优化增强,利用移动设计空间的特性。(4)深刻的设计空间探索,利用我们方法的有效性作为设计空间探索的有用辅助。
二、相关工作
- 自适应CNN执行:由于简单的例子并不需要计算复杂性和一个巨大的整体的CNN的开销,这激励了有着不同级别的精度和复杂性的自适应CNNs的使用。最近的工作展示出在网络级别的自适应执行胜过层级别的执行,因此我们侧重于网络级别的设计,而我们的方法是通用的,能够被灵活地应用于layer-wise的情形中。我们的工作是第一个把自适应CNNs的设计问题转换成超参数优化问题,并增强一个贝叶斯优化方法来有效解决它,于是有效地设计了CNN体系架构和它们之间的选择函数。
- 以剪枝和量化为基础的节能CNNs:对于解决基于CNN参数减少的能效问题,第一个方法是基于剪枝的方法来减少网络连接,第二个方法是通过量化网络权重来直接减少计算复杂度。我们集中于自适应CNN结构来进行全局优化和确定不同CNNs的大小,现有的方法是互补的,并当给定使用我们方法确定的全局最优seed时,可以用于进一步降低计算成本。
- 超参数优化:贝叶斯优化对于CNNs上的体系架构搜索是有效的,并且它已经被成功用于硬件加速器和NNs(运行时间和功耗限制)的共同设计中。我们部署贝叶斯优化来确定CNNs的输入图像间的流动和它们的大小(过滤器数量、核大小等)。因为我们的目标应用程序是移动和嵌入式设计空间,我们部署贝叶斯优化,其中所有的网络架构基于实际的硬件测量,都是针对商业移动平台进行采样和优化的。我们的工作是第一个对于通信和计算能耗来考虑贝叶斯优化的。
三、背景
- 自适应神经网络:给定一个要被分类的图像,神经网络 N 1 N_1 N1总是要被首先执行,接下来一个决策函数 k k k被评估来决定从 N 1 N_1 N1执行后的分类结果应当被返回作为最终结果,或者到下一个网络 N 2 N_2 N2来被执行。一般来说,我们将决策函数 k i , j k_{i,j} ki,j表示为: N i ( x ) → { 0 , 1 } N_i(x) \rightarrow \{0,1\} Ni(x)→{
0,1},从而来提供置信度反馈,以及决定在状态 N i ( k i , j = 0 ) N_i(k_{i,j}=0) Ni(ki,j=0)退出或者在接下来的阶段 N j ( k i , j = 1 ) N_j(k_{i,j}=1) Nj(ki,j=1)继续执行。
. - 网络选择问题:自适应CNNs可以被看作一个优化问题,网络选择问题的目标是去选择一个函数 k k k,优化每张图像的推理成本,同时限制总体精度的下降。对于一个双网络情况,我们可以定义其优化公式为: min θ 12 Ξ x ∼ X [ C 2 . k 12 ( N 1 ( x ) ∣ θ 12 ) + C 1 ] \min \limits_ {\theta _{12}} \Xi_{x \sim X}[C_2.k_{12}(N_1(x)| \theta_{12})+C_1] θ12minΞx∼X[C2.k12(N1