DARTS存在的部分问题
一般NAS的流程是分为搜索阶段和评估阶段,在训练集与验证集上进行结构的搜索(搜索阶段),然后在测试集上进行模型的评估(评估阶段)。DARTS在搜索结束的阶段直接得到网络结构,如图1和公式3所示。这种策略导致在搜索和评估阶段派生的网络结构的性能相关性非常低。网络在搜索阶段的效果,并不能反映其在评估阶段的真实效果。我们将这种现象称之为:退化的搜索评估相关性(degeneratesearch-evaluation correlation)。我们认为造成这种想象的主要原因是:(1)搜索阶段和评估阶段设置的不一致性;(2)权重共享(weight sharing)造成的副作用。
举个例子:假设我们只搜索3种候选运算,skip-connect,3x3卷积,5x5卷积。如果搜索时分配的权重分别是skip-connect (0.34),3x3卷积(0.33),5x5卷积(0.33),最后所选的操作会是没有可学习参数的skip-connect,如果所有的边都是这种情况,那么最后的网络在评价阶段性能就会很差,然而在搜索阶段这个网络和权重分配为skip-connect (0.33),3x3卷积(0.34),5x5卷积(0.33),最后会得到3x3卷积的网络性能几乎不会有区别。这一现象并不仅仅发生在DARTS上,也发生其他大部分NAS算法上,这严重影响了NAS的性能。
肯德尔系数 au[4]可用于量化搜索评估相关性( search-evaluation correlation)。肯德尔系数介于-1到1,-1表示完全负相关,1表示完全正相关。如果肯德尔系数为0,则分布完全独立。理想的NAS方法应具有较高的搜索评估相关性 au。我们以DARTS 为例, 在CIFAR-10数据集上运行10次,分别根据搜索准确性和最终评估准确性排名,计算其肯德尔系数。一阶和二阶的DARTS的肯德尔系数分别仅为0.16和-0.29。因此,DARTS算法的搜索评估相关性极低,无法根据DARTS在搜索阶段的效果预测模型测试阶段的准确性。
图2 搜索-测试相关性可以用肯德尔系数衡量。
常见的NAS算法,如DARTS,肯德尔系数低,无法根据其搜索阶段对最终测试的准确性做出可靠的预测。