分享

对抗机器学习的博弈论方法

 天承办公室 2020-05-04

对抗机器学习的博弈论方法

近年来,人工智能获得了巨大的成功,因为它为我们提供了强大的算法,这些算法使我们可以利用大型数据库进行准确的预测或分类。 它们被越来越多地用于不同的目的,包括高风险目的。但是,它们并非绝对可靠。

实际上,这些算法中的大多数都是针对数据进行训练的,这些数据可以被有意操纵的对手误导,使其产生错误。

让我们举一个简单的例子:电子邮件垃圾邮件检测。一开始,标准的分类器(如朴素贝叶斯)在准确性方面是非常有效的。然而,垃圾邮件制造者很快就学会了如何通过他们的同义词来改变“垃圾邮件”,并添加更多的“非垃圾邮件”的信息来误导分类器。因此,垃圾邮件过滤器被更改为检测这些技巧。但是,垃圾邮件发送者通过使用新的来应对。因此,这导致了防御者和攻击者之间的无尽博弈,直到达到平衡状态。

在这种情况下,博弈论是非常有用的,因为它提供了数学工具,可以在防御和攻击策略方面对防御者和攻击者的行为进行建模。

更具体地说,基于博弈论的模型可以考虑以下因素:

  • 攻击者在适应分类器的成本和从攻击中获得的收益之间进行权衡。
  • 防御者所做出的权衡是在正确的攻击检测与错误警报的成本之间取得平衡。

因此,基于博弈论的模型可以确定需要哪种合适的策略来减少防御者因对抗性攻击而造成的损失。

垃圾邮件过滤并不是这些模型能够带来有价值信息的唯一情况。这个观点可以用来描述许多其他风险更高的情况:计算机入侵检测、欺诈检测、空中监视。

这篇文章,我将与你分享如何将博弈论应用于对抗式机器学习。

读完这篇文章,你会学到:

  • 博弈论如何应用于机器学习?
  • 博弈论如何帮助解决对抗性学习问题?
  • 如何使您的机器学习算法对对抗攻击具有鲁棒性?

基于博弈论方法的一个例子

让我们从一个简单的示例开始:垃圾邮件检测。

以下部分描述了W. Liu和S. Chawal为对抗性学习而开发的博弈理论模型(https://ieeexplore./document/5360532)。

通用设置

可以将其建模为垃圾邮件发送者(S)和防御者(D)之间的2人博弈。

  • 垃圾邮件发送者可以选择1)通过改变垃圾邮件来攻击分类器,让它们通过垃圾邮件过滤器,或者2)在知道一些垃圾邮件可能通过的情况下不进行攻击。
  • 防御者可以选择1)为了保持较低的误分类率而重新训练分类器,或者2)不重新训练分类器,尽管可能增加垃圾邮件的误分类。

我们将假设垃圾邮件发送者是首先采取行动的人。

如下图所示,有4种可能的结果。可以将每个场景与两个玩家的收益相关联,以反映最终结果方面的相对排名。

例如,情形2对于防御者来说是最坏的情形,而对于垃圾邮件发送者来说是最好的情形,因为他对未经重新训练的分类器的攻击将导致大量被错误分类的垃圾邮件。

对抗机器学习的博弈论方法

垃圾邮件发送者和防御者之间的博弈树

模型定义

这种情况可以被建模为Stackelberg博弈,其中有一个领导者(这里的垃圾邮件发送者)和一个追随者(防御者D)。

Stackelberg博弈通常用于对存在一定层次竞争的市场中的理性主体之间的战略互动进行建模。

在这种情况下,每个玩家通过在一组可能的动作U和V中选择一个动作来分别对S和D做出反应。这些集合被认为是有界的和凸的。

每个结果都与回报函数Js和Jd相关。 收益函数Ji是二次微分映射Ji(U,V)→R,其中R是反应。

因此,可以预期玩家i的反应Ri会使他的收益最大化,即:

对抗机器学习的博弈论方法

此外,第一个采取行动的人可以预测追随者的理性反应,并在他的第一个决定中加以考虑。这被称为rollback或逆向归纳。

这意味着垃圾邮件发送者的第一个行动是解决以下优化问题:

对抗机器学习的博弈论方法

因此,防御者会选择最优解:

对抗机器学习的博弈论方法

这个解(u,v)是Stackelberg平衡。

请注意,这与纳什均衡不同,纳什均衡中博弈的两个参与者同时行动并且联立方程的解为(0,0),即两个参与者都没有反应。

模型说明

既然我们已经定义了一般的设置,我们仍然需要确定在分类问题的特定情况下的玩家的收益函数。

为了简化,我们首先只考虑一个属性。然后可以很容易地将其推广到多个属性(假设它们在给定其类标签的条件下是独立的)。

首先,参与者的动作有什么影响呢?

让我们定义以下分布:

  • P(μ',σ):垃圾邮件的分布
  • Q (μ,σ):非垃圾邮件的分布

μ'<μ,因为非垃圾邮件比垃圾邮件要多

对手通过将μ'移至μ'+ u(即朝向μ)来进行攻击。防御者的反应是将边界从1/2(μ'+μ')移至(也移向μ)

其次,玩家的收益是什么?

为了评估数据上变换u的重要性,可以使用Kullback-Leibler散度KLD(也称为相对熵)。它度量一个概率分布与另一个参考概率分布的不同之处。

垃圾邮件发送者的收益:由于他的目标是增加错误分类的垃圾邮件的数量,因此他的收益可以表示为:

对抗机器学习的博弈论方法

其中FNR为假阴性率的增加。α表示成本惩罚的强度。

防御者的收益:由于他的目标是提高分类的准确性,因此他的收益可以表示为:

对抗机器学习的博弈论方法

其中TPR和TNR代表真阳性率和真阴性率的增加。β控制重新训练分类器的成本的强度。

在这种情况下,可以使用遗传算法求解以下方程式:

对抗机器学习的博弈论方法

该论文的作者运用这种方法在合成数据和真实数据之间寻找平衡。根据产生攻击和重新训练分类器(通过α和β建模)所产生的成本的重要性,他们找到不同的均衡。

基于博弈论方法的其他变体

前面的例子依赖于一组假设:它模拟了一个博弈,攻击者和防御者按顺序彼此竞争。它假定攻击者是第一个采取行动的。它还假设两个玩家都知道各自对手的利益和成本。

然而,这些假设并不总是成立。幸运的是,大量依赖博弈论方法的模型已经存在。可以分为以下几类。

零和博弈 vs. 非零和博弈

攻击者的收益等于防御者的损失成本,反之亦然。这意味着玩家的效用之和为0。这个假设可能非常悲观,因为防御者的效用损失可能次于对手的效用。

同时行动博弈vs.序贯博弈

在同时行动博弈中,玩家在不观察对方策略的情况下同时选择他们的策略。在序贯博弈中,他们一个接一个地选择他们的行动。

对抗学习主要是模仿序贯博弈。实际上,一旦防御者选择了一个分类器,攻击者就可以观察到它并决定自己的策略。

上一节中描述的模型是认为攻击者在选择其策略之前无法观察分类器的少数模型之一。

贝叶斯博弈

贝叶斯博弈是指参与者对于其对手信息没有完全掌握的博弈。这更有可能是因为防御者可能不知道生成对抗数据的确切成本,而攻击者可能不知道防御者的确切分类成本。

如何使对抗学习更强大?

依赖基于博弈论框架的对抗学习技术可能是相关的,因为它基于重新训练模型和产生攻击者所产生的收益和成本来对学习者和对手的行为进行建模。

但是,如果最初的模型对对抗攻击已经足够健壮呢?

增强这种鲁棒性的最常见方法之一是对恶意数据进行建模,这些数据可以由对手预先生成,并将其包含在训练阶段。

在这一节中,我们将讨论3种主要的用于生成对抗数据的技术:扰动技术、Transferring对抗实例、生成对抗网络(GAN)。

扰动技术

这一想法是产生可被潜在对手利用的合成对抗数据。要做到这一点,有必要了解和预测对手是如何发动攻击的。

这些技术大多依赖于在有效的实例中添加少量的噪声或扰动。让我们来看看一些众所周知的例子:

L-BFGS

首先:

  • f:分类器映射,它接受由m个特征组成的给定观察x,并返回类标签
  • loss:相关的连续损失函数
  • r:扰动

攻击者的目标是生成一个错误分类的实例,他必须解决以下优化问题:

对抗机器学习的博弈论方法

这可以通过执行线搜索来找到最小值c> 0来完成,以下问题的最小化器r满足f(x + r)= l:

对抗机器学习的博弈论方法

请注意,对于诸如深度神经网络之类的复杂模型,此优化问题没有封闭形式的解。但是,可以使用迭代数值方法,这会使生成速度变慢。但是,其成功率很高。

Fast Gradient Sign Method (FGSM)

我们定义:

  • X:干净的观察
  • ∇J(X,y):模型损失函数相对于X的梯度
  • ϵ: 控制对抗性扰动重要性的参数

该方法通过增加损失函数的值来生成对抗性扰动,如下所示:

对抗机器学习的博弈论方法

请注意,在梯度方向上增加一个扰动可以使观测结果被有意地改变,从而使模型将其误分类。

与前一种方法相比,该方法计算速度快,易于实现。然而,它的成功率较低。

Goodfellow等人的论文也描述了这种方法,并得出了一些有趣的观察结果,如:

  • 在创建对抗性实例时,使用扰动方向而不是扰动量会更有效
  • 用对抗式例子对一个分类器进行识别,类似于分类器的正则化

Iterative Fast Gradient Sign

也可以以较小的步长应用FGSM几次并修剪总数,同时使干净实例和对抗实例之间的失真小于1/3。

对抗机器学习的博弈论方法

Transferring对抗实例

上述大多数技术都假定攻击者知道所使用的模型。它们属于所谓的白盒攻击,而不是黑盒攻击。但是,在现实生活中,情况并非总是如此。

那么,攻击者通常采用什么技术呢?

对手可以通过探测(即向模型发送有效的、对抗性的实例并观察输出)来重建模型。这使它能够形成一个可以用来训练替代模型的数据集。然后使用白盒算法实现对抗性实例的生成。

但是,在某些情况下,探测可能会受到接受的最大查询数的限制,或者受到对手所产生的成本的限制。为了解决这个问题,对手可以生成对抗实例,以欺骗分类器并并行训练另一个模型。然后,他可以重用这些相同的对抗性实例来欺骗多个不同的分类器。

请注意,可以使用通过模型生成的对抗实例来欺骗黑匣子模型。

生成对抗网络(GAN)

生成对抗网络(GAN)完全依靠博弈论方法。在这些模型中,从对手生成受干扰的实例,并同时将其用于训练学习者的模型,如下图所示。

对抗机器学习的博弈论方法

生成对抗网络框架

如上图所示,学习者使用的函数称为判别器,而对手使用的函数称为生成器。

判别器和生成器通过零和博弈进行交互,因为它们都在寻求优化一个不同的和相反的目标函数,或损失函数。

在这种情况下,判别器和生成器分别连续地调整其预测和数据破坏机制。

最后

如今,随着个人和企业正在拥抱数字革命,越来越多地使用人工智能算法来解决多种情况下的复杂问题,其中某些问题可能具有很高的风险。

因此,重要的是不要低估他们的弱点,因为他们在敌对的环境中可能面临对抗性攻击。

这样的例子不胜枚举:用于访问私人空间或有价值信息的图像识别系统,保护个人和公司财富的欺诈检测算法,等等。

在这种情况下,博弈论提供了有用的工具来建模对手和学习者的行为,因为它一方面包括对手的利益、攻击者的利益以及生成对手数据的成本,另一方面包括学习者更新模型的费用。

基于博弈论的方法将权衡对手和学习者所采用的方法,可以用来评估实施特定技术的风险。因此,它是一个功能强大的决策工具,需要在类似的情况下更广泛地使用它。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多