FairNAS
在本文中,我们证明了由于supernet训练中固有的不公平性,它们不可避免地给出了有偏见的评价。鉴于此,我们提出了两个层次的约束条件:期望公平性和严格公平性。特别是,严格公平性确保了整个训练过程中所有choice block的优化机会均等,既不会高估也不会低估其能力。我们证明这对提高模型的可信度至关重要。排名(见图1)。
图1. 左:用严格公平性(FairNAS)训练的supernet给出了更可靠的。与期望公平性(EF)相比,精度预测(相关性更高)。上图:ImageNet上的supernet预测精度与ground-truth精度之间的关系。Bottom: one-shot模型的stratified sample(每个960个)的验证精度直方图。EF基线对一条路径进行采样,并在每一步进行k=6次迭代。SPOS[12]也是EF的一种情况。除了浅蓝色的方法减少到1=6 lr右外,其他方法都使用相同的lr。右图:GPU成本和内存比较
尽管由于搜索效率高而被广泛利用,但权重分享方法大致建立在经验实验而非坚实的理论基础上。目前仍有几个基本问题需要解决。即: a) 为什么通过从头开始的独立训练,supernet预测的精度范围与 "ground-truth "的精度范围有很大的差距[2,1]? b) 如何建立一个既不高估也不低估子网的好的评估器? c) 如果在某些条件下,weight-sharing机制为什么会有效?
在本文中,我们试图回答上述三个问题。我们首先介绍了公平神经架构搜索(FairNAS),我们公平地训练supernet(见图2)作为搜索的模型评估器。
Fig. 2. 我们对supernet的严格公平性采样和训练策略。一个supernet训练步骤t包括训练m个模型,每个模型在one batch 数据上训练。supernet在积累了每个single-path模型的梯度后,得到了它的权重更新。因此,所有的操作都能保证在每一step t内被平等采样和训练.在我们的实验中,每一步有(6!)18(6!)^{18}(6!)18种选择。
首先,我们证明是由于不公平的偏见,supernet误判了子模型的性能。这在目前的one-shot方法中是不可避免的[2,1,12]。其次,我们提出了两个层次的公平性约束。期望公平性(EF)和严格公平性(SF)。它们的强制执行是为了缓解supernet偏见和提升评价能力。两者都优于现有的不公平方法,而SF提供了0.9487的最先进排名( τ\tauτ )。第三,我们揭示了公平性视角下one-shot方法 supernet训练有效性的根本原因。即同一层的不同选择根choice block据其高余弦相似度测量,在相应通道上学习相似的特征图,见图3。
图3. 左:在我们的supernet中用 strict fairness训练的第一层的6个块激活的特征图。右图 每个通道的Cross-block余弦相似度平均值. 每个block都能学习到与其他block非常相似的特征图(都在0.9以上)。
Last but not the least, 我们的公平 single-path sampling是memory-friendly。
然后,我们将我们的supernet与基于EA的多目标搜索框架结合在一起,从中获得了三个SOTA网络(within a single run at a cost of 12 GPU days, proxylessly on ImageNe)。其中,FairNAS-A实现了75.3%的top-1验证精度,通过启用Squeeze-and-Excitation[16]和Swish activation[14],进一步提升到77.5%。
2.1 Review of Biased Supernets
之前的方法对subnet-works都不平等地对待,并通过优化引入逐渐增大的偏差.那些初始性能较好的子网工程更有可能被抽样或保持较高的系数,从而导致一个次优或更差的解决方案。
DARTS高估了 "坏 "模型 (jammed by skip connections),同时许多其他好的候选模型也被低估了。另一方面,其余的one-shot的方法将训练好的supernet视为confident proxy,我们也遵循这个方法,来预测所有子网的真实性能[2,1,12]。
One-Shot[1]涉及到supernet的dynamic dropout rate,每次只优化一个子集。除了其训练难度外,具有inherited weights的子模型与其地 ground-truth 比也存在明显的性能差距(CIFAR-10[21]上30%-90% vs 92%-94.5%)。SPOS[12]在训练过程中统一从supernet中抽取一single-path的样本,这样所有的 架构可以同时进行优化。然而,我们发现它的局限公平性,其supernet性能受到一定限制。
2.2 Evaluating Supernets by Ranking Ability
无论supernet如何训练,最重要的是它们的能力如何 预测候选模型的性能。为此,最近的一项工作[38]。用Kendall Tau ( τ\tauτ)度量来评估权重共享supernet[19]。它衡量的是one-shot模型和独立训练的模型之间的关系。范围是-1到1,排名完全颠倒了或者完全保留(preserved),而0表示完全没有相关性。令人惊讶的是,最近的 方法在这一指标上表现得非常糟糕[29,32,38]。一个基于 time-consuming incomplete 训练上,平均只达到0.474[50]。
2.3 Formal Formulation of Fairness
定义1:平等原则。当且仅当训练一个supernet的方法与训练子模型的方法相同时,训练一个supernet就满足平等原则。
只有那些在每一步都训练a single path model的方法才符合这个原则的定义。相反,其他方法如DARTS[26]用所有路径训练supernet,One-Shot[1]动态drops out一些路径,ProxylessNAS[4]使用两条路径,直接违反了该原则。
形式上,我们讨论由L层组成的普通supernet中的公平性,每一层都有几个choice blocks。在不影响通用性的前提下,我们假设每一层都有相同数量的选择,比如说m。一个模型是通过逐层取样一个block来生成的。权重共更新n次。因此,我们可以将训练过程描述为P(m,n,L)。
First Attempt: 期望公平为了减少上述2.1节中提到的偏差,一个自然的方法是保证所有的choice blocks在n个步骤后具有相同的期望。我们在定义2中把这个基本要求定义为期望公平性。
一个EF的例子: 均匀采样 让我们检查一个使用均匀采样的single-path routine[12]。由于在任何层l上的采样与其他层无关,我们首先考虑P(m,n,l)的情况。从层l上选择一个block要服从一个分类分布。在这种情况下,每个基本事件发生的概率相等p(X=li)=1mp(X=l_i)=\frac{1}{m}p(X=li)=m1。对于n个步骤,YliY_{l_i}Yli的期望和方差可以写成:
也就是说,所有的选择都有相同的期望和方差。因此,根据定义2,均匀抽样符合期望公平性,而且对于各种选择来说,它似乎是超级公平的。然而,期望公平性是不够的。例如,我们可以对每个模型进行随机抽样,并保持训练k次,然后切换到另一个模型。这个过程也符合定义2,但它的训练非常不稳定。
即使在均匀采样的SPOS[12]中,也存在一个潜在的排序问题。对于一个选择序列(M1,M2,M3)(M_1, M_2, M_3)(M1,M2,M3),它意味着一个固有的训练顺序M1→M2→M3M_1\rightarrow M_2\rightarrow M_3M1→M2→M3. 由于每个模型通常都是通过反向传播来训练的,所以M1的训练权重会立即更新到supernet,而那些 M2是下一次更新,同时带有前一次更新的影响,对于M3是一样的。(M1,M2,M3)(M_1, M_2, M_3)(M1,M2,M3)的简单组合确实符合期望公平性。但会产生不同的结果。此外,如果在途中改变学习率lr,情况就会变得更加复杂。
一般来说,对于P(m,n,L),其中m,n,L为正整数,假设采样次数n可以整除以m(m≥2)m(m\ge 2)m(m≥2)。如果我们采用均匀抽样,随着n的无穷大,m个选择的抽样次数不可能完全相等。这在形式上说是Lemma 1,并在B.1节(补充)中证明。
定理1有些反直觉,因而在以前的工作中被忽略了。然而,当绘制出这条概率曲线时,可以很容易地观察到(见补充资料中的图8)。
A Meticulous Overhaul: Strict Fairness 我们的见解来自于上述被忽视的现象。我们提出了一个更严格的要求,即保证每个 choice block的参数在任何阶段都要更新相同的次数,这就是严格的公平性,正式的说法是定义3。
定义3提出了一个比定义2更苛刻的约束条件。也就是说,p(Yl1=Yl2=...=Ylm)=1p(Y_{l_1} = Y_{l_2} = ...= Y_{l_m}) = 1p(Yl1=Yl2=...=Ylm)=1在任何时候都成立。这似乎很微妙,但以后会被证明是至关重要的。尽管如此,我们必须意识到,这并不是最终的公平,因为不同的模型都有自己的最优初始化策略和超参数,为了简单起见,我们把它们单列出来。
公平性分类法 作为讨论的总结,我们根据表1中的定义的公平性对目前的权重共享NAS方法进行比较。SPOS[12]满足期望公平性,而其余的方法不满足。接下来,我们建立我们的方法FairNAS来满足严格公平性。
3 Fair Neural Architecture Sear
继One-Shot[1]和Single-Path One-Shot[12]之后,我们使用supernet来评估搜索空间中众多模型的性能。因此,我们可以将我们的公平神经架构搜索分为两个阶段:训练supernet和搜索竞争模型。
3.1 Stage One: Train Supernet with Strict Fairness
我们首先提出一种公平的采样和训练算法,以严格遵守定义3。如图2所示,我们使用无替换的均匀采样,并在步骤t对m个模型进行采样,因此每个选择块必须只被激活和更新一次。这一点详见算法1(补充)。
算法1详细介绍了我们方法的超网训练阶段。事实上,关于GPU的利用率,它本身就很高效。即使在强大的机器上,如 如Tesla V100,它可以充分利用GPU,无需特别优化。现有的大多数深度学习框架都允许数据生成和梯度计算之间的并行执行。由于一个mini-batch的数据会被m次的反向传播重复使用,所以可以将这种并行性利用到极致:一个GPU总是很忙,因为数据随时都可以准备好,这缩短了训练时间。此外,我们的方法以single-path的方式工作,这对内存很友好。
需要注意的是,本文中的SF在搜索空间不规则的情况下可以很容易地通过预处理函数进行扩展,对算法1稍加修改即可。例如,一般情况下深度为L的第l-th层有mlm_lml个选择。假设M=max(ml)M=max(m_l)M=max(ml),我们从mlm_lml个选择中随机选择M−mlM-m_lM−ml个额外操作 并将这些额外的选项看作是原始搜索空间的不同选项,因此,算法1的输入条件仍然成立,我们可以直接使用。因此,算法1的输入条件仍然成立,我们可以直接使用它。这个过程可以看作是一个近似的SF。不规则的完美SF 仍然是我们今后的工作。
为了减少不同训练顺序带来的偏差,我们并不像以前的作品[1,12]那样对每个模型进行反向传播和立即更新参数。取而代之的是,我们将一个supernet步骤定义为多次反向传播操作(BP),并仅有着一次参数更新。特别是,给定一个mini-batch的训练数据,对m个single-path模型中的每个模型进行反向传播训练。然后在所选的m个模型上积累梯度,但只有当所有m个BP完成后,supernet的参数才会得到更新。这种方法也不会受到排序问题的影响,因为无论外部学习率策略如何,每个choice block都会被更新。
与方程1相比,明显的区别在于方差。对于均匀采样的single-path方法[12],方差随着n的扩散而扩散,从而逐渐增加了偏差。然而,我们的方法对这种倾向进行了校准,保证了每一步的公平性。
3.2 Stage Two: Searching with Supernet as an Evaluator
对于搜索,我们可以选择随机搜索、 vanilla evolutionary算法或者强化学习。在实际应用中,需要实现的要求和目标很多,比如推理时间、multiply-adds和内存成本等。这就导致我们采用多目标的解决方案。此外,由于搜索空间过于广阔,无法列举所有模型,我们需要一种有效的方法来平衡exploration and exploitation,而不是随机抽样策略。
在这里,我们采用了一种基于NSGA-II[9]的搜索算法,称为MoreMNAS[7],并通过使用Proximal Policy Optimization [37]作为默认的强化算法,进行了一个小的变化。因此,我们通过简单地将其不完全训练的评估器替换为我们公平训练的超网,就有了一个新的pipeline。(见补充资料中的算法2和图7)。受益于权重共享supernet快速评估,我们可以在GPU天数上实现两个数量级的巨大提速。
在我们的supernet充分训练过的模型评价器的情况下,我们采用基于进化的算法进行搜索,详见算法2和图7。一般来说,它是建立在MoreMNAS[7]的基础上,通过将其不完全训练的评估器替换为我们完全训练的supernet。FairNAS supernet在GPU days数上表现出巨大的提速,提速幅度为两个数量级。我们还使用近Policy Optimization作为默认的强化算法[37]。
图7.用严格公平性训练的supernet进行进化搜索。在每一代中,当前种群中的候选模型都会从supernet中继承权重进行评估。它们的估计精度作为目标之一被输入到搜索pipeline中。演化循环,直到Pareto optimality。
Train Only Once to Evaluate All Submodels
DARTS[26]等基于梯度的方法与one shot方法在权重共享机制上有很大的区别。前者只能通过训练一次supernet来发现a single model。然而,one sho的supernet只训练一次,因此每个子模型都可以用继承的权重进行评估。这就需要在不同的计算要求下,对一系列模型进行搜索的摊销成本。见右图1)。除评价外,最近的一项工作表明 一次性supernet权重也可以对子模型进行特化[3]。我们强调 这是其他方法无法提供的重要优势。
B Proofs
B.1 Proof to Lemma 1
模型进行特化[3]。我们强调 这是其他方法无法提供的重要优势。