论文地址: https://arxiv.org/abs/2112.02086
代码地址: https://github.com/liuzechun/Data-Free-NAS
Data-free NAS 的架构非常简单,分为两步,第一步用预训练网络模型生成数据,第二步用生成的数据和预测的标签(label)来训练 NAS。
而挑战在于 NAS 需要利用生成的数据训练和评估搜索空间中数以百万计的网络架构的优劣,对他们进行排序。如果生成的数据不够多样,网络就很容易过拟合,所有网络都表现很好,就很难从中筛选出最优网络结构。因此,如何提高生成数据的多样性,使其能支持网络搜索的重任,就取决于生成算法的优劣了。
这篇文章不仅利用了损失函数计算导数来指导图片生成,还提出了循环生成语义更丰富的标签(recursive label calibration)和区域更新方法(regional update)来提升生成数据的丰富度。
最基础的数据生成方式通过输入一张全是白噪声的图片到预训练网络中,通过计算输出的 logits 和目标标签的损失函数来计算导数,更新图片,并且添加正则化约束。
但这种方式生成的图片容易模式近似,多样性不足以支撑 NAS。
因此作者提出循环标签生成(recursive label calibration),主要基于的一个观察:自然图像作为预训练模型的输入时,模型输出的预测是一个分布,最大值是目标类,并且有其他几个峰值落在与之近似的类上。如下图所示,一张自然图像 “咖啡杯” 的预测包含 “咖啡杯” 和相关类“杯子”。
然而针对某一个标签生成的图片往往容易过拟合,从而有极大的预测值在该标签上,但无法发掘语义近似的标签之间的联系,比如下图的 (b) 中,针对“咖啡杯” 类合成的图像,预训练模型仅预测该图像为“咖啡杯”,使得图片过分强化咖啡杯的特征,且不像真实图片。
人们希望生成图片与真实图片尽可能接近,为了做到这点,可以先让生成图片和真实图片经过预训练网络后的预测(logits)尽可能相近。但是真实的训练数据与其 logits 无法获得,因此,作者提出 Recursive Label Calibration,利用循环放大预训练模型对生成图像在语义近似类上的预测值,生成 soft label,再用 soft label 来指导图片生成。
从图(c)中可以看出,使用 Recursive Label Calibration 合成的图像。它会自动将 “杯子” 标识为针对 “咖啡杯” 合成的图像的相关类,并且生成图像看起来也更自然。
此外,作者提出的区域更新(regional update),即在生成图片过程中,每次仅用导数更新图片的一个区域,比如针对于 ImageNet 数据集的生成数据仅更新 256×256 的图片范围中大小为 224×224 的随机范围。这样保证每一个 224×224 的范围都可以独立成为一幅生成图片,从而配合后续网络训练中用到的随机裁剪(random crop)数据增强算法。
整体的生成算法如上图所示:输入一张白噪声图片,在生成过程的每次迭代中,一个 224×224 区域是从 256×256 输入中随机裁剪的,利用通过 loss 计算的导数更新所选区域,直到白噪声收敛成合成图片。然后使用预训练模型对合成图像的预测作为软标签(soft label)来指导下一批从白噪声到图片的生成,从而循环生成 soft-label 和与之对应的图片。
这样,生成的图片相比于仅仅用损失函数生成的图片来得更佳多样化,也更接近真实图片:
同时,作者做了多组对比实验,来分析生成图片对于 NAS 标定不同网络结构好坏的准确性的影响。通过计算用生成图片训练网络的精度和用真实数据训练的网络精度之间的一致性,作者分析得出,使用所提出的 recursive label calibration 和 regional update 可以大大提高一致性,使得 NAS 更容易搜索得到最优网络:
最后,作者用生成图片和生成图片对应的预训练网络预测值来指导 NAS 训练,结合三种常见的 NAS 方法,得到 data-free NAS,包括用基于导数的搜索算法 DSRTS [1],基于遗传算法的 SPOS[2],和基于强化学习算法的 ProxylessNAS[3]。
实验结果表明,结合不同的搜索算法,data-free NAS 都能搜索出和用真实图片搜索得到的结构效果相近甚至更好的网络结构,表明了 data-free NAS 的可行性。
Data-free DARTS :
Data-free SPOS :
Data-free ProxylessNAS :
更多结果和方法细节可以参考原论文。
参考文献:
[1] Liu, H., Simonyan, K., Yang, Y., et al.: Darts: Differentiable architecture search. In: International Conference on Learning Representations (2019)
[2] Guo, Z., Zhang, X., Mu, H., Heng, W., Liu, Z., Wei, Y., Sun, J.: Single path one-shot neural architecture search with uniform sampling. arXiv preprint arXiv:1904.00420 (2019)
[3] Cai, H., Zhu, L., Han, S., et al.: Proxylessnas: Direct neural architecture search on target task and hardware. arXiv preprint arXiv:1812.00332 (2018)