人工智能的鲁棒性分析

模型的鲁棒性
模型的鲁棒性指模型对于数据噪声的抵抗能力。一般有两种影响模型鲁棒性的威胁模型:
 正常环境扰动对模型可靠性的影响,比如光线亮度、对比度等包括样本采集中的误差等。在输入数据与训练数据的分布有偏移的时候,模型给出错误的判断所造成的安全威胁。
 恶意攻击对模型安全性的影响。这种一般是指对抗样本攻击。攻击者通过白盒的方法了解模型架构和参数,使用梯度下降对输入数据进行扰动,并申城对抗样本。另外也可以在黑盒情况下达到同样的效果。

鲁棒性的度量
鲁棒性的度量指标通常是指样本变换后的输入预测与原结果的比较百分比。
对于模型可靠性的度量主要方法是通过穷举现实中可能出现的扰动,并在实验环境中通过计算机视觉等技术模拟这些扰动,然后观察模型对于这些带有噪声数据的抵抗性。比如[1]举例了无人车场景的可能出现的几种环境因素的变化,如光照、能见度降低、摄像头的抖动等,并利用计算机图形学的一些方法去模拟这些真实的环境因素变化。
对于模型安全性的度量有两个标准:
(1) 面对对抗样本模型预测的准确性
(2) 对抗样本要达到的欺骗目的所需要的最小扰动
德国 Tübingen 大学推出的“Robust vision benchmark”https://github.com/bethgelab/robust-vision-benchmark以及百度推出的“Baidu perceptron robustness benchmark.” https://github.com/advboxes/perceptron-benchmark 都可以实现对抗鲁棒性的测试。

鲁棒性的形式化验证
仅使用样本测试的方法无法保证样本的全覆盖性,也就不能完全证明模型的鲁棒性。
 恶意环境下的鲁棒性验证
从构造对抗样本的角度考虑就是找出所需扰动的值域和下界,以下界数值的大小为度量来判定模型对恶意攻击的鲁棒性。大多采用数学方法进行理论证明和推导的。之前众多的研究工作都集中在使用不同的数值对扰动大小的范围进行估算。比如[2] 在模型具有Lipschitz[3]连续性的基础上,使用Lipschitz常数限制出不改变模型输出的扰动范围,再运用统计概率的极值理论对对抗性扰动的下界进行估算;第二种方法是区间分析方法[4][5],从初始加入扰动后的输入范围,推导出模型输出结果的范围以及对结果的影响,从而判断模型的鲁棒性。
 正常业务环境的鲁棒性验证
正常环境与恶意环境是不同的。在正常业务环境下的鲁棒性研究主要关注在现实或物理上具有实际性和规律性的输入变动,比如光线和阴影对无人车物体识别的影响。所以鲁棒性验证主要是通过模拟各种实际业务场景中可能出现的不确定性,根据规则构造在定向范围内构造的变动,对模型的鲁棒性进行验证。

模型鲁棒提升
(1) 数据增强:通过模拟自然场景或恶意场景中的可能出现的各类情况,支撑算法模型从数据中学习到相关特征提升算法鲁棒性。例如通过平移旋转、添加自然噪声、利用数据风格迁移生成不易收集的场景数据等方式生成训练数据提升模型的鲁棒性。例如:https://github.com/hendrycks/robustness 。同时数据增强方法也可以用于对抗训练提升鲁棒性。比如[6]将对抗样本和真实数据缓和后进行对抗训练,大幅提高针对对抗样本攻击的表现。
(2) 鲁棒特征学习:指通过使模型学习到在自然场景中不易被干扰特征或减低对易被干扰特征的依赖程度来增强算法模型的鲁棒性。
(3) 模型随机化:指通过在模型运行过程中引入随机性使得攻击者无法获取准确信息来优化攻击,进而确保算法模型在遭受主动攻击情况下依然可以保持正常的性能水平。[7][8]
(4) 模型正则化:指通过增加模型约束使其损失函数更加平滑,从而降低攻击者找到算法漏洞的可能性,进而确保算法模型在遭受主动攻击的情况下依然可以保持正常的性能水平。[9]通过将模型与决策边界的距离作为正则项加入到训练过程中,增加了模型的决策边界与输入样本的距离。[10]通过减少雅可比矩阵的范数,使得模型决策更加平缓,同样达到增加攻击难度的效果。
(5) 训练数据采样:通过从原始数据中抽取自己组成训练集,限制每个用户可以贡献的最大数据量等方式,确保特殊样本不在模型训练数据中占据过大比例,进而有效避免有意或无意因素导致的训练数据失衡。比如逆变换采样、拒绝采样、重要性采样、马尔可夫蒙特卡洛采样法防止训练数据分布失衡。

[1] Y. Tian, K. Pei, S. Jana, and B. Ray, “Deeptest: Automated testing of deep-neural-network-
driven autonomous cars,” in Proceedings of the 40th International Conference on Software
Engineering, ICSE ’18, (New York, NY, USA), pp. 303–314, ACM, 2018.

[2] T.-W. Weng, H. Zhang, P.-Y. Chen, J. Yi, D. Su, Y. Gao, C.-J. Hsieh, and L. Daniel, “Evaluating the robustness of neural networks: An extreme value theory approach,” in International
Conference on Learning Representations, 2018.

[3] R. Paulaviˇ cius and J.Zilinskas, “Analysis of different norms and corresponding lipschitz con-
stants for global optimization,” Technological and Economic Development of Economy, vol. 12,
pp. 301–306, 01 2006.

[4] S. Wang, K. Pei, J. Whitehouse, J. Yang, and S. Jana, “Formal security analysis of neural
networks using symbolic intervals,” in Proceedings of the 27th USENIX Conference on Security
Symposium, SEC’18, (Berkeley, CA, USA), pp. 1599–1614, USENIX Association, 2018.

[5] R. E. Moore, R. B. Kearfott, and M. J. Cloud, Introduction to Interval Analysis. Philadelphia,
PA, USA: Society for Industrial and Applied Mathematics, 2009.

[6] Madry A , Makelov A , Schmidt L , et al. Towards Deep Learning Models Resistant to Adversarial Attacks[C]// 2017.

[7] Cohen J M , Rosenfeld E , Kolter J Z . Certified Adversarial Robustness via Randomized Smoothing[J]. 2019.

[8] Liu, X. , Li, Y. , Wu, C. , & Hsieh, C. J. . (2018). Adv-BNN: Improved Adversarial Defense through Robust Bayesian Neural Network. arXiv. arXiv.

[9] Yan, Z. , & Zhang, C. . (2018). Deep Defense: Training DNNs with Improved Adversarial Robustness.

[10] Improving DNN Robustness to Adversarial Attacks using Jacobian Regularization https://arxiv.org/abs/1803.08680

你可能感兴趣的:(python,机器学习概念,人工智能,机器学习)