李宏毅机器学习第八周

文章探讨了AdversarialAttack,即对抗攻击,通过微小的输入扰动欺骗机器学习模型。区分了白盒和黑盒攻击,前者了解模型详情,后者仅依据输出。防御策略包括被动防御,如异常检测和修复,以及主动防御,通过训练时增加对抗性样例提高模型的鲁棒性。
摘要由CSDN通过智能技术生成


摘要

本周主要学习了Adversarial Attack(对抗攻击)和Defense(防御)相关的内容。在对抗攻击方面,学习了攻击的示例、攻击的方法以及攻击的途径。通过对输入数据进行微小的、精心设计的扰动,攻击者可以欺骗机器学习模型,导致模型产生错误的预测结果。还了解了白盒攻击和黑盒攻击的区别,白盒攻击指攻击者了解模型的结构和参数,而黑盒攻击则只能通过模型的输出结果进行攻击。在防御方面,学习了被动防御和主动防御两种策略。被动防御主要是针对对抗攻击的检测和修复,通过检测异常数据和修正对抗样本来提高模型的鲁棒性。而主动防御则是在训练过程中增加对抗性样本,使模型在面对对抗攻击时具有更好的鲁棒性。


Abstract

This week was spent learning about Adversarial Attack and Defense. In terms of Adversarial Attack, examples of attacks, methods of attacks, and avenues of attacks were learned. By making small, well-designed perturbations to the input data, an attacker can trick a machine learning model, causing it to produce false predictions. The difference between white-box and black-box attacks was also learned; a white-box attack means that the attacker understands the structure and parameters of the model, whereas a black-box attack can only be carried out through the model’s output results. In terms of defense, both passive and active defense strategies were learned. Passive defense mainly focuses on the detection and repair of adversarial attacks, and improves the robustness of the model by detecting abnormal data and correcting adversarial samples. While active defense is to increase the adversarial samples during the training process to make the model have better robustness in the face of adversarial attacks.


1. Adversarial Attack

Adversarial Attack(对抗攻击)是一种针对机器学习模型的攻击方法,旨在通过对输入数据进行微小的、精心设计的扰动,使得模型的输出产生错误或误分类。这种攻击的本质是利用模型对输入数据的敏感性,即微小的变化可能导致模型产生错误的预测结果。

1.1 Example of Attack

如下图所示,这是一个影像辨识的例子。将图片(Benign Image)输入到Network后,会正确地输出“Tiger Cat”,但是现在要给图片加入杂讯(小到肉眼无法察觉到),图片(Attacked Image)输入到Network后,希望输出不再是“Tiger Cat”。
Non-targeted:比方说我们现在benign image对应的network输出是猫,而attacked image对应的输出是什么都可以
Targeted:benign image对应的network输出是猫,而attacked image对应的输出是海星。
在这里插入图片描述
如下图所示,把Benign Image输入到Network后,输出“Tiger Cat”的可信度是0.64,而把Attacked Image输入到Network后,输出“Star Fish”的可信度是1.00,这里使用的模型是ResNet-50。
在这里插入图片描述
benign image和attacked image在肉眼上看不出什么不一样,当把benign image和attacked image相减(再乘以50),可以看出两者确实不同,而这两个的差距可以让ResNet的输出天差地别,如下图所示。
在这里插入图片描述

1.2 How to Attack

Non-targeted

如下图所示,用Non-targeted时,在固定参数的情况下,希望输出的概率分布与cat的概率分布越远越好,在这里x与x0的差值要小于特定的值,也就是说图片加入的杂讯要小到一定程度。
在这里插入图片描述

Targeted

如下图所示,用Targeted时,相比于Non-targeted,希望再加入一个杂讯,使输出的概率分布不仅与cat的概率分布越远越好,还要与目标的概率分布越接近越好。
在这里插入图片描述
但是要如何计算x0与x之间的距离呢?
有两种方法
1.L2-norm
2.L-infinity
实际中,采用 L-infinity会更好点,看下图的例子。
在这里插入图片描述

1.3 Attack Approach

如下图所示,这是寻找x的过程,在这个过程中模型是训练好的,网络的参数不再调整,调整的是输入的图片(也就是x)。刚开始需要初始的x0,然后通过Gradient Descent来更新x,以找到L(x)最小值,在这里有一个约束是当x与x0的距离超过限制后,就会在限制范围内,找一个距离它最接近的位置赋值给x。
在这里插入图片描述
如下图所示,这是一个最简单的Attack的方法,它让Gradient只为+1或者-1,这样就可以到L-infinity中正方形的四个角,而达到一击必中。
在这里插入图片描述
当然,这里也可以多跑几次循环,但是容易出现跑出四边形的范围,可以利用前面的方法把它拽回来。

1.4 White Box V.S. Black Box

如下图所示,在之前的攻击中,需要知道network的参数的攻击叫做白箱攻击;不知道模型的架构和参数,对模型进行攻击,叫做黑箱攻击。
在这里插入图片描述

如下图所示,在知道训练数据时进行黑箱攻击,可以用这组训练资料去训练一个Network Proxy,然后用它模拟Network Black,也就是去模拟要攻击的对象。

如果没有训练资料该如何进行攻击?
我们可以把一堆图片输入到Network Black中,然后得到输出,把输入和输出拿来训练Network Proxy。

在这里插入图片描述

2. Defense

防御攻击的方法,大体分为两种,一种是Passive Defense,另一张则是Passive Defense。

2.1 Passive Defense

被动防御就是指在模型之前加上一个过滤器,去减小Attack signal的强度,使Network辨识正确,如下图所示。
在这里插入图片描述
主要的方法有:
1.对图片进行模糊化,但有一个影响是没有被攻击的图片进行模糊化后,会导致分数下降;
2.对图片进行压缩处理;
3.将图片使用Generator重新产生一张相同的图片。
在这里插入图片描述
被动防御有一个很大的问题是如果防御措施被泄露后,会把防御措施当作对模型的攻击。因此加上随机性(Randomization),也就是说自己都不知道图片会被怎么处理,随机采用不同的防御措施,但是如果被攻击者知道随机的规律(也就是随机的概率分布),也会导致防御失效。

2.2 Proactive Defense

Proactive Defense是指一开始就训练出一个不容易被攻破的模型,具体过程就是在训练阶段就对模型进行攻击,然后把攻击后得到的资料重新去训练模型,这个过程就是数据增强,反复进行这个过程,就会得到一个不容易被攻破的模型,但是这种方法未必能抵挡住新的攻击,而且Adversarial Training需要大量的时间成本。
在这里插入图片描述

总结

Adversarial Attack和Defense是机器学习和深度学习领域中非常重要的研究方向。在对抗攻击方面,攻击者通过微小的扰动可以使模型产生错误的预测结果,这对于保护模型和确保其安全性提出了新的挑战。白盒攻击和黑盒攻击分别涉及攻击者了解模型结构和参数与不了解模型结构的情况,具有不同的攻击方式和难度。在防御方面,被动防御和主动防御是不同的策略。被动防御主要是通过检测和修复对抗样本来增强模型的鲁棒性,而主动防御则是在训练过程中增加对抗性样本,使模型更好地应对对抗攻击。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值