栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 人工智能 > 机器学习

对抗性机器学习的初学者指南译文

机器学习 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力


对抗性机器学习的初学者指南译文

对抗性机器学习(Adversarial machine learning)主要是指在对攻击者的能力、及攻击后果的研究与理解的基础上,设计各种能够抵抗安全挑战(攻击)的机器学习(ML)算法。

对抗性机器学习认为,机器学习模型通常会面临如下四种类型的攻击:


对抗性机器学习的初学者指南译文

提取式攻击(Extraction attacks)


对抗性机器学习的初学者指南译文

在上图所示的提取式攻击模型中,攻击者只要获取了Oracle prediction的访问权限,就会窃取那些远程部署的机器学习模型的副本。此类攻击的背后原理是,攻击者通过输入,向目标模型发出请求,以提取尽可能多的信息,并使用掌握到的输入和输出集,来产生并训练一个替代模型(substitute model)。

当然,该提取模型在实施的过程中会有一定的困难,攻击者需要通过强劲的计算能力,来重新训练具有准确性和保真度的新模型,以从头开始替代现有的模型。

防御

当模型对给定输入进行分类时,我们需要限制其输出信息。目前,我们可以采取的方法包括:

  • 使用差分隐私(Differential Privacy)。
  • 使用集成算法(ensembles,译者注:是通过构建并结合多个机器学习模型,来完成学习任务)。
  • 在最终用户与PRADA(https://arxiv.org/abs/1805.02628)等模型之间构建代理。
  • 限制请求的数量。

    推理攻击(Inference attacks)


    对抗性机器学习的初学者指南译文

    推理攻击旨在通过反转机器学习模型中的信息流,以方便攻击者洞察到那些并未显式共享的模型。从统计学的角度来说,由于私有的机密数据往往与公开发布数据有着潜在的相关性,而机器学习的各种分类器(classifier)具有捕捉到此类统计相关性的能力,因此推理攻击会给个人和系统构成严重的隐私和安全威胁。

    通常,此类攻击会包括三种类型:

  • 成员推理攻击(Membership Inference Attack,MIA,译者注:通过识别目标模型在行为上的差异,来区分其中的成员和非成员)。
  • 属性推理攻击(Property Inference Attack,PIA,译者注:攻击者利用公开可见的属性和结构,推理出隐蔽或不完整的属性数据)。
  • 恢复训练数据(Recovery training data,译者注:试图恢复和重建那些在训练过程中使用过的数据)。

    防御

    使用各种高级加密措施,其中包括:

  • 差分加密(Differential cryptography)。
  • 同态加密(Homomorphic cryptography)。
  • 安全的多方计算(Secure Multi-party Computation)。
  • Dropout(译者注:在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率,将其暂时从网络中丢弃)等技术。
  • 模型压缩(译者注:通过减少算法模型的参数,使算法模型小型化)。

    投毒攻击(Poisoning attacks)


    对抗性机器学习的初学者指南译文

    投毒攻击技术是指攻击者在训练数据集中插入损坏性数据,以在训练的过程中破坏目标的机器学习模型。计算机视觉系统在面对特定的像素模式进行推理时,会被此类数据投毒技术触发某种特定的行为。当然,也有一些数据投毒技术,旨在降低机器学习模型在一个或多个输出类别上的准确性。

    由于此类攻击可以在使用相同数据的不同模型之间进行传播,因此它们在训练数据上执行的时候,很难被检测到。据此,攻击者会试图通过修改决策边界,来破坏模型的可用性,从而产生各种不正确的预测。

    此外,攻击者还会在目标模型中创建后门,以便他们创建某些特定的输入,进而产生可被操控的预测,以及方便后续攻击的结果。

    防御

  • 保护训练数据的完整性。
  • 保护算法,并使用各种健壮的方法去训练模型。

    规避攻击(Evasion attacks)


    对抗性机器学习的初学者指南译文

    攻击者通过插入一个细微的扰动(如某种形式的噪声),并转换成某个机器学习模型的输入,并使之产生分类错误。

    虽然与投毒攻击有几分类似,但是规避攻击主要尝试的是,在推理阶段、而不是在训练中,利用模型的弱点。当然,攻击者对于目标系统的了解程度是至关重要的。他们对于目标模型、及其构建方式越了解,就越容易对其发起攻击。

    规避攻击通常发生在,当某个网络中被输入了“攻击性样本(adversarial example)”时。这往往是一种被“精心构造”扰动性输入。它看似与那些未被篡改的副本相同,但实际上完全避开了正确的分类器。

    防御

  • 通过训练,使用健壮的模型,来对抗攻击性样本。
  • 将“消毒”过的输入馈入模型。
  • 采取梯度正则化(Gradient regularization)。

    各类实用工具

    对抗性鲁棒工具箱

    对抗性鲁棒工具箱(Adversarial Robustness Toolbox,ART,https://github.com/Trusted-AI/adversarial-robustness-toolbox)是一种可用于机器学习的安全类Python库。由ART提供的工具可让开发与研究人员,去评估和防御应用程序、及其所用到的机器学习模型,进而抵御上面提到的四类威胁与攻击。


    对抗性机器学习的初学者指南译文

    ART能够支持时下流行的机器学习框架,例如:TensorFlow、Keras、PyTorch、以及scikit-learn。而它支持的数据类型包括:图像、数据表、音频、以及视频等。同时,它还支持分类、物体检测、以及语音识别等机器学习任务。您可以通过命令:pip install adversarial-robustness-toolbox,来安装ART。

    ART的攻击示例如下代码段所示:

    from art.attacks.evasion import FastGradientMethod
    attack_fgm = FastGradientMethod(estimator = classifier, eps = 0.2)
    x_test_fgm = attack_fgm.generate(x=x_test)
    predictions_test = classifier.predict(x_test_fgm)

    其对应的防御示例为:

    from art.defences.trainer import AdversarialTrainer
    model.compile(loss=keras.losses.categorical_crossentropy, optimizer=tf.keras.optimizers.Adam(lr=0.01), metrics=["accuracy"])
    defence = AdversarialTrainer(classifier=classifier, attacks=attack_fgm, ratio=0.6)
    (x_train, y_train), (x_test, y_test), min_pixel_value, max_pixel_value = load_mnist()
    defence.fit(x=x_train, y=y_train, nb_epochs=3)

    Counterfit

    ​​Counterfit​​是一种命令行工具和通用的自动化层级,可以被用于评估机器学习系统的安全性。基于ART和TextAttack(译者注:是一种Python框架,可用于NLP中的对抗性攻击、数据增强和模型训练)的Counterfit,是专为机器学习模型的安全审计而开发的,可实现黑盒式的规避算法。Counterfit包括如下实用命令:

    --------------------------------------------------------
    Microsoft
    __ _____ __
    _________ __ ______ / /____ _____/ __(_) /_
    / ___/ __ / / / / __ / __/ _ / ___/ /_/ / __/
    / /__/ /_/ / /_/ / / / / /_/ __/ / / __/ / /
    ___/____/__,_/_/ /_/__/___/_/ /_/ /_/__/
    #ATML
    --------------------------------------------------------
    list targets
    list frameworks
    load
    list attacks
    interact
    predict -i
    use
    run
    scan

    可深入研读的参考链接

  • ​​应对深度学习系统的安全威胁​​
  • ​​Mitre的攻击矩阵​​
  • ​​投毒攻击​​
  • ​​规避攻击​​

    译者介绍

    陈 峻 (Julian Chen),51CTO社区编辑,具有十多年的IT项目实施经验,善于对内外部资源与风险实施管控,专注传播网络与信息安全知识与经验;持续以博文、专题和译文等形式,分享前沿技术与新知;经常以线上、线下等方式,开展信息安全类培训与授课。

    原文标题:Adversarial Machine Learning: A Beginner’s Guide to Adversarial Attacks and Defenses,作者: Miguel Hernández


  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/795875.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号