8320NAS-OoD:用于分布外泛化的白皓月香港科技大学hbaiaa@cse.ust.hk叶南阳*上海交通大学ynylincoln@sjtu.edu.cn周峰伟华为诺亚zhoufengwei@huawei.comS.- H.陈嘉梁香港科技大学gchan@cse.ust.hk洪兰青华为诺亚honglanqing@huawei.com李振国华为诺亚li. huawei.com摘要分布外(OoD)生成的最新进展揭示了深度学习模型对分布变化的鲁棒性。然而,现有的工作集中在OoD算法,如不变风险最小化,域泛化,或稳定的学习,而不考虑深层模型架构对OoD生成的影响,这可能会神经架构搜索(NAS)方法基于其在训练数据上的性能来搜索架构,这可能导致OoD任务的泛化较差。在这项工作中,我们提出了强大的神经架构搜索OoD泛化(NAS-OoD),优化了架构,其性能方面的梯度下降生成的OoD数据。具体地,数据生成器被学习以通过最大化由不同神经架构计算的损失来合成OoD数据,而架构搜索的目标是找到使合成OoD数据损失最小化的最佳架构参数。数据生成器和神经架构以端到端的方式联合优化,并且极大极小训练过程有效地发现了针对不同分布偏移很好地生成的鲁棒架构。广泛的实验结果表明,NAS-OoD实现了各种OoD泛化基准与深度模型具有更少的参数数量优越的性能。此外,在一个真实的工业数据集上,所提出的NAS-OoD方法与最先进的方法相比,错误率降低了70%以上*叶南阳为通讯作者。图1. NAS-OoD在测试精度和网络参数数量方面比现有的OoD泛化基线表现得更好。左上角的点优于右下角的点,因为它们具有更高的测试精度和更少的参数数。1. 介绍深度学习模型在分布外(OoD)场景中遇到了显著的性能下降[4,26],其中测试数据来自与训练数据不同的分布随着它们在现实世界应用中的日益增长的使用,其中经常观察到测试和训练数据分布的不匹配[25],已经投入了大量的努力来提高泛化能力[30,3,20,5]。风险正则化方法[3,1,41]旨在通过施加不同的不变风险正则化来学习不同训练环境中的不变表示领域泛化方法[30,31,9,48]从多个领域学习模型,以便它们可以很好地泛化到看不见的领域。稳定学习[27,28,20]专注于识别预测的稳定和因果特征然而,现有的研究很少考虑这种影响8321的泛化能力。另一方面,一些先驱工作表明,不同的架构显示不同的OoD泛化能力[22,12,33]。网络的架构如何传统的神经架构搜索(NAS)方法在从训练数据中随机划分的验证数据上搜索具有最大预测性能的架构[49 , 36 , 34 , 44]。 在 数 据 是 独 立 和 完 全 分 布 的(IID)的假设下,所发现的体系结构应该在看不见的测试数据上表现良好。虽然最近的NAS方法发现的新架构已经在IID假设[40,18,45,24]的不同任务上表现出卓越的性能,但它们可能会在OoD场景中受到过拟合的影响,其中测试数据来自另一个分布。一个合适的验证集,可以评估性能的测试数据与分布变化的体系结构是至关重要的OoD场景。在 本 文 中 , 我 们 提 出 了 强 大 的 NAS 的 OoDgeneralization(NAS-OoD),搜索架构的最大- imal预测性能的OoD的例子产生的条件发生器。所提出的方法的概述在图2中示出。为了同时进行NAS和训练OoD模型,我们遵循NAS的基于梯度的方法[34,42,8,23,44],然而,我们在几个方面扩展了它。archi-tectures的离散选择放宽到可区分的建设所有could-didate架构到一个超网参数共享和采用softmax选择所有可能的网络operation- erations。结构搜索的目标是在相应的网络参数最小化训练损失的条件下,找到最小化验证损失的最优而不是使用部分训练集作为验证集,我们训练一个条件生成器,以将原始训练数据映射到合成OoD示例作为验证数据。更新生成器的参数以最大化由超网计算的验证损失。该更新鼓励生成器合成具有与原始训练数据不同的分布的数据,因为超网被优化以最小化训练数据上的误差为了寻找具有最佳OoD泛化能力的体系结构,优化体系结构参数以最小化包含合成OoD数据的验证集上的损失。这种极大极小训练过程有效地驱动生成器和体系结构搜索,以提高其性能,并最终获得强大的体系结构,执行良好的OoD泛化。我们的主要贡献可概括如下:1. 据我们所知,NAS-OoD是第一个尝试引入NAS用于OoD泛化,其中条件生成器被联合优化以合成大小OoD的例子,帮助纠正架构搜索的监督信号。2. NAS-OoD在单次运行中获得最佳架构和所有优化参数。极大极小训练过程有效地发现了鲁棒的架构,以及推广不同的分布变化。3. 我们采取的第一步,了解OoD generalization的神经网络体系结构systemati- cally。我们提供了一个统计分析的搜索架构和我们的初步实践表明,架构影响OoD的鲁棒性。4. 大 量 的 实 验 结 果 表 明 , NAS-OoD 优 于 以 前 的SOTA方法,并实现了最佳的整体OoD泛化性能的各种类型的OoD任务与发现的架构具有更少的参数。2. 相关工作2.1. 分布外泛化训练集和测试集之间的数据分布不匹配存在于许多现实世界的场景中。已经开发了不同的方法来解决OoD转变。IRM [3]的目标是通过不变风险正则化从不同环境中提取不变表示。IRM-Games [1]旨在实现多个环境中的纳什均衡,以基于集成方法找到不变量。REx [26]提出了一种最小-最大程序来处理不同环境中风险的最差线性组合。MASF [15]采用了一个框架来学习域之间的JiGen [9]联合分类对象并解决无监督拼图任务。CuMix [35]旨在通过课程程序识别看不见的领域中的看不见的类别,以混合来自不同领域的数据和标签。DecAug [5]提出了一种分解特征表示和语义增强方法,以联合解决多样性和分布变化。[21]的工作发现,使用预训练可以提高模型的鲁棒性和不确定性。然而,现有的OoD一般化方法很少考虑的架构,导致次优性能的影响。在这项工作中,我们提出了NAS-OoD,一个强大的网络架构搜索方法OoD泛化。2.2. 神经架构搜索EfficientNet [40]提出了一种新的缩放方法,该方法通过有效的复合系数均匀地缩放深度,宽度和分辨率的所有维度。EfficientNet设计了一个新的基线,比以前的ConvNets实现了更好的单次NAS [6]8322O{}K{|联系我们联系我们--Kzj=ΣΣs(i,j)ok(zi)=soj,(1)图2.提出的NAS-OoD的概述。一个条件生成器被学习来将原始训练数据映射到合成OoD示例,通过最大化由不同神经架构计算的它们的损失。同时,通过最小化合成OoD数据损失来优化架构搜索过程。讨论了一次架构搜索的权重共享方案,并表明,它是可能的,以确定有前途的架构,而无需超网络或RL有效。DARTS [34]提出了一种可区分的方式来处理架构搜索的可扩展性挑战。ISTA-NAS [44]将神经架构搜索公式化为稀疏编码问题。以这种方式,搜索中的网络在每次更新时满足稀疏性约束,并且对训练是有效的。SNAS [42]将NAS重新表述为关于小区中搜索空间的联合分布的参数的优化问题。DSNAS [23]提出了一种有效的NAS框架,该框架通过低偏差蒙特卡罗估计同时优化了体系结构和参数。NASDA [33]利用一个原理框架,该框架使用可微分神经架构搜索来导出域适应任务的最佳网络架构。NADS [2]在架构搜索空间上学习后验分布,以实现不确定性量化,从而更好地工作[10]使用鲁棒损失来减轻对称标签噪声下的性能下降。然而,NAS很容易过拟合,工作[43,19]指出,NAS评估是令人沮丧的困难。因此,将现有NAS算法扩展到OoD设置是非常重要的。2.3. 从体系结构的角度看健壮性最近的研究表明,不同的体系结构呈现出不同的泛化能力。[46]的工作使用功能模块探测方法来分析OoD设置下的深层模型结构。工作[22]检查并表明,预先训练的变压器不仅在分布示例上实现了高精度,而且还提高了分布鲁棒性。这项工作[12]提出了具有神经隐藏层的CNN模型,这些模型更好地模拟了初级视觉皮层,提高了鲁棒性抵抗图像扰动。该工作[14]使用直接应用于图像块序列的纯Transformer,与依赖CNN相比,它在图像分类任务上表现得[13]的工作旨在提高NAS网络的对抗鲁棒性,并在各种攻击下实现优异的性能。然而,他们没有从体系结构的角度考虑OoD泛化。3. 方法在本节中,我们首先介绍传统NAS的预备知识及其在OoD场景中的局限性(第3.1节)。然后,我们描述了我们用于OoD泛化的鲁棒神经架构搜索的细节(第3.2节)。3.1. 可微神经结构搜索传统的NAS方法主要搜索作为构建单元的计算小区以构建网络[34,42,23]。单元的搜索空间被定义为具有n个有序节点z1,z2,…,zn的有向无环图。z n和边ξ =ei,j1i