Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

机器之心编辑部专栏

ECCV 2022 | 谷歌提出Data-free NAS,网络搜索仅需一个预训练模型

目前该方法主要研究图片领域。

图片

  • 论文地址: https://arxiv.org/abs/2112.02086

  • 代码地址: https://github.com/liuzechun/Data-Free-NAS

Data-free NAS 的架构非常简单,分为两步,第一步用预训练网络模型生成数据,第二步用生成的数据和预测的标签(label)来训练 NAS。

图片

而挑战在于 NAS 需要利用生成的数据训练和评估搜索空间中数以百万计的网络架构的优劣,对他们进行排序。如果生成的数据不够多样,网络就很容易过拟合,所有网络都表现很好,就很难从中筛选出最优网络结构。因此,如何提高生成数据的多样性,使其能支持网络搜索的重任,就取决于生成算法的优劣了。

1. 图片生成算法

这篇文章不仅利用了损失函数计算导数来指导图片生成,还提出了循环生成语义更丰富的标签(recursive label calibration)和区域更新方法(regional update)来提升生成数据的丰富度。

1.1 Loss function

最基础的数据生成方式通过输入一张全是白噪声的图片到预训练网络中,通过计算输出的 logits 和目标标签的损失函数来计算导数,更新图片,并且添加正则化约束。

图片

但这种方式生成的图片容易模式近似,多样性不足以支撑 NAS。

1.2 recursivelabel calibration

因此作者提出循环标签生成(recursive label calibration),主要基于的一个观察:自然图像作为预训练模型的输入时,模型输出的预测是一个分布,最大值是目标类,并且有其他几个峰值落在与之近似的类上。如下图所示,一张自然图像 “咖啡杯” 的预测包含 “咖啡杯” 和相关类“杯子”。

图片

然而针对某一个标签生成的图片往往容易过拟合,从而有极大的预测值在该标签上,但无法发掘语义近似的标签之间的联系,比如下图的 (b) 中,针对“咖啡杯” 类合成的图像,预训练模型仅预测该图像为“咖啡杯”,使得图片过分强化咖啡杯的特征,且不像真实图片。

图片

人们希望生成图片与真实图片尽可能接近,为了做到这点,可以先让生成图片和真实图片经过预训练网络后的预测(logits)尽可能相近。但是真实的训练数据与其 logits 无法获得,因此,作者提出 Recursive Label Calibration,利用循环放大预训练模型对生成图像在语义近似类上的预测值,生成 soft label,再用 soft label 来指导图片生成。

从图(c)中可以看出,使用 Recursive Label Calibration 合成的图像。它会自动将 “杯子” 标识为针对 “咖啡杯” 合成的图像的相关类,并且生成图像看起来也更自然。

图片

1.3 regional update

此外,作者提出的区域更新(regional update),即在生成图片过程中,每次仅用导数更新图片的一个区域,比如针对于 ImageNet 数据集的生成数据仅更新 256×256 的图片范围中大小为 224×224 的随机范围。这样保证每一个 224×224 的范围都可以独立成为一幅生成图片,从而配合后续网络训练中用到的随机裁剪(random crop)数据增强算法。

图片

整体的生成算法如上图所示:输入一张白噪声图片,在生成过程的每次迭代中,一个 224×224 区域是从 256×256 输入中随机裁剪的,利用通过 loss 计算的导数更新所选区域,直到白噪声收敛成合成图片。然后使用预训练模型对合成图像的预测作为软标签(soft label)来指导下一批从白噪声到图片的生成,从而循环生成 soft-label 和与之对应的图片。

2. 可视化和对照实验

这样,生成的图片相比于仅仅用损失函数生成的图片来得更佳多样化,也更接近真实图片:

图片

同时,作者做了多组对比实验,来分析生成图片对于 NAS 标定不同网络结构好坏的准确性的影响。通过计算用生成图片训练网络的精度和用真实数据训练的网络精度之间的一致性,作者分析得出,使用所提出的 recursive label calibration 和 regional update 可以大大提高一致性,使得 NAS 更容易搜索得到最优网络:

3. Data-free 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) 

理论预训练模型网络搜索谷歌Data-free NAS
相关数据
收敛技术

在数学,计算机科学和逻辑学中,收敛指的是不同的变换序列在有限的时间内达到一个结论(变换终止),并且得出的结论是独立于达到它的路径(他们是融合的)。 通俗来说,收敛通常是指在训练期间达到的一种状态,即经过一定次数的迭代之后,训练损失和验证损失在每次迭代中的变化都非常小或根本没有变化。也就是说,如果采用当前数据进行额外的训练将无法改进模型,模型即达到收敛状态。在深度学习中,损失值有时会在最终下降之前的多次迭代中保持不变或几乎保持不变,暂时形成收敛的假象。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

导数技术

导数(Derivative)是微积分中的重要基础概念。当函数y=f(x)的自变量x在一点x_0上产生一个增量Δx时,函数输出值的增量Δy与自变量增量Δx的比值在Δx趋于0时的极限a如果存在,a即为在x0处的导数,记作f'(x_0) 或 df(x_0)/dx。

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

遗传算法技术

遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。 遗传算法通常实现方式为一种计算机模拟。对于一个最优化问题,一定数量的候选解可抽象表示为染色体,使种群向更好的解进化。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~