泛化神器 | 李沐老师新作进一步提升模型在多域多的泛化性,CV和NLP均有大幅度提升(文末获取论文)

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 泛化神器 | 李沐老师新作进一步提升模型在多域多的泛化性,CV和NLP均有大幅度提升(文末获取论文)

1 简介


正则化技术对于稳定和加速深度神经网络的训练至关重要。但是,目前的正则化方法主要是针对独立且均匀分布(IID)的数据而设计的,不能满足许多实际的out-of-distribution(OOD)情况。

与大多数以前的工作不同,本文提出了2种归一化方法,SelfNorm和CrossNorm,以促进OOD泛化。SelfNorm会注意重新校准统计信息(按通道均值和方差),而CrossNorm在特征图之间交换统计信息。尽管在统计使用方面探索了不同的方向,但SelfNorm和CrossNorm在OOD泛化中可以相互补充。在不同领域(CV和NLP),任务(分类和分割)和设置(监督和半监督)的广泛实验表明了该方法的有效性。

本文主要贡献

  • 1、提出了SelfNormCrossNorm这2种标准化技术来增强out-of-distribution(OOD)泛化;
  • 2、SelfNormCrossNorm在利用特征均值和方差提高模型鲁棒性方面形成了对立统一;
  • 3、SelfNormCrossNorm与领域无关,可以提高不同领域(CV或NLP)、设置(监督和半监督)和任务(分类和分割)的性能。

2 相关概念阐述


2.1 Out-of-distribution generalization

尽管目前的深度模型继续在benchmark IID数据集上打破记录,但它们仍然难以推广到由常见的损坏和数据集差距造成的OOD数据。

为了提高鲁棒性,StylizedImageNet进行了风格增强,以减少cnn的纹理偏向。最近,AugMix通过混合基于随机图像语义或图像到图像网络的多个增强图像来训练具备鲁棒性的模型;对抗噪声训练(ANT)和无监督域自适应也可以提高抗腐蚀的鲁棒性。

CrossNorm与AugMix和ANT正交,使它们的联合应用成为可能。与程式化的imagenet相比,CrossNorm有2个主要优点:

  • 1、CrossNorm是有效的,因为它直接在目标CNN的特征空间中迁移Styles。然而,Stylized-ImageNet依赖于external style datasets和预训练style transfer模型;
  • 2、CrossNorm可以提高干净数据和损坏数据的性能,而Stylized-ImageNet会损害clean generalization,因为external styles会导致分布迁移。

除了常见的损害之外,在不同数据集之间存在分布差异的泛化也仍然具有挑战性。IBN混合了IN和BN来缩小域距离。Domain Randomization在分割数据集上使用style augmentation来进行Domain泛化。它遇到了与Stylized-ImageNet相同的问题,因为它还使用了预先训练的Styles传输模型和附加的Styles数据集。与IBN和Domain Randomization方法相比,SelfNorm可以通过style recalibration来弥补不同Domain之间的差异CrossNorm可以更有效地平衡源域和目标域的性能

除CV领域之外,许多自然语言处理(NLP)也面临着分布泛化的挑战。SelfNormCrossNorm也可以提高模型在自然语言处理领域的鲁棒性。

2.2 Normalization and attention

BN是一项具有里程碑意义的技术,它激发了以下许多规范化方法,如IN、LN和GN。最近,一些工作将attention整合到特征规范化中。模式归一化和注意归一化使用attention来衡量BN的混合。

Mode Normalization和Attention Normalization通过attention学习多种类型的归一化。相比之下,SelfNorm只使用了带注意力的IN。更重要的是,不像以前的标准化方法,SelfNorm和CrossNorm的目标是改进外分布泛化。

此外,SelfNorm和CrossNorm虽然使用了相似的attention,但也有所不同。首先,SelfNorm学习重新校准Channel的均值和方差,而不是在SE中的Channel特征。其次,SE是对Channel之间的相互依赖性进行建模,而SelfNorm则对每个Channel进行独立处理。同样,的SelfNorm unit比的SE unit更简单,其中n表示Channel数。

2.3 Data augmentation

Data augmentation是训练深度模型的重要工具。目前流行的Data augmentation技术要么是label-preserving,要么是label-perturbing。label-preserving方法通常依赖于特定领域的图像语义,例如旋转和颜色,这使得它们不适合视觉领域以外的任务。label-perturbing技术主要用于分类,在更广泛的领域可能会有问题。CrossNorm作为一种Data augmentation方法,很容易应用于不同的领域(CV和NLP)和任务(分类和分割)。CrossNorm的目的不同于以往的许多Data augmentation方法,CrossNorm的目的是促进外分布泛化。


3 SelfNorm and CrossNorm


3.1 背景

从原理来说,SelfNorm和CrossNorm来自于同一个起源:IN。在2D CNNs中,每个实例有C个大小为的Features Map。这里给定,IN首先对特征图进行归一化,然后进行仿射变换:

image.png

这里,和分别为均值与标准差,和为待学习的仿射变换超参数;

image.png

如图所示,style transfer实验证实了和可以编码一些style信息。

3.2 SelfNorm

image.png

如图2所示,SelfNorm使用和代替和,其中和是注意力函数。调整后的通道变成:

image.png

当和学会根据自己来衡量和时,通过self-gating来标准化自己,也就是SelfNorm。SelfNorm的灵感来自于注意力可以帮助模型强调有用特征和抑制无用特征。就重新校准和而言,SelfNorm希望突出区别风格,而降低微弱风格。

在实践中,作者使用了一个全连接(FC)网络来包装注意力函数和。由于其输入和输出都是标量,因此该体系结构是高效的。由于每个Channel都有自己独立的统计量,SelfNorm使用C轻量级的FC网络单独重新校准每个信道,因此仅仅只有的复杂度。

3.3 CrossNorm

image.png

如图所示,CrossNorm将通道的和与通道的和交换,即改变和相互之间的和:

image.png

和相互标准化,因此称为CrossNorm。CrossNorm的动机是基于一个关键的观察,即一个目标数据集,例如一个分类数据集,具有丰富的Styles。具体来说,每个实例,甚至每个通道,都有其独特的风格。交换统计信息可以有效地进行Style扩展,减少决策时的Style偏差。在小批量训练中,一般以一定的概率使用CrossNorm。

image.png

3.4 对立统一

SelfNorm和CrossNorm都是从IN开始的,但方向相反。SelfNorm重新校准统计数据,只关注必要的Style,减少标准化特征(零均值和单位方差)和统计混合多样性。而CrossNorm在Channel间传递统计信息,丰富了标准化特征与统计信息的结合。它们执行相反的操作主要是因为它们针对的是不同的阶段。SelfNorm致力于在测试中进行Style的重新校准,而CrossNorm只在训练中起作用。请注意,SelfNorm是一个可学习的模块,需要训练才能发挥作用。

image.png

上图显示了SelfNorm和CrossNorm的流程图。此外,SelfNorm有助于降低模型对外观变化的敏感性,而CrossNorm旨在减少模型的Style偏差。尽管有这些差异,它们都可以促进分布外推广。此外,CrossNorm可以提高SelfNorm的表现,因为它的Style增强可以防止SelfNorm过拟合特定的Style。总的来说,这两种看似对立的方法形成了一个统一,即使用标准化统计来提高分布外的鲁棒性。

3.5 CrossNorm变体

CrossNorm的核心思想是在特征映射之间交换均值和方差。不同的特征映射选择会导致不同的CrossNorm变体。

1-Instance mode

对于2D CNNs,给定一个实例,CrossNorm可以在其之间交换统计数据C Channels如下:

image.png

2-Instance mode

如果给定2个实例,CrossNorm可以在它们对应的通道之间交换统计信息,即和变成:

image.png

与1-Instance mode CrossNorm相比,2-Instance mode CrossNorm倾向于考虑实例级Style而不是通道级Style。

Crop

此外,不同的空间区域可能有不同的均值和方差统计量。为了促进风格的多样性,建议对Crop区域进行CrossNorm:

其中,crop函数返回一个面积比为不小于阈值t(0<t<=1)的正方形。整个通道Crop是Crop的一个特例,这里不进行讨论。一般有3种Crop选择:Crop内容Crop Style两者都Crop。对于内容Crop,只在使用A的标准化特征图时才进行Crop。换句话说,当A向B提供其统计数据时,不会对其进行Crop。Crop意味着CropA和B,无论使用的是它们的标准化特征图还是统计数据。这种Crop策略可以产生不同的1-Instance和2-Instance CrossNorm。

3.6 模块化设计

SelfNorm和CrossNorm可以自然地在特征空间中工作,使得它们可以灵活地插入到多个网络位置。这就产生了两个问题:需要多少个Units,把它们放在哪里

为了简化问题,作者将它们嵌入到网络单元中,转而采用模块化设计。

例如,在ResNet中,把它们放到一个residual模块中。对于residual模块中有限的位置,搜索空间显著缩小。模块化设计允许在一个网络中使用多个SelfNorm和CrossNorm。作者在消融研究中表明,累积style重新校准有助于模型的鲁棒性。由于过度的style扩展是有害的,因此作者在前向推理的过程中只是随机地启用一些CrossNorm。


4 实验结果


mCE on CIFAR-10-C and CIFAR-100-C

image.png

从表1可以看出,单独的SN和CN对看不见的腐蚀的鲁棒性优于大多数以前的方法,将它们组合在一起CIFAR-10-C和CIFAR-100-c上的平均误差都降低了12%。一个可能的解释是腐蚀主要改变了图像纹理。

通过Style的重新校准和增强,SN和CN可能有助于降低纹理的敏感性和偏差,使分类器对看不见的腐蚀更加健壮。此外,与领域无关的SN和CN与AugMix正交,而AugMix依赖于特定于领域的操作。联合使用可以在AugMix的基础上继续将mCEs降低2.2%和3.6%

Ablation study of IBN,SN,CN

image.png

从表1可以看出,在ResNet50+IBN-a的基础上将CN+AM组合在一起使用mCE在原有IBN-a的基础上降低了8.7%;在ResNet50+IBN-b的基础上将SNCN+AM组合在一起使用mCE在原有IBN-b的基础上降低了11.3%;可以看出都是比较大的提升。

CN可视化在头部(左),尾部(中)2块和开始3块(右)在一个WideResNet-40-2。内容(行)和样式(列)图像都来自CIFAR-10。与第1块CNs相比(如图5所示),第2块CNs和第3块CNs的风格传递效果较弱,因为High-Level Features Map的统计信息可能包含较少的Low Level视觉信息。


5 参考


[1].SelfNorm and CrossNorm for Out-of-Distribution Robustness

相关文章
|
1月前
|
人工智能 自然语言处理
Promptriever:信息检索模型,支持自然语言提示响应用户搜索需求
Promptriever 是一种新型信息检索模型,由约翰斯·霍普金斯大学和 Samaya AI 联合推出。该模型能够接受自然语言提示,并以直观的方式响应用户的搜索需求。通过在 MS MARCO 数据集上的训练,Promptriever 在标准检索任务上表现出色,能够更有效地遵循详细指令,提高查询的鲁棒性和检索性能。
66 6
Promptriever:信息检索模型,支持自然语言提示响应用户搜索需求
|
2月前
|
机器学习/深度学习 自然语言处理 语音技术
探索深度学习中的Transformer模型及其在自然语言处理中的应用
探索深度学习中的Transformer模型及其在自然语言处理中的应用
75 5
|
2月前
|
机器学习/深度学习 自然语言处理 PyTorch
从零开始构建nlp情感分析模型!
本教程介绍了如何使用PyTorch和Hugging Face的Transformers库构建一个情感分析模型。主要内容包括导入所需库、读取训练数据集、加载预训练的BERT模型和分词器、定义情感数据集类、划分训练集和验证集、创建数据加载器、设置训练参数、训练模型、评估模型性能以及定义和测试预测函数。通过这些步骤,可以实现一个简单而有效的情感分析模型。
273 2
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
探索深度学习与自然语言处理的前沿技术:Transformer模型的深度解析
139 0
|
3月前
|
机器学习/深度学习 自然语言处理 并行计算
探索深度学习中的Transformer模型及其在自然语言处理中的应用
【10月更文挑战第6天】探索深度学习中的Transformer模型及其在自然语言处理中的应用
244 0
|
3月前
|
机器学习/深度学习 自然语言处理 异构计算
【NLP自然语言处理】初识深度学习模型Transformer
【NLP自然语言处理】初识深度学习模型Transformer
|
3月前
|
机器学习/深度学习 自然语言处理 算法
【NPL自然语言处理】带你迅速了解传统RNN模型
【NPL自然语言处理】带你迅速了解传统RNN模型
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在自然语言处理中的应用与挑战
【10月更文挑战第3天】本文将探讨AI技术在自然语言处理(NLP)领域的应用及其面临的挑战。我们将分析NLP的基本原理,介绍AI技术如何推动NLP的发展,并讨论当前的挑战和未来的趋势。通过本文,读者将了解AI技术在NLP中的重要性,以及如何利用这些技术解决实际问题。
|
4天前
|
存储 人工智能 自然语言处理
Pandas数据应用:自然语言处理
本文介绍Pandas在自然语言处理(NLP)中的应用,涵盖数据准备、文本预处理、分词、去除停用词等常见任务,并通过代码示例详细解释。同时,针对常见的报错如`MemoryError`、`ValueError`和`KeyError`提供了解决方案。适合初学者逐步掌握Pandas与NLP结合的技巧。
47 20
|
2月前
|
自然语言处理 API C++
阿里通义推出SmartVscode插件,自然语言控制VS Code,轻松开发应用,核心技术开源!
SmartVscode插件深度解析:自然语言控制VS Code的革命性工具及其开源框架App-Controller

热门文章

最新文章

相关产品

  • 自然语言处理