趋近智
在确定了漏洞的存在以及攻击者破坏机器学习模型的各种方式之后,接下来的自然问题是:我们如何构建能够抵御这些威胁的系统?正如软件工程包含安全实践一样,机器学习也需要专门的防御策略来保护模型在训练和推理过程中的安全。本节对防御对抗性攻击的主要方法提供一个整体概览,为第5章中更详细的讨论奠定基础。
开发有效的防御方法是一个活跃且富有挑战的研究方向。这些策略通常旨在阻止攻击成功,或对其进行检测和减轻。我们可以根据它们在机器学习流程中发挥作用的位置,对这些防御方法进行大致分类。
修改训练过程(提升内在鲁棒性): 也许最直接的方法是在训练阶段使模型本身对对抗性扰动具有更强的抵抗力。目的是训练一个能学习到足够强大的特征以抵御微小输入变化的模型。
修改输入(输入预处理): 这些防御方法不改变模型或其训练,而是在将数据输入模型之前对其进行预处理。目的是去除或减少输入中存在的对抗性扰动。
修改模型(架构或认证): 这一类别涉及改变模型架构,或采用提供形式化保证的鲁棒性技术。
使用外部模型(检测与拒绝): 这些方法在主模型旁边增加独立的组件,以检测输入是否可能是对抗性的。
对抗对抗性攻击的常见防御策略的一个概括性分类。
谨慎对待防御机制是很重要的。从历史上看,许多提出的防御措施很快就被略微修改或自适应攻击攻破,这些攻击是专门设计来规避防御的。一个常见问题是梯度遮蔽或混淆,即防御措施使得基于梯度的攻击(如FGSM或PGD)更难找到对抗样本,从而造成虚假的安全感。然而,更强的基于优化的攻击或不同的攻击策略仍然可能成功。因此,严格评估防御措施以对抗强大、自适应的攻击者是非常必要的,我们将在第6章专门讨论这个话题。
尽管许多防御侧重于推理时的规避攻击,但也有减轻数据投毒、后门攻击(第3章)和推理攻击(第4章)的策略。防御投毒通常涉及数据净化、训练期间的异常检测或联邦学习中的聚合方法。防御与隐私相关的推理攻击常与差分隐私等技术相交叉。
本概览介绍了防御策略。没有一种完美的防御;通常,有效的保护涉及多种技术的结合,并伴随着权衡,这通常体现在性能与正常数据上的标准准确性之间,或计算成本的增加。后续章节将对具体的先进攻击以及旨在防御它们的机制进行更详细的考察。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造