Improving Model Robustness by Adaptively Correcting Perturbation Levels with Active Queries文献笔记

通过主动查询自适应校正扰动水平提高模型鲁棒性

AAAI2021的文献


背景:主动学习

  对模型初始化后,通过算法挑选出一系列最难区分、对模型提升最大、或最不确定的样本交给Oracle标注后再加入模型训练,从而对模型进行优化的过程。

背景:通过训练提高模型鲁棒性

  我们训练的模型被部署到现实世界的应用中之前,通常在实验室环境中接受培训和评估。然而,现实环境中存在大量的、不可预测的噪声,如果模型不够鲁棒,可能会导致严重的故障。通常的解决办法是在扰动的例子上训练神经网络是提高模型鲁棒性的主要方法。

粗略地说,现有的研究试图通过处理两种不同类型的扰动来提高模型的鲁棒性。第一种是加入对抗性扰动(即加入了扰动之后模型会判断错的扰动),还有一种是加入破坏性扰动,通常是在数据收集和编辑过程中偶然产生的(例如。高斯噪声,运动模糊。本文重点在于破坏性扰动。因为在实际情况中样本是干净的,可是预测的样本或许会被噪声骚扰,使得模型的预测结果与预期不符合,所以一般人为加入扰动ε,ε球(一个比较形象化的称呼,艾普西隆)内包括所有可能扰动的样本。

但是鲁棒性训练也存在一个比较大的问题:我们在训练的时候是给所有样本产生相同噪声水平的扰动,即所有样本的ε球一样大,样本忍受的噪声水平也是一样的。但实际上,我们的训练样本图像是不一样的,这就意味着模糊、复杂或分辨率低的图像加了一些轻微躁动可能就会损失其可判别性,另一方面,清晰、简单、分辨率高的图像可以忍受的噪声水平则可以更大。

针对这种情况,作者提出应该使清晰样本的ε大一点,模糊样本的ε小一点。

贡献

作者建议自适应地调整每个训练示例的扰动级别,并使用查询策略从人类专家那里获取真 信息来校正扰动级别。因为人工注释可能 成本很高,因此查询所有示例的扰动级别不太实际。 为了克服这一挑战,提出了一种新的主动学习框架来主动查询扰动水平(简称 AQPL),旨在训练一个具有最少查询的鲁棒模型。具体而言,在主动学习的每次迭代中,首先基于对多个生成噪声的预测一致性 来估计每个示例的当前扰动水平的一致性,然后主动选择一致性最小的示例进行查询。这样,具有过大或过小扰动的例子将被查询的地面真实信息校正。为了进一步降低注释成本,设计了一种经济高效的查询类型,允许人类专家轻松决定图像的扰动级别。

• A novel framework AQPL is proposed to improve model robustness via querying the perturbation level of examples. It is a new attempt to improve the model robustness by interacting with human experts.
• An effective strategy is proposed to actively select the most useful example for perturbation level correction, which significantly reduces the query numbers for robust training.

• A cost-effective query type is designed to allow human experts to easily decide the proper perturbation level of an image with low annotation cost.

模型介绍 

 AQPL框架如图,图二上方是干扰最严重(复杂图像),下方是干扰最缺乏(简单图像),黑色标记是原本噪声水平,红色是调整后的噪声水平,调整后噪声水平适当。

那么,如何利用主动学习的方法挑选出最有价值的样本并调整噪声水平呢?

 问题设置

  用 D 表示有 n 个例子的干净数据集,即。D = {(x1, y1),(x2,y2),...,(xn,yn)}(这里的D指的是没有加性噪声的数据集),其中 xi ∈ Rd 是特征向量,yi ∈ {1,...,K} =: Y 是标签ground truth。用 C 表示具有常见损坏的数据集(例如ImageNet-C)即 c = {(x^1,y^1),(x^2,y^2),...,(x^n,y^n)},其中 x^I 是 带有扰动的 xi 的实例,就是xi加了噪声扰动之后的样本。 由 θ 参数化的模型 Fθ(x) 用干净的数据集D来训练,然而,当应用于C时,由于样本存在噪声,该数据集通常效果不佳。为了解决这个问题,主流方法试图用噪声来训练模型,以提高对破坏扰动的鲁棒性。形式上,可以通过最小化具有加性噪声的干净数据集 D 上的交叉熵损失 L 来改进分类器 Fθ。

如下图公式,其中 ε 是根据噪声分布 P(σ)产生的随机噪声,σ 是控制噪声强度的扰动水平。这里,P(σ)可以是任何一般的噪声分布。显然,通过最小化损失函数,分类器 Fθ 将被 优化以正确识别受噪声干扰的例子。在以前的方法中,σ 要么保持固定,要么从一组固定的标准偏差中统一选择。然而,如上所述,为所有样本设置全局常数 σ 是不切实际的,因为每个示例对噪声都有其固有的鲁棒性。
 

 因此,在本文中,我们提出了一个更实用的设置,其中每个例子都有自己的扰动水平。在形式 上,我们引入了依赖于实例的扰动水平 σi 来为每个 xi 产生噪声,并定义了一个新的损失函数如下:显然,内在鲁棒性较强的图像应该得到较高的 σi 值,而内在鲁棒性较弱的图像应该得到较低的 σi 值。尽管初始化的扰动水平可能不符合固有的鲁棒性,但我们主动选择最有用的例子,并查询它们的基本事实信息,以自适应地校正扰动水平。

 

 算法细节

首先介绍一下AQPL框架:首先,给所有的样本分配一个初始扰动水平。然后在每次迭代中,选择两个最有用的例子(一个具有最大过度扰动,一个具有最大不足扰动)用于扰动水平校正。之后,将这两个样本交给专家,人工去调整一个适当的扰动级别,该级别符合所选示例的内在鲁棒性。基于查询到的信息, 对分类模型进行更新,可以以较低的成本尽可能提高模型的鲁棒性。

部分细节:

为每个训练示例定义了一个三元组(x, y,σ),该三元组由特征实例、标签和依赖于实例的扰动级别组成。

 那么如何从 T 中选择最有用的例子来 查询扰动水平,如果一个例子属于这些情况, 那么它的扰动应该被校正到一个适当的水平,以符合 它内在的鲁棒性。因此,给定一个三元组(x,y,σ), 扰动与示例 x 的一致性 s(σ)可以定义为查询前后的扰动 水平变化

其中 σo 是 x 的最优扰动水平。直观地说,当前扰动 水平和最佳扰动水平之间的差异越大,它可以通过校 正获得的有用信息就越多。这促使我们选择最不符合 其内在鲁棒性的例子。然而,在主动查询之前,我们 无法获得最佳的 σo 水平。这就是为什么我们必须找到 一致性 s(σ)的替代物。

我们定义了分类熵来估计扰动水平的一致性。,对于示例 x,我们首先使用 加性高斯噪声 N(0,σ2I)生成 M 个噪声实例。然后,当 前分类器 F 将预测这 M 个噪声示例的类别。直观地说, 如果 M 个预测高度一致(熵很小),那么这意味着例子 x 有不足的扰动。另一方面,如果 M 个预测不一致(具有 大熵),那么很可能 x 当前接收到过度的扰动,因此其 扰动水平可能需要专家的校正。
假设我们有一个分类器 F 和一个输入 x,在 扰动下被分类为 k 类的概率是
 

如图:

   在上图步骤点7点8里,如何选择最有用的例子,用的是交叉熵来判断:在对样本生成M个噪声实例后,如果这个样本M个预测高度一致(熵很小),那就是有不足的扰动,如果预测高度不一致(熵很大),那就是有过度的扰动,最后选熵最大和最小的两个去交给专家去调节。

如图:分类熵的示意图

实验

在六个数据集上验证,比较方法:随机采样;固定50%高斯噪声扰动;clean-uncertainly:上一个方法的拓展,使用当前扰动水平和干净样本生成M个噪声示例,并选择这些噪声示例预测的平均不确定性最大的示例;作者的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值