李宏毅机器学习笔记33

目录

摘要

Abstract

[1.adversarial attack概念](#1.adversarial attack概念)

[2.如何做到adversarial attack](#2.如何做到adversarial attack)

[3.Attack approach](#3.Attack approach)

[Fast gradient sign method(FGSM)](#Fast gradient sign method(FGSM))

[4.Black Box attack](#4.Black Box attack)


摘要

本篇文章继续学习李宏毅老师2025春季机器学习课程,学习内容是adversarial attack的相关概念以及进行白盒,黑盒攻击的相关原理及方法。

1.adversarial attack概念

在实际应用中,network不仅仅需要正确率高,还需要能够应付人类故意骗过network的行为。举一个例子,我们有一个影像辨识系统,给他一张照片begin image,可以告诉我们这张照片属于什么类别,下图示例中begin image属于猫的类别。现在我们在照片上加入非常小的杂讯,即一张照片可以看作是一个非常长的向量,我们在向量的每一个维度上加入一点小小的杂讯。加入杂讯的照片(attacked image)一般用肉眼无法辨别,我们期待attacked image丢入network输出不是猫。攻击可以分为两种攻击,一种是无目标攻击,只要让network输出不是猫就算成功。

另一种更困难的攻击是有目标的攻击,此时我们需要network输出不是猫而是别的东西,比如说加入杂讯后希望network输出海星,把猫误判为海星才算成功。在一个50层的ResNet中,输入begin image,输出是tiger cat,信心分数为0.64。在加入杂讯后在让ResNet判断,输出是Star Fish,且信心分数为1。

将两张照片相减并将差距放大50倍会得到下图的结果。

2.如何做到adversarial attack

输入是一张图片X0,network是一个function称为f,输出是一个distribution成为value。假设network参数是固定的,我们要找出无目标攻击的杂讯,需要一张新的图片X,作为输入时它的输出为y,我们希望y与正确答案的差距越大越好。定义一个loss function为L,L是y与正确答案的差距取一个负号,这样得到最小的L就是y与正确答案的差距最大值。如果是有目标的攻击,就不仅需要y与正确答案的差距越大越好,还需要y与目标答案越近越好,此时的L就可以写为y与正确答案的差距的负值与y与目标答案的差距相加。

除此之外还有一个限制,就是X与X0之间的差距要小到人眼无法察觉。如何计算两张图片的差距呢?两张图片都视为一个很长的向量,X与X0相减得到。一种L2-norm是将的每一个数值拿出来取平方在做加法的和作为距离。另一种L-infinity,是取中绝对值最大的数值作为距离。

对于人类的感知来说,我们选择L-infinity更好。举一个例子,下图中的四色方块,一个是四个颜色都做了一点微小的改变,一个是集中改变绿色的小块,他们的L2-norm是相同的,但是集中改变颜色的L-infinity更大,从这个例子中L-infinity更接近人类的感知,更适合做攻击。

3.Attack approach

我们首先要找一个X去minimize loss的值,先去除掉X的限制,这就普通的训练模型没有差别,只是从调整参数变为调整输入(加色参数是固定的),用的一样是gradient descent。初始化的值为X0,之后就和普通的gradient相同,只是gradient不是network的参数,而是输入的图片对loss的gradient,输入的图片视为向量也就是去计算向量X中每一个数值对L的偏微分,然后用gradient去更新image就结束了。

接下来我们将X的限制加入。方法很简单,我们更新完image之后,发现X与X0的差距过大,我们就把X更改为符合限制的Xt。举例来说,如下图中右侧,方框为最大差距,更新完之后处于方框外,将点拉回到方框内即可。

Fast gradient sign method(FGSM)

FGSM是一种最简单的attack的方法,它只更新一次。在g这边做了一个特别的设计,它不直接使用gradient descent的值而是取一个sign,sign()的意思是如果括号内的值小于0就输出-1,括号内的值大于0就输出1,最后得到的效果就是,一定会落在蓝色方框内的四个角落。

4.Black Box attack

知道模型参数的叫做白箱攻击,不知道模型参数的叫做黑箱攻击。黑箱攻击如何实现?假设知道是用什么资料训练的,我们就可以训练一个proxy network去模拟我们要攻击的对象,可以成功攻击proxy network也许就能攻击我们不知到的black network。

如果没有训练资料的情况下,就可以自己输入一堆图片,获得输出,用这些当作训练资料去训练一个proxy network进行攻击。Black Box attack的成功率还是很高的,下图所示的数据中,非对角线的表示黑箱攻击,数据表示模型正确的概率,概率越低表示攻击越成功。在黑箱攻击时,无目标攻击的成功率还是很高的。

另一种攻击方法成功率更高,行代表被攻击的模型,列代表5个模型中被去除的模型,即对角线为黑箱攻击。不难看出,当一个image可以同时骗过多个network时,骗过一个不知道参数的黑箱network也很容易成功。

相关推荐
IT伟哥3 小时前
软件设计师重点笔记-3
笔记·软考·软件设计师·软考备考
航Hang*3 小时前
第1章:初识Linux系统——第8节:查看/修改权限控制和ACL
linux·运维·服务器·笔记·操作系统
无风听海3 小时前
神经网络之密集的词向量如何能够代表稀疏的词向量
人工智能·神经网络·机器学习
文火冰糖的硅基工坊3 小时前
[人工智能-大模型-74]:模型层技术 - 模型训练六大步:③神经网络,预测输出:基本功能与对应的基本组成函数
人工智能·深度学习·神经网络
mwq301234 小时前
RLHF-奖励模型RM 的“引擎”:Pairwise Loss 梯度计算详解
人工智能
亚远景aspice4 小时前
亚远景热烈祝贺保隆科技通过ASPICE CL2评估
大数据·人工智能·物联网
苍何4 小时前
这款国产智能编码工具,竟然登顶全球TOP3!
人工智能
许泽宇的技术分享4 小时前
提示词工程完全指南:从入门到精通的AI对话艺术 —— 用一句话驯服千亿参数的“大脑“
人工智能
淡漠的蓝精灵4 小时前
深度解析Weights & Biases:让AI实验管理变得如此简单
人工智能·其他·机器学习