Ofuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Exam

Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples

混淆的梯度给人一种虚假的安全感:规避对抗性例子的防御

read

文章介绍了模糊梯度中对三种常见的操作方法:破碎梯度、随机梯度、梯度爆炸/消失的避开方式,用实验证实了模糊梯度的不安全性,告诉人们需要采取其他更安全的方式而不是依赖于模糊梯度作为防御。

破碎梯度:(eg.阶梯状函数,可导部分导数均为0,其余部分不可导)选取一个近似的函数,该函数连续光滑且处处可导,可计算任意一点梯度。

随机梯度:多次计算,求出该梯度的期望值,作为该梯度的近似值。(实验证明,近似值与真实值在神经网络的训练中,效果不会有很大差异)

梯度爆炸/消失:投影梯度下降。使用BPDA近似梯度,通过PixelDefend避开了计算梯度的问题或者使用BPDA构建第二次攻击来逃避防御gan。

概要

1. abstract

我们发现“混淆梯度”(obfuscated gradients)作为一种梯度掩码(gradient masking),会在防御对抗样本中导致一种错误的安全感。虽然造成混淆梯度的防御似乎可以击败基于迭代优化的攻击,但我们发现依赖这种效果的防御可以被规避。我们描述了表现出这种效应的防御特征行为,对于我们发现的三种混淆梯度,我们都开发了攻击技术来克服它。在一个案例中,我们检查了发表在ICLR 2018的论文的未经认证的白盒安全防御,发现混淆梯度是常见的情况,9个防御中有7个依赖于混淆梯度。在每篇论文所考虑的原始威胁模型中,我们的新攻击成功地完全规避了6个,部分规避了1个。

2. introduction

通过混淆梯度,从而增加神经网络的鲁棒性,防御基于迭代优化的攻击。

我们确定了三种类型的模糊梯度:破碎梯度是不存在的或不正确的梯度,无论是通过不可微的操作或无意的数值不稳定性造成的;随机梯度依赖于测试时间的随机性;梯度消失或梯度爆炸现象,在深层神经网络计算中导致不可用的梯度。

我们提出了新的技术来克服这三种现象造成的混淆梯度。我们用一种新的攻击技术来解决梯度破碎问题,我们称之为向后传递可微逼近,我们通过正常计算向前传递来近似导数,并使用函数的可微逼近来计算向后传递。我们通过应用期望转换来计算随机防御的梯度。我们通过重新参数化来解决消失/爆炸梯度,并在梯度不爆炸/消失的空间上进行优化。

破碎梯度随机梯度梯度消失/爆炸
原防御方式反向传播时,梯度变得非常小,
几乎无法在深层网络的前向
和反向传播之间正确传递
依赖于测试时间的随机性梯度趋于0或无穷
攻击技术向后传递可微逼近,通过正常
计算向前传递来近似导数,并使
用函数的可微逼近来计算向后传递
应用期望转换来计算随机防御的梯度重新参数化
3. Preliminaries
(1)数据集&模型

测试是对 CIFAR 10 和 MINST 数据集的整个测试集进行防御,并生成了非目标对抗示例+在ImageNet上,在测试集中评估了1000多个随机选择的图像,用随机选择的目标类构建了有针对性的对抗示例,并报告了攻击成功率和模型准确性

对于MINST ,选用标准模型——五层卷积神经网络,最终达到93%的准确率;对于CIFAR 10,选用残差神经网络(CNN),达到95%准确率;对于ImageNet,使用InceptionV3网络,达到78.0% top-1 和 93.9% top-5的准确率。

对于攻击者而言,生成有针对性的对抗示例较为困难;而对于防御这来说,对于非目标攻击的稳健性更难。

(2)威胁模型

在考虑为白盒设置设计的防御。我们在声称安全的威胁模型下评估每个防御(例如,e = 0.031的有界低失真)。通过违反威胁模型通常很容易找到难以察觉的扰动对抗示例,但通过在原始威胁模型下这样做,我们表明原始评估是不充分的,并且由此得出的安全声明是不正确的。

(3)攻击方式

尽量求δ的最小值,使增加一个微小扰动后,原模型输出的匹配图片x的标签发生错误;或者使模型函数f(x)在变为f(x+δ)后,loss值变得很大。

4. Obfuscated gradients

模糊梯度是一种不完全的防御,但是ICLR 2018的防御方式中,有7种防御依赖这个原理。

(1)破碎梯度

当防御不可微、引入数值不稳定或导致梯度不存在或不正确时,就会产生破碎梯度。通过使用可微操作,导致梯度破碎的防御可以在无意中做到这一点,但遵循梯度不会使全局分类损失最大化。

(2)随机梯度

随机梯度是由随机防御引起的,其中网络本身是随机的,或者输入在被馈送到分类器之前被随机转换,导致梯度变得随机化。这导致使用单个随机样本的方法不正确地估计真实梯度。

(3)梯度爆炸/梯度消失

梯度爆炸和梯度消失通常是由神经网络评估的多次迭代组成的防御引起的,将一次计算的输出作为下一次计算的输入。这种类型的计算,当展开时,可以被视为一个非常深度的神经网络评估,这可能导致梯度消失/爆炸。

当出现以下几种情形时,可能是防御者采用了模糊梯度的防御方式:
(4)一步攻击比迭代攻击表现更好。

在白盒设置中应用的基于迭代优化的攻击严格地比单步攻击强,并且应该提供严格优越的性能。 如果单步方法的性能优于迭代方法,那么迭代攻击可能会在局部最小值的优化搜索中陷入困境。

(5)黑盒攻击比白盒攻击更好。

黑盒威胁模型是白盒威胁模型的严格子集,因此白盒设置中的攻击应该表现更好; 如果防御是混淆梯度,那么黑盒攻击(不使用梯度)通常比白盒攻击更好(Papernot et al,2017)。

(6)无限制的攻击没有达到100%的成功。

由于无界失真,任何分类器都应具有0%的鲁棒性来进行攻击。 如果攻击没有达到100%成功并且具有足够大的失真限制,则表明攻击没有针对防御进行最佳执行,并且应该改进攻击。

(7)随机抽样找到了对抗性样本。

当基于梯度的攻击不能时,某些 ϵ 球内的暴力随机搜索(例如,随机抽样10^5个或更多点)应该找不到对抗性样本。

(8)增加失真限制不会增加成功。

较大的失真界限应该单调增加攻击成功率; 显着增加失真界限应该导致显着更高的攻击成功率。

5. Attack Techniques
(1)向后可微逼近 Backward Pass Differentiable Approximation
① 破碎梯度:BPDA

特例:直通估计量

原有分类器f(·),构造预处理器g(·),使得 ˆf(x) = f (g(x)),且满足g(x) ≈ x。例如,g(·)可以执行图像去噪以消除对抗扰动。如果g(·)是平滑且可微分的,则通过组合网络 ˆf 计算梯度通常足以绕过防御,但g(·)不平滑也不可微分,因此不能反向传播以产生需要梯度信号的白盒攻击的对抗性样本。因为g是用g(x)≈x的性质构造的,所以我们可以将它的导数近似为同一性函数的导数:∇xg(x) ≈ ∇xx = 1。于是有:∇xf (g(x))|x=ˆ x ≈ ∇xf (x)|x=g(ˆ x)。之后可以像往常一样通过神经网络进行前向传播,但是在后向传递中,我们用恒等函数替换g(·)。给了我们真实梯度的近似值,虽然不完美,但是足够有用,当在梯度下降的多次迭代中平均时仍然产生对抗性样本。

推广BPDA

设f(·)= f1…j(·)为神经网络,让 fi(·) 为不可微分(或无用的可微)层。 为了近似 ∇xf(x) ,我们首先找到可微分近似g(x),使得g(x)≈ fi(x) 。 然后,我们可以通过执行前向通过f(·)来近似 ∇xf(x) (特别是计算向前通过 fi(x) ),但是在向后通过时,用g替换 fi(x) 。 请注意,我们仅在向后传递时执行此替换。

(2)攻击随机化分类器 Attacking Randomized Classifiers
② 随机梯度

破解随机梯度,简单来讲就是通过计算期望值,计算很多次,求出其期望值,作为梯度的近似值。

对于对输入采用随机变换的防御,我们应用期望转换(EOT)来正确计算期望转换到输入的梯度。

当攻击首先根据从变换分布T中采样的函数t(·)随机变换其输入的分类器f(·)时,EOT优化对变换 Et∼T∇f(t(x)) 的期望。 优化问题可以通过梯度下降来解决,注意到 ∇Et∼Tf(t(x))=Et∼T∇f(t(x)) ,通过分类器和变换进行微分,并且在每个梯度下降步骤中用样本近似期望值。

(3)重新参数化 Reparameterization
③ 梯度爆炸/梯度消失——重新参数化

我们通过重新参数化解决消失/爆炸梯度。 假设给出了一个分类器f(g(x)),其中g(·)执行一些优化循环以将输入x转换为新的输入ˆx。 通常,这种优化循环意味着对g(·)求导,尽管可能会产生爆炸或消失的梯度。为了解决这个问题,我们为某些函数 h(·) 做出变量x = h(z)变换。 对于所有z,g(h(z))= h(z),但h(·)是可微分的。 例如,如果g(·)以特定方式将样本投影到某些流形,我们可以构造h(z)以仅在流形上返回点。 这允许我们通过f(h(z))计算梯度,从而规避防御。

6. Case Study: ICLR 2018 Defenses
(1)不混淆梯度

对抗训练通过一个概念上简单的过程解决了最小 - 最大博弈训练对抗性的例子,直到模型学会正确地对它们进行分类。这种方法不会导致混淆梯度

级联对抗机器学习(Na et al., 2018)与上述防御密切相关。主要区别在于,作者不是使用迭代方法在每个小批上生成对抗示例,而是训练第一个模型,在该模型上生成对抗示例(使用迭代方法),将它们添加到训练集中,然后在增强数据集上训练第二个模型,只有单步方法才能提高效率。此外,作者构造了一个“统一嵌入”,并强制清洁和对抗性逻辑在某些度量下接近。

(2)破碎梯度
① 温度计编码 THERMOMETER ENCODING

Defense Details

与之前的工作(Szegedy等人,2013)将对抗性示例视为“神经网络中的盲点”相反,Goodfellow等人(2014b)认为,对抗性示例存在的原因是神经网络的行为在很大程度上是线性的。温度计编码的目的是打破这种线性。

LS-PGA仅将没有对抗性训练的温度计编码模型的模型精度降低到50%(以e= 0.031为界)。相比之下,我们在较低的€= 0.015时实现了1%的模型精度(E = 0.031时为0%)。这表明没有可测量的改进,从标准模型,训练没有温度计编码。当我们攻击温度计编码的对抗训练模型4时,我们能够在e = 0.031的情况下对LS-PGA重现80%的精度。然而,我们的攻击将模型精度降低到30%。这明显弱于不使用温度计编码的原始Madry等人(2018)模型。因为这个模型是针对(相对较弱的)LS-PGA攻击进行训练的,所以它无法适应我们上面提到的更强的攻击。

② 输入转换防御的细节 INPUT TRANSFORMATIONS

Guo等人(2018)提出了五种输入变换来对抗对抗性示例。作为基准,作者评估了图像裁剪和重新缩放、位深减小和JPEG压缩。在此基础上提出了两种新的变换方法:(a)随机丢弃像素,并通过总方差最小化来恢复像素;(b)图像拼接:用“干净”图像中的小块替换小块来重建图像,利用重叠边界区域的最小图切去除边缘伪影。作者探索了输入转换的不同组合以及不同的底层ImageNet分类器,包括对抗训练的模型。他们发现,即使使用普通分类器,输入转换也能提供保护。

讨论

作者发现,ResNet-50分类器在最强攻击下为五种建议的输入转换中的每一种提供了不同程度的准确性,标准化l2不相似度为0.01,最强防御实现了超过60%的top-1精度。我们在评估InceptionV3分类器时再现这些结果。作者在白盒攻击中没有成功,认为缺乏对测试时间随机性的访问“对于开发强大的防御尤其重要”(Guo等人,2018)。

评估

可以独立地通过每个防御(并且防御的集合通常不会比最强的子组件强多少(He et al., 2017))。我们绕过图像裁剪和重新缩放与直接应用EOT。为了避免位深减少和JPEG压缩,我们使用BPDA并使用恒等函数近似向后传递。为了避免总方差最小化和图像拼接这两种不可微随机化的问题,我们采用EOT和BPDA通过变换逼近梯度。通过我们的攻击,我们实现了100%的目标攻击成功率,并且在郭等人(2018)考虑的最小扰动预算下,在均方根扰动为0.05(以及郭等人(2018)定义的“归一化”l2扰动为0.01)的情况下,最强防御的准确率降至0%。

③ 局部固有维数 LOCAL INTRINSIC DIMENSIONALITY (LID)

LID是一种通用度量,用于测量从输入到相邻输入的距离。Ma等人(2018)建议使用LID来表征对抗性示例的属性。作者强调,这个分类器不是为了防御对抗性示例6,但是作者认为,它是一种检测对抗性示例的鲁棒方法,这种方法不容易通过尝试自己的自适应攻击来逃避,并显示它失败了。

分析概述

我们没有主动攻击检测方法,而是发现LID无法检测到高置信度的对抗性示例(Carlini & Wagner, 2017a),即使在对手完全无视防御并在原始分类器上生成对抗性示例的不切实际的威胁模型中也是如此。关于这种攻击的完整讨论在补充部分1中给出。

(3)随机梯度
① 随机激活剪枝 STOCHASTIC ACTIVATION PRUNING

防御细节

SAP (Dhillon等人,2018)将随机性引入神经网络的评估中,以防御对抗性示例。SAP随机丢弃每层fi到0的一些神经元,概率与它们的绝对值成正比。也就是说,SAP本质上在每一层应用dropout,而不是以均匀概率丢弃,节点以加权分布丢弃。保留的值按比例增大(如dropout中所做的)以保持准确性。使用SAP会略微降低干净分类的准确率,更高的掉落概率会降低准确率,但会增加鲁棒性。我们研究了不同水平的掉落概率,发现它们会导致相似的鲁棒性数字。

讨论

作者仅通过在梯度方向上采取单一步骤来评估SAP (Dhillon et al., 2018)。同时在梯度方向上走一步在非随机神经网络上可以有效,当使用随机化时,计算相对于随机的一个样本的梯度是无效的。

评估

为了解决这个困难,我们通过计算随机性实例的期望来估计梯度。在梯度下降的每次迭代中,我们不是朝着Vaf(æ)的方向迈出一步,而是朝着Σ=1Vf(x)移动,其中每个调用都是随机化的SAP。我们发现选择k= 10提供了有用的梯度。我们还必须解决计算梯度时的数值不稳定性:这种防御导致计算向后传递,由于除以非常接近0的数字而导致梯度爆炸。使用这些方法,我们能够在e = 0.015时将SAP模型精度降低到9%,在e = 0.031时降低到0%。如果我们认为只有当一个例子在10次中有10次被错误分类时攻击才成功(如果它曾经被分类为正确的标签,则认为它被正确分类),模型精度低于10%,e = 0.031。

② 通过随机化来缓解防御细节 MITIGATING THROUGH RANDOMIZATION

防御细节

Xie等人(2018)提出通过在分类器输入之前添加随机化层来防御对抗性示例。对于接受299 × 299输入的分类器,防御器首先随机将图像重新缩放为ar×r image, re[299, 331],然后随机将图像补零,使结果为331 × 331。然后将输出馈送到分类器。

讨论

作者考虑了三种攻击场景:香草攻击(对原始分类器的攻击),单模式攻击(假设某些固定随机化模式的攻击)和集成模式攻击(对固定随机化模式的小集合的攻击)。作者最强的攻击将InceptionV3模型的精度降低到32.8%的top-1准确率(超过最初正确分类的图像)。作者对更大的随机性选择进行了更强的攻击,并指出这将是“计算上不可能的”(强调我们的),而且这样的攻击“甚至可能不会收敛”(Xie et al., 2018)。

评估

我们发现作者的集合攻击与固定随机化的集合过拟合。我们通过应用EOT绕过这种防御,优化转换的分布(在本例中是离散的)。使用这种攻击,即使我们认为攻击成功,只有当一个例子在10次中被错误分类10次时,我们实现了100%的目标攻击成功率,并将分类器的准确率从32.8%降低到0.0%,最大的loo扰动为ε = 0.031。

(4)梯度爆炸/梯度消失
  • “DEFENSE-GAN”(由Samangouei等人于2018年提出)使用生成对抗网络(Generative Adversarial Network,GAN)来处理样本,将它们投影到生成器的流形上,然后再进行分类。GAN是一种机器学习模型,由Goodfellow等人于2014年提出,包括生成器和判别器,用于生成逼真的数据样本。
  • 这个方法的基本思想与 “PixelDefend” 类似,但 “DEFENSE-GAN” 使用了 GAN 而不是 PixelCNN 来实现。PixelDefend是另一种处理对抗性样本的方法。
  • 作者指出,他们在文中提供了 “DEFENSE-GAN” 的一些总结结果,同时也在附录的第2节中提供了更详细的分析。
  • 作者提到,虽然 “DEFENSE-GAN” 在 CIFAR-10 数据集上不能被确定为安全的方法,但他们在 MNIST 数据集上进行了研究。
  • 结果显示,对抗性样本仍然存在于生成器定义的流形上。作者展示了他们能够构建一个对抗性样本 x’ = G(z),使得 x’ 在外观上接近 x,但分类器 c(x) 和 c(x’) 不相同。这表明,即使采用一个完美的投影器,也无法修改这个对抗性样本 x’,因为它存在于生成器描述的流形上。
  • 文中还提到,虽然攻击一个完美的投影器将会失败,但 DEFENSE-GAN 采用的基于梯度下降的方法并不能完美地保留流形上的点。因此,作者构建了一个第二个攻击,使用 BPDA(Backward Pass Differentiable Approximations)来规避 DEFENSE-GAN,但成功率仅为45%。
① PIXELDEFEND

防御的细节

Song等人(2018)建议使用PixelCNN生成模型将潜在的对抗性示例投影回数据歧管,然后将其输入分类器。作者认为,对抗性示例主要存在于数据分布的低概率区域。PixelDefend通过使用贪婪解码过程在输入图像的一个电子球中近似地找到概率最高的例子,在分类之前“净化”对弈扰动图像。

讨论

作者在CIFAR-10上评估了各种分类器和扰动预算的PixelDefend。在最大最小扰动e = 0.031的情况下,PixelDefend声称准确率为46%(使用vanilla ResNet分类器)。作者排除了对PixelDefend端到端攻击的可能性,因为由于梯度消失和计算成本,很难通过展开版本的PixelDefend进行区分。

评估

我们通过使用BPDA近似梯度,通过展开版本的PixelDefend避开了计算梯度的问题,并且我们成功地使用该技术安装了端到端攻击7。通过这种攻击,我们可以将达到95%准确率的自然训练分类器的准确率降低到9%,最大低扰动= 0.031。我们发现,将对抗性训练(Madry et al., 2018)与PixelDefend相结合,与仅使用对抗性训练的分类器相比,没有提供额外的鲁棒性。

② DEFENSE-GAN

防御GAN

Defense-GAN (Samangouei等人,2018)使用生成式对抗网络(Goodfellow等人,2014a)在对样本进行分类之前将样本投影到生成器的歧管上。也就是说,这种防御背后的直觉几乎与PixelDefend相同,但使用GAN而不是PixelCNN。因此,我们在这里总结结果,并在补充部分2中提供完整的细节。

分析概述

Defense-GAN在CIFAR-10上不被认为是安全的,所以我们使用MNIST。我们发现在由生成器定义的流形上存在对抗性的例子。也就是说,我们证明了我们能够构造一个对抗的例子x’ = G(z),使得x’≈x但c(x) c(x’)。因此,一个完美的投影仪不会修改这个例子x’,因为它存在于由生成器描述的歧管上。然而,虽然这种攻击会击败一个完美的投影仪 将x映射到G(z)上最近的点,Defense-GAN采用的基于梯度下降的不完美方法不能完美地保留流形上的点。因此,我们使用BPDA构建第二次攻击来逃避防御gan,尽管成功率只有45%。

7. disscusion
(1)定义一个现实的威胁模型

不要去预测限制攻击者的算力、方法等。

有些东西可能会在攻击者面前暴露出来,但是防御者却没有察觉(或没有权限?),包括模型架构和模型权重;训练算法和训练数据;测试时间随机性(选择的值或分布);并且,如果模型权重是保密的,是否允许查询访问(如果允许,输出的类型,例如logits或仅顶标签)。

虽然防御的某些方面可能是保密的,但威胁模型不应该包含不现实的约束。我们认为,任何引人注目的威胁模型至少应该授予模型体系结构、训练算法的知识,并允许查询访问。

没有意义限制对方的算力。

(2)做准确的、可测试的声明

声明要清晰,包含所有条件。eg:“当攻击者拥有完整的白盒访问权限时,当e=0.031的低失真范围内,我们实现了90%的准确率。”

可测试:公开论文&源代码。

(3)评估自适应性攻击

评估自适应攻击强大的防御不仅对现有攻击具有鲁棒性,而且对指定威胁模型内的未来攻击也具有鲁棒性。因此,任何防御建议的必要组成部分都是对适应性攻击的尝试。自适应攻击是在完全指定防御之后构建的攻击,攻击者利用防御的知识,只受威胁模型的限制。一种有用的攻击方法是执行许多攻击,并报告每个图像的最佳攻击的平均值。如果在评估后对防御进行了修改,则自适应攻击是考虑到新防御的知识的攻击。通过这种方式,用最终的自适应攻击来结束评估可以看作是类似于在测试数据上评估模型。

8. conclusion

使用该攻击方式,可以识破这三种类型的模糊梯度,攻破九种模型中的七种。希望以后可以减少对模糊梯度的依赖性来增强安全性。

答疑笔记

1. 对抗样本(Adversarial Examples)

对抗样本是一种通过对原始数据进行微小、故意的、难以察觉的扰动,使其被深度学习模型误分类的数据样本。这种扰动通常不应该影响人类的识别,但它可以迷惑机器学习模型,导致模型产生错误的输出。对抗样本的研究是为了探讨神经网络的脆弱性,以改进模型的鲁棒性。

2. 训练对抗模型
概括

内层:让出错 训练样本
外层:让正确 模型参数

(1)内层训练(inner training)
  • 生成对抗样本 :在内层训练中,首先要生成对抗样本。这是通过向原始训练样本添加微小扰动来实现的。通常使用对抗生成网络(Generative Adversarial Networks,GANs)或其他技术来生成这些扰动,以使其难以察觉。
  • 调整模型参数 :生成对抗样本后,将这些对抗样本与原始训练数据一起使用,重新训练模型。在这一步,优化模型参数的目标是尽量减小对抗样本的损失。这会导致模型更难以被对抗样本攻击,因为模型在内层训练中已经学会了对抗样本的特征。
  • 重复迭代 :内层训练通常需要多次迭代。在每次迭代中,生成新的对抗样本,然后用它们来进一步调整模型参数。这有助于提高模型的鲁棒性,使其更难以受到对抗样本的影响。
(2)外层训练(outer training)
  • 正常数据训练 :在外层训练中,使用正常的训练数据(没有对抗样本),训练模型以最小化正常数据的损失。这是为了确保模型在处理正常数据时保持高准确性。
  • 监控对抗样本性能 :在外层训练中,还会监测模型对对抗样本的性能。虽然内层训练目标是提高对抗样本的鲁棒性,但外层训练仍然需要确保模型对正常数据的性能不受太大影响。
  • 平衡内外层训练 :训练的过程需要平衡内层训练和外层训练,以确保模型既能抵御对抗样本的攻击,又能在正常数据上表现良好。
3. lp范数

LP范数是用来度量向量的范数(或者叫做规范)的一种数学概念。LP范数的一般形式如下:

对于一个n维向量x = [x1, x2, …, xn],LP范数的定义如下:

||x||_p = (|x1|^p + |x2|^p + … + |xn|p)(1/p)

这里,||x||_p 表示LP范数,p 是一个实数参数。

不同的p值会导致不同的范数,常见的包括:

  1. L1范数 (p = 1):也称为曼哈顿范数,它是向量中所有元素绝对值的和。
    ||x||_1 = |x1| + |x2| + … + |xn|
  2. L2范数 (p = 2):也称为欧几里德范数,它是向量元素绝对值的平方和再开平方根。
    ||x||_2 = sqrt(x1^2 + x2^2 + … + xn^2)
  3. L∞范数 (p = ∞):也称为最大范数,它是向量中绝对值最大的元素。
    ||x||_∞ = max(|x1|, |x2|, …, |xn|)

LP范数在数学和工程中广泛使用,用于衡量向量的不同特征。不同的范数可以用于不同的应用,例如:

  • L1范数常用于特征选择,稀疏建模等,因为它鼓励向量中的某些元素为零,从而实现特征选择。
  • L2范数常用于最小二乘法问题,如线性回归,以及在机器学习中的正则化。
  • L∞范数通常用于处理离群值,因为它关注向量中的最大绝对值元素。
0范数

0范数(Zero Norm)实际上不是一个标准的范数,因为它并不是用来度量向量元素大小的。0范数通常被用来表示非零元素的数量,也就是向量中非零元素的个数。具体来说,0范数为一个向量定义如下:

||x||_0 = the number of non-zero elements in vector x

在这种情况下,0范数用于计算向量中非零元素的个数,而不关注这些非零元素的数值大小。因此,0范数用于描述向量的“稀疏性”,即向量中非零元素的分布情况。

在机器学习和信号处理中,0范数常常用于稀疏信号建模和特征选择。例如,L1范数正则化通常被用来鼓励模型选择更少的特征,因为L1正则项可以被看作是对模型参数的0范数的近似。如果0范数较大,表示模型或信号较为稀疏,只包含少数非零元素。

需要注意的是,0范数并不是一个凸范数,因为它不满足三角不等式。因此,在优化问题中通常使用L1范数(Lasso正则化)来近似0范数,因为L1范数是凸的,并且可用于推动模型或信号的稀疏性。

4. 神经网络特征

近似线性、可加性、可乘

  • 非线性性 :神经网络的非线性性是由于它的激活函数引入的。每个神经元通常具有一个非线性激活函数,如Sigmoid、ReLU(Rectified Linear Unit)、Tanh等。这些激活函数引入了非线性变换,使得神经网络能够捕捉数据中的非线性关系。线性模型只包括线性变换,无法表示复杂的非线性关系。
  • 可加性 :神经网络是可加性的,这意味着它可以将多个神经元的输出相加在一起,形成更复杂的函数。这在深度神经网络中特别有用,因为每一层都可以将前一层的输出进行线性组合和非线性转换,从而逐渐建立复杂的特征表示。
  • 可乘性 :可乘性通常不是神经网络的主要特性。在神经网络中,多数操作是可加的,而不是可乘的。可乘性更常见于其他领域,如概率论中的概率分布。在神经网络中,可乘性通常涉及到一些特殊的层,如某些循环神经网络(RNN)中的门控机制(如LSTM和GRU中的门控单元)。
5. box优化问题

Box优化问题是一种约束最优化问题,其中目标是找到一个满足特定约束的变量向量,使目标函数的值最大或最小化。这种问题通常以以下形式表达:

$$

$$

最小化/最大化 f ( x ) 在约束条件下,其中 x ∈ R n g i ( x ) ≤ b i , i = 1 , 2 , … , m a j ≤ x j ≤ b j , j = 1 , 2 , … , n \begin{align*} \text{最小化/最大化} \quad & f(x) \\ \text{在约束条件下,其中} \quad & x \in \mathbb{R}^n \\ & g_i(x) \leq b_i, \quad i = 1, 2, \ldots, m \\ & a_j \leq x_j \leq b_j, \quad j = 1, 2, \ldots, n \end{align*} 最小化/最大化在约束条件下,其中f(x)xRngi(x)bi,i=1,2,,majxjbj,j=1,2,,n

其中, f ( x ) f(x) f(x) 是要最小化或最大化的目标函数, x x x 是一个 n n n 维变量向量, g i ( x ) g_i(x) gi(x) 是约束函数, b i b_i bi 是约束的上界, a j a_j aj b j b_j bj x x x 各个分量的下界和上界。Box限制通常是指 x j x_j xj的值必须在给定的范围 [ a j , b j ] [a_j, b_j] [aj,bj] 内。

Box优化问题的解决涉及到寻找一个满足所有约束条件的 x x x,使得目标函数 f ( x ) f(x) f(x) 达到最小或最大值。解决这类问题通常需要使用优化算法,如梯度下降、牛顿法、拟牛顿法或者进化算法等。这些算法的目标是搜索最优解空间,以找到满足约束条件的解,并在目标函数上取得极小值或极大值。

概念

1. 混淆梯度(obfuscated gradients)

是指在深度学习和神经网络领域中的一种现象,其中梯度信息被人为地混淆、隐藏或干扰,以使攻击者难以理解和利用这些梯度信息。梯度通常用于训练神经网络和优化模型参数,但当梯度信息难以解释或阅读时,它们可以增加模型的安全性,防止恶意攻击。

  • 混淆梯度:为了防止模型受到逆向工程、对抗性攻击或模型泄漏的风险,研究人员可以采用各种技术,混淆梯度信息,使其难以理解。这可以通过添加噪声、使用差分隐私技术、引入伪梯度等方式来实现。
  • 对抗性攻击:深度学习模型容易受到对抗性攻击,攻击者可能会通过微小的、有意设计的扰动来欺骗模型。混淆梯度可以使攻击者难以计算出对抗性扰动,从而增加了模型的鲁棒性。
  • 模型安全性:混淆梯度有助于提高模型的安全性,特别是在需要保护知识产权或防止模型泄露的情况下。通过混淆梯度,模型的内部信息不会轻易暴露给第三方。
  • 损失性能权衡:尽管混淆梯度可以增加模型的安全性,但它可能会对模型的训练和性能产生一定的负面影响。因此,需要权衡模型的性能和安全性之间的损失。
2. 迭代优化攻击(iterative optimizationbased attacks)

terative optimization-based
attacks(迭代优化攻击)是一种针对机器学习模型的攻击方法,攻击者通过反复调整输入数据以欺骗模型。这些攻击的目标是使机器学习模型在对输入进行预测或分类时产生错误的结果或误导模型。这种攻击方法通常用于对抗性机器学习研究,其中攻击者试图找到一些对模型的输入数据进行微小修改,以使模型做出错误的预测。

以下是关于迭代优化攻击的主要特点和工作原理:

  • 迭代性质:这种攻击通常是迭代的,攻击者通过多次微小修改输入数据,以达到最终的攻击目标。每次迭代都旨在找到对模型产生最大误差或混淆的修改。
  • 优化技术:攻击者通常使用优化技术,如梯度下降、遗传算法或进化策略,来搜索最佳的修改方案,以欺骗目标模型。这些技术帮助攻击者在每次迭代中调整输入数据以最大程度地改变模型的输出。
  • 目标定制:攻击可以是目标定制的,也可以是非目标定制的。目标定制攻击旨在特定地使模型产生特定的错误结果,而非目标定制攻击只旨在干扰模型的性能而不考虑具体的输出。
  • 防御机制:为了对抗迭代优化攻击,研究人员和开发者通常采取一系列防御措施,如对输入数据进行预处理、添加噪声、使用对抗性训练等。这些防御措施旨在增加模型的鲁棒性,使其更难受到迭代优化攻击的影响。
  • 对抗性机器学习研究:迭代优化攻击是对抗性机器学习研究的一部分,该研究领域旨在研究机器学习模型的脆弱性和提供防御机制来增加模型的安全性。
3. 对抗性实例(adversarial examples):

Adversarial examples(对抗性示例)是指针对机器学习模型的输入数据进行微小但有意设计的修改,以引起模型产生错误的输出。这些修改通常是不可察觉的,人类眼睛难以察觉,但对模型的预测结果产生显著影响。对抗性示例是一种对抗性机器学习研究的主题,旨在揭示模型的脆弱性,同时提供更强大的模型和防御策略。

以下是有关对抗性示例的主要特点和工作原理:

  • 微小扰动:对抗性示例通常通过在原始输入数据中添加微小的噪声或扰动来创建。这些扰动通常是不可察觉的,但足以误导模型。
  • 攻击目的:对抗性示例的目的可以是目标定制的(攻击者希望模型产生特定错误结果)或非目标定制的(攻击者只是试图干扰模型的性能,而不关心具体的输出)。
  • 脆弱性揭示:对抗性示例揭示了机器学习模型的脆弱性,即使对于原始输入数据的微小变化,模型的输出结果也会发生显著变化。
  • 领域广泛:对抗性示例不仅适用于图像识别领域,还可以应用于语音识别、自然语言处理和其他机器学习任务。
  • 防御策略:对抗性示例研究也包括开发防御策略,以增加模型的鲁棒性。这包括对输入数据进行预处理、对抗性训练、剪枝和滤波技术等,以减轻对抗性示例的影响。
  • 实际应用:对抗性示例的研究不仅对学术界有重要意义,还对实际应用中的机器学习系统具有重要影响,如自动驾驶汽车、安全监控系统等。攻击者可以利用对抗性示例来欺骗这些系统。

总之,对抗性示例是一种有意设计的输入数据变化,旨在揭示机器学习模型的脆弱性,以及提供方法来改进模型的鲁棒性。这种现象引发了广泛的研究,以改进机器学习模型的安全性,防止对抗性示例对模型性能产生负面影响。

4. 破碎梯度(shattered gradients):

“Shattered gradients” 是深度学习中的一个现象,通常与深度神经网络中的梯度消失问题相关。这个问题在深层神经网络中出现,特别是在递归神经网络(Recurrent NeuralNetworks,RNNs)等架构中。Shattered gradients意味着在网络的反向传播过程中,梯度信息变得非常小,几乎无法在深层网络的前向和反向传播之间正确传递。这可能导致训练过程变得非常困难,或者甚至根本无法成功进行。

以下是有关 shattered gradients 的一些关键特点:

  • 梯度消失:Shattered gradients 是梯度消失问题的一种表现形式。在深层网络中,梯度信息可能会在反向传播过程中不断减小,最终变得非常接近零,从而导致权重参数无法正确更新。
  • 递归网络:Shattered gradients 在递归神经网络(如长短时记忆网络或GRU)中尤为常见,因为这些网络具有时间依赖性,信息需要在多个时间步之间传递,而梯度信息容易在这个过程中消失。
  • 解决方法:为了解决 shattered gradients 问题,通常采用一些技术,如梯度裁剪(gradient clipping)、使用不同的激活函数、权重初始化策略、使用门控机制(如LSTM或GRU)等。这些方法有助于确保梯度信息能够在反向传播中更好地传递。
  • 注意力机制:引入注意力机制也可以帮助缓解
    shattered gradients 问题。这使模型更关注重要的信息,从而减轻梯度消失的影响。
  • 深度网络:深度神经网络通常更容易受到
    shattered gradients 的影响,因为它们包含多个层次和复杂的非线性变换。因此,深度网络的训练可能需要更多的小心和技巧。

总之,shattered gradients是深度学习中的一个问题,表现为梯度信息在深层网络中逐渐减小,导致训练过程异常困难。通过使用合适的技术和策略,可以帮助缓解这一问题,确保梯度信息能够有效传递,从而更好地训练深层神经网络。

5. 随机梯度(stochastic gradients):

随机梯度(Stochastic Gradients),通常缩写为 SGD,是深度学习和机器学习中的一种优化算法,用于训练模型,尤其在大规模数据集上非常有效。SGD的核心思想是使用随机性的方式来估计和更新模型参数的梯度,以最小化损失函数。

以下是关于随机梯度的一些关键特点和工作原理:

  • 梯度下降的随机版本 :SGD是梯度下降算法的随机版本。在传统的梯度下降中,每次迭代都会使用完整的训练数据集来计算损失函数的梯度,而在SGD中,每次迭代只使用一个或一小批(mini-batch)的样本来估计梯度。
  • 随机性 :SGD的随机性表现在样本的选择上。每次迭代,SGD会随机选择一个样本或一小批样本,并计算这些样本的损失函数梯度,然后使用这个估计来更新模型参数。这个随机性有助于跳出局部极小值,更快地收敛到全局最小值。
  • 高效性 :SGD通常在大规模数据集上更加高效,因为它不需要遍历整个数据集来计算梯度,而是通过使用一小批样本的估计值来更新参数。这使得SGD成为深度学习领域的首选优化算法之一。
  • 学习率 :SGD的性能受到学习率的影响,学习率决定了每次参数更新的步长。通常,学习率是一个重要的超参数,需要经过调整和优化。
  • 随机性带来挑战 :虽然SGD的随机性有助于避免陷入局部最小值,但它也带来了一定的挑战。学习率的选择和调整可能需要谨慎,因为不稳定的学习率可能导致训练过程震荡或不收敛。
6. 白盒防御(White-Box Defense):

白盒防御是一种广泛深入的安全评估方法,它基于对系统或应用程序的内部结构和实现细节的详尽了解。
这种方法需要有关系统的源代码、设计文档和体系结构的全面信息。白盒防御的主要目标是发现和修复潜在的漏洞、弱点和安全风险。
它允许进行深度静态代码分析、代码审查、漏洞扫描和全面的渗透测试等,以确保系统在攻击尝试下表现良好。

7. 灰盒防御(Gray-Box Defense):

灰盒防御介于白盒和黑盒之间,它在一定程度上了解系统的内部结构,但不需要深入到源代码和实现细节。
它通常基于一些高级文档、系统架构图或有关系统的某些信息,但不提供完整的源代码访问权。
灰盒防御的目标是评估系统的安全性,识别可能的漏洞和攻击面,但相对于白盒方法来说,了解不够深入。

8. 黑盒防御(Black-Box Defense):

黑盒防御是一种基于外部视图的安全评估方法,它不依赖于对系统内部结构的了解。
它模拟了攻击者的角度,试图在没有关于系统内部工作原理的详细信息的情况下,寻找和利用漏洞。
黑盒防御通常包括渗透测试和漏洞扫描,以模拟外部恶意攻击,评估系统对未知攻击的抵御能力。

9. 失真度量(distortion metrics):

Distortion metrics(失真度度量)是用于评估信号或数据处理中的变换或处理引入的失真程度的方法。这些指标通常用于比较原始信号或数据与经过处理或传输后的信号或数据之间的差异,以确定失真水平。失真度量在多个领域中都有应用,包括图像处理、音频处理、视频压缩、通信系统等。

以下是有关失真度量的一些关键概念:

  1. 失真 :失真是指原始信号或数据与经过某种变换或处理后的信号或数据之间的差异。这种差异可能包括信号的变形、信息的损失、噪声的引入等。
  2. 失真度量的类型 :失真度量可以是多种类型,具体取决于应用领域和处理过程。例如,在图像处理中,失真度量可以包括结构相似性指数(Structural Similarity Index,SSIM)、均方误差(Mean Squared Error,MSE)、峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)等。
  3. 评估性能 :失真度量用于评估不同信号或数据处理算法的性能。它们提供了一种量化的方式来比较处理前后的信号质量,以确定处理过程引入的失真程度。
  4. 优化 :在某些应用中,失真度量也可以用于优化算法的参数选择或优化过程。例如,在图像压缩中,可以通过调整压缩参数以最小化失真来获得更高的压缩质量。
  5. 主观 vs. 客观 :失真度量可以分为主观和客观两类。主观失真度量是基于人类主观感受的评估,通常需要人类观察者来判断处理后的信号质量。客观失真度量则是基于数学模型和算法来量化失真。
10. 残差神经网络(wide ResNet):

Wide ResNet(宽度残差网络)是深度学习中的卷积神经网络(Convolutional Neural Network,CNN)架构之一,它是对传统的深度残差网络(ResNet)的扩展。Wide ResNet 的主要特点是增加网络宽度,即增加每个卷积层的通道数,以增强模型的表示能力。

以下是 Wide ResNet 的主要特点和工作原理:

  • 深度残差结构 :Wide ResNet 基于深度残差网络(ResNet)的结构。深度残差网络采用了残差块,通过跨层连接(跳跃连接)允许信息直接从一个层传递到另一个层。这有助于克服梯度消失问题,使网络更易于训练。
  • 增加网络宽度 :Wide ResNet 通过增加每个卷积层中的滤波器(通道数)数量来增加网络的宽度。这使得网络能够捕获更多的特征和信息,从而提高了网络的表示能力。
  • 参数效率 :与增加网络深度相比,增加网络宽度通常更加参数效率。宽度的增加允许网络在不增加太多参数的情况下获得类似或更好的性能。
  • 批标准化 :Wide ResNet 通常采用批标准化(Batch Normalization)来加速训练和提高模型的鲁棒性。批标准化有助于减小梯度消失问题,使网络更容易优化。
  • 宽度因子 :Wide ResNet 中的一个超参数是宽度因子(width factor),该因子控制每个卷积层的通道数量的增加幅度。较大的宽度因子会导致更宽的网络,提高表示能力,但也增加了计算成本。
11. 投影梯度下降(Projected Gradient Descent):

和普通的梯度下降相比,投影梯度下降多了一些限制条件。当下降时超越了限制条件,则抹去多余的那一部分。

Projected Gradient Descent(投影梯度下降)是一种优化算法,通常用于求解受约束条件下的优化问题。这个算法结合了梯度下降和投影操作,用于在优化过程中保持参数在指定约束范围内。

以下是 Projected Gradient Descent 的工作原理:

  • 梯度下降 :像标准的梯度下降一样,PGD 首先计算损失函数关于参数的梯度。这个梯度告诉算法应该如何调整参数以降低损失函数的值。
  • 参数更新 :PGD 使用计算出的梯度来更新参数,就像标准的梯度下降一样。参数更新规则通常是参数 = 参数 - 学习率 * 梯度。
  • 投影操作 :在参数更新之后,PGD执行投影操作,将参数投影回受约束条件允许的空间。这是 PGD 与标准的梯度下降不同之处。投影操作确保参数始终满足约束条件。
  • 重复迭代 :PGD 循环执行上述步骤,直到达到一定的停止条件,例如达到最大迭代次数或损失函数收敛到某个特定值。
12. 概念区分(混淆梯度&遮蔽梯度)

混淆梯度,我们将其定义为梯度掩蔽的特殊情况

(1) Obfuscated Gradients(混淆梯度)

  • 含义 :Obfuscated gradients 意味着在深度学习模型中,梯度信息被人为地混淆、隐藏或干扰,以使攻击者难以理解和利用这些梯度信息。
  • 应用 :这种方法旨在增强模型的安全性,防止恶意攻击者使用模型的梯度信息来实施对抗性攻击或泄漏模型的敏感信息。Obfuscated gradients 的应用领域包括对抗性机器学习和模型保护。

(2) Masked Gradients(遮蔽梯度)

  • 含义 :Masked gradients 指的是将模型的梯度信息部分遮蔽或屏蔽,以限制攻击者对模型的敏感信息的访问。这可以通过在梯度信息中引入噪声或遮蔽某些梯度部分来实现。
  • 应用 :Masked gradients 主要用于对抗性机器学习中,以减少攻击者对模型的逆向工程和对抗性攻击的成功率。它们有助于提高模型的鲁棒性,使攻击者更难以利用梯度信息来破坏模型的性能。

助缓解这一问题,确保梯度信息能够有效传递,从而更好地训练深层神经网络。

13. 直通估计量(straight-through estimator)

“Straight-Through Estimator” 是一种用于训练深度学习模型的技术,特别是在包含离散梯度的神经网络中。这个方法的主要目标是允许通过网络的离散操作,同时保持可微性,以便进行梯度反向传播,从而使整个网络可以端到端地进行训练。

以下是关于 Straight-Through Estimator 的解释:

(1)离散操作和可微性 :在深度学习中,许多任务需要处理离散数据,如文本分类中的单词选择。然而,传统的离散操作通常不是可微的,这导致了梯度无法传播,使模型无法进行端到端的训练。

(2)Straight-Through Estimator :Straight-Through Estimator 提出了一种方法,以允许通过离散操作的信息流,同时保持可微性。它的基本思想是在前向传播中应用离散操作,但在反向传播时使用连续的梯度,就好像没有进行离散操作一样。这个方法被称为“直通估计”是因为它允许梯度“直通”或“穿过”离散操作。

(3)实现方法 :通常,实现 Straight-Through Estimator 的方式是在前向传播中执行离散操作,但在反向传播时,将梯度设置为连续操作的梯度。这通常需要使用 STE 或 Gumbel-Softmax 等技术来近似离散操作的梯度。

(4)应用领域 :Straight-Through Estimator 在训练包含离散操作的神经网络中非常有用,如生成对抗网络(GAN)、自动编码器、强化学习中的策略网络等。它允许将这些网络整合到端到端的训练过程中,从而更容易地学习任务,如文本生成、离散决策等。

14. 期望转换(Expectation over Transformation (EOT))
  • 随机变换的防御 :在深度学习中,为了增强模型的鲁棒性和抵御对抗性攻击,可以对输入数据进行随机变换。这些随机变换可以包括旋转、缩放、添加噪声等,以使模型更难受到对抗性攻击。
  • 期望转换(Expected Transformation) :期望转换是指考虑输入数据经过随机变换后的期望效果。在这种情况下,EOT 用于确定在随机性变换后对模型的输入数据进行了何种期望转换。这允许模型在处理具有随机性的输入数据时更准确地计算梯度,以便在训练和推理中更好地处理这些随机性。
  • 梯度计算 :文本中提到使用 EOT 来正确计算期望转换到输入的梯度。这意味着在应用随机性变换后,可以使用 EOT 来估计梯度的期望值,以便在训练和优化期间更好地引导模型的参数更新。

综上所述,这段文本讨论了一种在对抗性防御中使用期望转换(EOT)来处理随机性输入变换的方法,以更准确地计算梯度并提高模型的鲁棒性。这种方法旨在考虑随机性和不确定性,以便更好地处理复杂的输入数据。

15. ε-ball

在神经网络和机器学习领域,“ε-ball” 通常指的是一个以某个数据点为中心、半径为 ε 的球形区域。这个概念常常与神经网络的鲁棒性和对抗性攻击有关。

具体来说,当我们谈论 “ε-ball” 时,通常有以下含义:

  • 中心点 :ε-ball 的中心通常是某个数据点,可以是模型输入的一个样本或隐藏层的激活。
  • 半径 ε :ε 表示球形区域的半径,它决定了 ε-ball 的大小。较小的 ε 表示一个更小的球形区域,而较大的 ε 表示一个更大的球形区域。
  • 鲁棒性 :ε-ball 经常用于衡量模型的鲁棒性。在鲁棒性评估中,研究人员可能会检查模型对于输入数据中的微小扰动(在 ε-ball 内的变化)的响应,以了解模型是否能够在输入稍微变化的情况下仍然保持准确性。
  • 对抗性攻击 :在对抗性机器学习中,ε-ball 也用于定义一种对抗性样本的生成方法。攻击者试图找到在 ε-ball 内的输入扰动,以欺骗模型并导致错误分类。
16. 级联对抗性训练(Cascade Adversarial Training)

“Cascade Adversarial Training”(级联对抗性训练)是一种用于增强神经网络模型鲁棒性的方法,特别是针对对抗性攻击的一种技术。这个方法旨在让神经网络更难以被对抗性攻击欺骗。

下面是级联对抗性训练的工作原理:

  • 基本模型 :首先,你有一个基本的神经网络模型,这个模型用于执行你的任务,比如图像分类或语音识别。
  • 级联模型 :接下来,你创建一个级联模型,这个模型会与基本模型一起工作。级联模型的目标是检测对抗性样本。
  • 对抗性样本生成 :你生成对抗性样本,这些样本经过微小的修改,足以欺骗基本模型,使其产生错误的预测。这些对抗性样本被用来训练级联模型。
  • 级联训练 :接下来,你使用对抗性样本来训练级联模型。级联模型的任务是检测基本模型的输出是否受到对抗性攻击,即检测基本模型是否被误导。
  • 反馈训练 :在训练过程中,级联模型的输出会提供反馈信息。如果级联模型认为基本模型输出的结果可能是对抗性攻击,那么你可以采取相应的行动,例如拒绝该结果或者进一步验证输入。

通过级联对抗性训练,基本模型得到了额外的防御,因为级联模型帮助检测对抗性攻击。这使得对抗性攻击者更难以欺骗基本模型。这是一种提高神经网络模型鲁棒性的技术,尤其在面对对抗性攻击的情况下非常有用。

17. 温度计编码

温度计编码(Thermometer Encoding)是一种编码方法,通常用于将一个数字或数值范围编码成一组二进制位。它得名于温度计,因为它的工作原理类似于读取温度的过程。

温度计编码的特点如下:

  • 编码方式 :在温度计编码中,二进制编码从左到右依次增加,就像温度计上的水银柱逐渐上升一样。每一位都代表一个数值范围,并且逐渐增加。例如,对于一个 8 位的温度计编码,最左边的位代表最大的数值范围,最右边的位代表最小的数值范围。
  • 编码示例 :假设我们有一个 4 位的温度计编码,要表示数字 3,它的二进制编码将是 “1110”。这表示最大的数值范围 “11” 包含了数字 3,而较小的数值范围 “10”、“01” 和 “00” 不包含 3。
  • 用途 :温度计编码常用于硬件设计中,特别是在数字电路和集成电路中,用于表示数字信号。它可以用于数据转换、比较操作等。
  • 优点 :与一般的二进制编码相比,温度计编码具有一些优点,例如它的误差容忍度较高,更容易处理不确定性。

总之,温度计编码是一种将数字值编码成二进制表示的方法,其特点是按照递增的方式表示数字范围,类似于读取温度的方式。这种编码在某些特定的应用中非常有用。

18. 局部内在维度(LOCAL INTRINSIC DIMENSIONALITY)
  • 数据点的周围区域 :对于给定数据集中的每个数据点,局部内在维度考虑了该点周围的邻域或区域。这个邻域通常通过一些距离度量来定义,例如半径内的数据点。
  • 维度的定义 :维度是指数据点周围的邻域在某个空间中的维度。维度可以是整数,例如 1. 2. 3,也可以是分数,表示局部数据结构的复杂性。
  • 用途 :局部内在维度有助于我们理解数据集的局部结构。不同的数据点可能存在于具有不同维度的局部区域。这对于降维和聚类等数据分析任务非常重要,因为我们可以根据局部内在维度来调整分析方法以更好地捕捉数据的结构。
  • 与全局维度的对比 :与全局维度(数据集整体的维度)不同,局部内在维度关注的是数据集中每个点周围的小区域。因此,它可以揭示数据集中的多样性和异质性。
  • 降维方法 :在降维方法中,局部内在维度信息可以用来决定在不同区域使用不同的降维方法,以更好地保留局部结构。

GAN是一种生成模型,PixelDefend是一种对抗性样本防御技术

19. PixelDefend
  • 对抗性攻击的挑战 :在深度学习中,神经网络模型容易受到对抗性攻击的影响,这些攻击是有意制造的扰动,旨在欺骗模型并使其做出错误的预测。这对于诸如图像分类和语音识别等任务尤其具有挑战性。
  • PixelDefend 的原理 :PixelDefend 提出了一种防御方法,它通过对输入数据进行变换,以增加神经网络对对抗性攻击的鲁棒性。具体来说,PixelDefend通过添加噪音或对输入数据进行变换,使攻击者的扰动更难以影响模型的输出。
  • 噪音注入 :PixelDefend的一种常见方法是向输入数据中添加噪音,这种噪音通常是随机的,或者是通过某种规则生成的。这样的噪音使得攻击者难以找到有效的对抗性扰动,因为它们可能会被噪音掩盖。
  • 增强鲁棒性 :PixelDefend的目标是增强神经网络的鲁棒性,使其能够在面对各种类型的对抗性攻击时保持高效性。这种技术有助于减少攻击的成功率,使模型更难以被欺骗。
  • 综合防御 :PixelDefend通常与其他对抗性防御技术结合使用,以提供更全面的防御机制。这可以包括使用对抗性训练、梯度-masking 和输入预处理等方法。
20. Defense-GAN
  • 对抗性攻击的挑战 :在深度学习中,神经网络模型容易受到对抗性攻击的影响,这些攻击是有意制造的扰动,旨在欺骗模型并使其做出错误的预测。这对于图像分类、文本分类和语音识别等任务尤其具有挑战性。
  • Defense-GAN 的原理 :Defense-GAN 借鉴了生成对抗网络(GAN)的思想,其中包括生成器和判别器两个网络。在 Defense-GAN 中,生成器负责对输入数据进行微小的修复或扰动,以使其对对抗性攻击更加鲁棒。判别器则用于评估修复后的图像是否与原始图像相同。修复后的图像将输入到深度学习模型进行预测。
  • 增强鲁棒性 :Defense-GAN 的目标是增强神经网络的鲁棒性,使其能够在面对各种类型的对抗性攻击时保持高效性。生成器的作用是识别和修复攻击者添加的对抗性扰动,从而使模型更难以被欺骗。
  • 训练方式 :Defense-GAN 需要经过训练,生成器和判别器通过对大量对抗性攻击样本的修复和判别进行学习。生成器学会如何修复对抗性扰动,而判别器则学会评估修复后的图像是否能够恢复原始信息。
  • 综合防御 :Defense-GAN通常与其他对抗性防御技术结合使用,以提供更全面的防御机制。这可以包括使用对抗性训练、梯度掩盖、输入预处理等方法。
21. GAN

生成对抗网络(Generative Adversarial Network,GAN)是一种深度学习模型,由Ian Goodfellow和他的同事于2014年首次提出。GAN的核心思想是通过博弈论的概念,在两个神经网络之间建立博弈,一个网络生成数据,另一个网络评估数据的真实性。GAN的设计灵感来自于对抗性博弈,其中两个对手,生成器和判别器,相互竞争,不断提高性能,从而产生逼真的数据。

GAN包括以下两个主要组件:

  1. 生成器(Generator)
  • 生成器负责生成伪造的数据样本,例如图像、音频或文本。它接受随机噪声或其他输入,然后尝试生成与真实数据样本相似的数据。
    • 生成器通常是一个深度神经网络,通常使用卷积神经网络(CNN)或全连接神经网络来进行图像生成。
    • 初始阶段,生成器的输出通常是噪声,但随着训练的进行,它逐渐生成更逼真的数据。
  1. 判别器(Discriminator)

    • 判别器负责评估数据样本的真实性。它接受真实数据样本和生成器生成的伪造数据,并尝试将它们区分开来。
    • 判别器也是一个深度神经网络,它学会了对数据进行分类,判别哪些是真实数据,哪些是伪造数据。
    • 判别器的目标是最大化正确分类的概率,而生成器的目标是最大化被误分类的概率。

GAN的训练过程是一个博弈过程,其中生成器和判别器相互对抗。训练的过程可以简要描述如下:

  1. 随机生成一些噪声或其他输入,通过生成器生成伪造数据。
  2. 将伪造数据和真实数据一起提供给判别器,判别器尝试区分哪些是真实的,哪些是伪造的。
  3. 根据判别器的输出,生成器尝试生成更逼真的伪造数据。
  4. 这个过程不断迭代,直到生成器生成的伪造数据足够逼真,判别器无法区分真伪为止。

GAN的训练可以导致生成器生成高质量的数据样本,因此它在图像生成、风格迁移、图像超分辨率、语音合成等任务中取得了显著的成功。它也是生成对抗网络领域的重要突破,激发了许多后续研究。

阅读时间

  1. 10.17 下午 约3h ——abstract、 introduction 、preliminaries 、conclusion
  2. 10.18 晚 约3h —— Obfuscated gradients、Attack Techniques、disscusion
  3. 10.19晚 约3h —— Case Study: ICLR 2018 Defenses (略读)
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值