无监督网络架构搜索

当前业界主流的NAS算法都是利用有监督数据来搜索,然后再用有监督数据(可能和搜索数据不一样)来训练和评估。这篇论文提出一个崭新的方法,利用无监督的数据来搜索架构,称为Unsupervised Neural Architecture Search (UnNAS)。

和其他的NAS算法一样,UnNAS也分成两个阶段:搜索阶段(Search Phase)和评估阶段(Evaluation Phase)。搜索阶段是从预定义的网络搜索空间里探索和选择一个最好的网络模型,UnNAS的搜索阶段采用的是无监督的数据,这是这篇论文最大的创新点。评估阶段是用来判断搜索阶段搜索出来的网络模型是优是劣,一般采用和搜索阶段不一样的数据集来训练网络模型参数和评估精度等指标,在这里UnNAS的方法和当前其他方法一样,也是采用有监督的数据来评估。

UnNAS: Are Labels Necessary for Neural Architecture Search?
上图表示的是无监督UnNAS和传统无监督深度学习的异同点。传统无监督深度学习在训练阶段使用无监督数据来训练一个确定的网络模型,在评估阶段的时候只是在有监督数据上用来训练网络头部或者当做特征提取器等;UnNAS的搜索阶段对应传统深度学习的训练阶段,只是无监督数据是用来从搜索空间中搜索出一个网络模型,并不用来对搜索出来的模型进行权值训练,在评估阶段的时候使用有监督数据对网络模型从头开始训练。

实验过程

作者接下来做了两种实验,一个是基于采样(sample-based),另一个是基于搜索(search-based)。在基于采样实验中,从搜索空间中随机选取一组小型的网络进行很少epoch的无监督训练,目的是为了证明网络的无监督训练和有监督训练之间存在强关联性。在基于搜索实验中,则是用无监督数据从搜索空间中找到一个最佳的网络。

无监督数据

作者采用了三种方法来构造无监督数据(准确的说,是自监督方法)。

  1. 旋转。将任意一张图片从四个旋转角度(0, 90, 180, 270)中随机挑取一个进行旋转,网络的输出是长度为4的分类头,分别对应这四个角度。
  2. 颜色。输入的图片是一个灰度图,网络的输出是在每个像素点上预测一组预定义的颜色分类(共313类)。
  3. 拼接。将输入图片进行切割成同等大小矩阵块,随机打乱并拼接,网络的输出是预测采用哪种方式拼接。

基于采样的实验

论文从搜索空间中随机挑选了n=500n=500个网络,分别用上面三种用无监督数据从头训练这个网络模型,也用有监督的数据来训练这些网络。
在基于采样的方法上,论文也做了两种分析,一个是排名相关分析,另一个是随机实验分析。

  1. 排名相关分析。作者分别从DARTS和NAS-Bench-101两个搜索空间上随机挑选n=500n=500个网络,并在Cifar-10和ImageNet数据集上分别分析三种无监督数据和有监督数据训练出来的模型之间精度的关联性。实验结果如下图所示。

UnNAS: Are Labels Necessary for Neural Architecture Search?Cifar-10数据集上的实验

UnNAS: Are Labels Necessary for Neural Architecture Search?ImageNet数据集上的实验

UnNAS: Are Labels Necessary for Neural Architecture Search?Cifar-10和ImageNet两种数据集上的对比

从图中可以看出,在cifar-10和ImageNet上,甚至在跨数据集上,无监督和有监督的关联值ρ\rho都几乎达到了0.8左右或者以上,说明用对于网络来说,有监督数据和无监督数据的训练结果具有高度的一致性。

  1. 随机实验分析。随机实验每次从500个网络里面取m个在cifar-10上的网络结果,并选择最佳性能,共选取了[n/m][n/m]次,计算这[n/m][n/m]个网络在ImageNet上的实验结果均值和误差值。作者在ImageNet数据集的实验性能上进行统计,结果如下图。
    UnNAS: Are Labels Necessary for Neural Architecture Search?
    从图中可以看出,不管是有监督数据还是无监督数据,在cifar-10上训练好的网络,在ImageNet上也同样具有相似的结果。

基于搜索的实验

基于搜索的实验其实就是在做NAS的搜索过程,只是之前的算法采用的有监督的数据,本论文采用的是三种无监督的数据来完成。作者搜索阶段采用的是DARTS的方法,并分别在ImageNet-1K、ImageNet-22K和Citycapes三种数据集上进行搜索。在评估阶段上,作者分别在ImageNet-1K和Citycapes上对搜索出来的模型进行Fully Train,实验的结果如下图所示。

UnNAS: Are Labels Necessary for Neural Architecture Search?ImageNet上的评估结果

UnNAS: Are Labels Necessary for Neural Architecture Search?Citycapes上的评估结果

在搜索过程和评估过程中,相同数据集下的实验参数都是一样的。通过实验可以看出,有监督和无监督数据集搜索出来的网络的评估结果基本上是相当的。特别的,在搜索数据和评估数据是一致的条件下,无监督数据搜索出来的网络在ImageNet-1K上进行评估时,效果略差于有监督数据;但是在Citycapes数据集上,无监督搜索出来的网络却优于有监督数据。

相关文章: