SGAS详细方案
针对退化的搜索评估相关性这一重要的问题,我们提出了SGAS(SequentialGreedy Architecture Search),一种顺序贪心决策的搜索算法。
图2 SGAS的网络结构搜索示意图
我们基于贪心算法的思想将网络结构的搜索问题,转化为逐步地选择一条边并确定其运算的子问题。实验证明,依次解决这些简单的子问题,可以让最终结构具有更高的搜索-测试相关性。算法的迭代过程如算法1所示。
在每个决策时期,我们根据预先确定的选择标准选择一条边(i^{+}, j^{+})。通过用公式(3)得到这条边的运算,并替换相应的混合运算o^{ar}。所选择的运算,即是所选的边基于贪心的最优选择。每当确定好一条边的运算,我们就不再需要这条边的结构参数lpha(i^{+}, j^{+}))以及混合操作中其余路径的权重,我们可以将这条边从后续的优化中去除。这样可以带给我们一个额外的好处是:优化问题得到了剪枝,进而可以提高搜索的效率。一条边被剪枝后,剩下的超网络以及参数形成一个新的子问题,该子问题将被以相同的算法迭代求解。在搜索阶段的最后,便得到一个没有权重共享的离散子网络,如图2所示。SGAS算法基于顺序贪心算法,减少了在搜索阶段和评价阶段的模型不一致性和权重共享的副作用,使得模型的搜索-测试相关性最大化。
在SGAS中,选择标准的设计至关重要。我们考虑影响边的选择的三个重要因素:边的重要性,选择确定性和选择稳定性。
边的重要性:如果这条边的非零运算选择的可能性越高,表明这条边越重要。
选择确定性:熵(entropy)是分布用度量不确定性的常。非零运算的归一化权重可以看作是一种分布:
我们将选择确定性定义为一减去操作分布的归一化熵:
选择稳定性:为了让选择更稳定,我们需要考虑选择确定性的历史分布。直方图相交[48]是检测分布变化的常用方法,我们利用直方图相交来计算第T步中的前K时间的边的平均选择稳定性: