模型鲁棒性是机器学习系统的一种属性,描述其在面对扰动、分布偏移或对抗性输入时保持稳定性能的能力。在计算机科学中,鲁棒性广义上指系统在执行过程中应对错误及错误输入的能力。对于机器学习模型,这转化为测试误差与训练误差保持一致,或在数据集中添加噪声后性能保持稳定的要求。鲁棒性已成为人工智能系统部署中的核心关注点,尤其是在模型越来越多地用于自动驾驶、医疗和金融等安全关键领域的情况下。
机器学习中的鲁棒性概念源自鲁棒编程和容错系统设计的更广泛原则。传统软件鲁棒性强调优雅地处理意外输入,通常通过模糊测试和故障注入等技术实现。在机器学习中,鲁棒性将这一思想扩展到模型的统计和概率性质上,其中输入不仅是离散值,而是图像、音频和文本等高维数据。一个鲁棒的模型不仅应在训练分布上表现良好,还应泛化到未见过的变化,包括自然变异或蓄意攻击引入的变化。
历史背景
模型鲁棒性的研究在2010年代获得显著关注,其驱动力是发现神经网络对对抗样本出奇地脆弱,对抗样本是对输入施加的微小且通常难以察觉的扰动,会导致严重的错误分类。这一现象最早由Christian Szegedy及其同事在2013年系统记录,后来由Ian Goodfellow关于对抗攻击和防御的工作推广开来。最先进的模型可通过向图像添加微小噪声而被欺骗,这一认识引发了对深度学习系统可靠性的根本性质疑。
早期研究集中于理解神经网络为何表现出这种脆弱性。一种解释是,模型学习的决策边界对输入空间中的微小变化高度敏感,尤其是在高维设置中。另一种解释是,训练目标(最小化平均损失)并未明确鼓励对最坏情况扰动的鲁棒性。这导致了对抗训练的发展,即模型在对抗样本上进行训练以提高鲁棒性。该领域此后已扩展到涵盖广泛的鲁棒性概念,包括对随机噪声、分布偏移和域偏移的鲁棒性。
扰动类型
模型鲁棒性通常针对几种类型的扰动进行评估。研究最多的是对抗扰动,即故意设计以欺骗模型的扰动。这些扰动可通过基于梯度的方法生成,如快速梯度符号法(FGSM)和投影梯度下降(PGD),或基于优化的方法,如Carlini-Wagner攻击。对抗鲁棒性衡量模型抵抗此类攻击的能力,通常通过对抗样本上的准确率来量化。
随机扰动(如向输入添加高斯噪声)是另一种常见测试。对随机噪声鲁棒的模型对传感器误差或数据自然变化的敏感性较低。分布偏移指训练与部署之间底层数据分布的变化,例如在白天图像上训练的模型在夜间图像上测试。对分布偏移的鲁棒性对现实部署至关重要,因为模型经常遇到与训练集不同的数据。最后,鲁棒性还可指对旋转、平移或缩放等变换的不变性,这些变换在计算机视觉任务中很常见。
评估方法
评估模型鲁棒性需要仔细的实验设计。一种常见方法是在包含原始数据扰动版本的保留测试集上测量性能。对于对抗鲁棒性,研究人员通常使用攻击算法生成最坏情况扰动,然后测量模型在这些示例上的准确率。然而,攻击的选择会显著影响测量的鲁棒性,导致攻击者与防御者之间的猫鼠游戏。
已开发基准来标准化鲁棒性评估。例如,ImageNet-C和ImageNet-A数据集分别测试对常见损坏和自然对抗样本的鲁棒性。RobustBench排行榜提供了一个标准化平台,用于比较不同模型和防御的对抗鲁棒性。除准确率外,校准误差和预测不确定性等指标也用于评估鲁棒性。一个鲁棒的模型不仅应准确,还应良好校准,即其置信度分数反映其正确性的真实可能性。
提高鲁棒性的技术
已开发多种技术来提高模型鲁棒性。对抗训练由Goodfellow等人首次提出,涉及在训练过程中生成的对抗样本扩充训练数据。这种方法已被证明能提高对用于扩充的特定攻击的鲁棒性,但通常以降低干净数据上的准确率为代价。更高级的变体,如TRADES和基于PGD的对抗训练,旨在平衡鲁棒性和准确率。
数据增强是另一种广泛使用的技术。通过对训练图像应用随机裁剪、翻转或颜色抖动等变换,模型学会对这些变化保持不变性。增强还可包括添加噪声或模糊等合成扰动。正则化技术,如权重衰减、dropout和批归一化,有助于防止过拟合,并可间接提高鲁棒性。最近,mixup和CutMix等方法(创建训练示例的凸组合)已被证明能提高对某些类型扰动的鲁棒性。
架构选择也影响鲁棒性。例如,具有跳跃连接的残差网络通常比普通深度网络更鲁棒。基于Transformer的模型,如大型语言模型,对某些类型的输入扰动表现出显著的鲁棒性,但仍易受对抗攻击影响。集成方法(组合多个模型)可通过平均单个模型误差来提高鲁棒性。
挑战与权衡
提高模型鲁棒性并非没有挑战。最显著的挑战之一是鲁棒性-准确率权衡:对对抗扰动更鲁棒的模型通常在干净数据上的准确率较低。这一权衡已被广泛研究,一些研究者认为它是根本性的,而另一些则认为可以通过更好的训练方法克服。另一个挑战是鲁棒训练的计算成本,由于需要生成对抗样本,其成本可能比标准训练高出数倍。
鲁棒性还取决于威胁模型,即所考虑的扰动集合。对一种攻击鲁棒的模型可能对另一种攻击脆弱。这导致了自适应攻击的发展,即攻击者了解防御并专门设计攻击以规避它。在自适应攻击下评估鲁棒性被认为是黄金标准,但计算密集且需要专业知识。
此外,对分布偏移的鲁棒性本质上很困难,因为可能的偏移空间巨大。正如一般计算机科学文献中所指出的,构建涵盖所有可能失败点的系统因可能的输入及输入组合数量庞大而具有挑战性。在机器学习中,数据的高维性质加剧了这一问题。研究人员通常依赖泛化技术,如域适应和域泛化,来处理未见过的偏移,但这些方法存在局限性。
应用与重要性
模型鲁棒性在许多现实应用中至关重要。在自动驾驶中,模型必须在不同天气条件、光照和道路场景下可靠运行。鲁棒的模型确保自动驾驶汽车能安全应对意外情况。在医疗中,用于诊断的模型必须对医学成像设备和患者群体的变化保持鲁棒。在金融中,用于欺诈检测的模型必须适应不断演变的攻击模式。
鲁棒性对AI系统的可信度也很重要。如果模型在生产中意外失败,可能侵蚀用户信任并导致代价高昂的错误。监管框架,如欧盟的《人工智能法案》,开始将鲁棒性作为高风险AI系统的关键标准。随着AI日益融入社会,对鲁棒模型的需求只会增加。
未来方向
模型鲁棒性的研究持续发展。一个有前景的方向是认证鲁棒性的开发,即模型被保证对特定范围内的扰动鲁棒。这通过随机平滑和可验证神经网络等技术实现。另一个方向是大型语言模型中鲁棒性的研究,这些模型具有独特的脆弱性,如提示注入和对抗性文本。研究人员还在探索鲁棒性与可解释性之间的联系,认为更可解释的模型可能更鲁棒。
在持续学习背景下,对分布偏移的鲁棒性也日益受到关注,其中模型必须适应新数据而不遗忘旧知识。最后,该领域正朝着更全面的鲁棒性概念发展,不仅涵盖对抗扰动,还包括社会和伦理考量,如公平性和偏见。正如源材料中所指出的,鲁棒性在一般意义上难以实现,这仍是机器学习社区面临的开放挑战。
参见
- 容错
- 防御性编程
- 非功能性需求