当前位置: 首页 > news >正文

李宏毅机器学习笔记33

目录

摘要

Abstract

1.adversarial attack概念

2.如何做到adversarial attack

3.Attack approach

Fast gradient sign method(FGSM)

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相减得到\Delta X。一种L2-norm是将\Delta X的每一个数值拿出来取平方在做加法的和作为距离。另一种L-infinity,是取\Delta X中绝对值最大的数值作为距离。

对于人类的感知来说,我们选择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也很容易成功。

http://www.dtcms.com/a/536155.html

相关文章:

  • 深入理解Bitbucket Pipelines:强大的CICD开源解决方案
  • Android 14 系统启动流程深度解析:rc文件的语法、解析及常见语法详解
  • 商城网站的seo优化改怎么做软件公司 网站建设费分录
  • 免费做淘宝客网站有哪些石家庄网站优化推广
  • 【瑆箫】正式入驻爱发电平台
  • 第三十三篇:贪心算法(二):区间调度与跳跃游戏
  • 美颜SDK跨平台适配实战解析:让AI美颜功能在iOS与Android都丝滑运行
  • 条款24:区分通用引用和右值引用
  • zookeeper + kafka
  • 旅游网站建设与规划网站可以做被告嘛
  • 医护上门系统开发的关键技术解析与实践指南
  • 大模型-模型压缩:量化、剪枝、蒸馏、二值化 (3
  • Win10结束支持后,Linux发行版ZorinOS下载量两天破10w?怎么安装?
  • php和mysql做租车网站平台广告投放
  • Spring Boot3零基础教程,KafkaTemplate 发送消息,笔记77
  • 强化学习2.3 MDP价值迭代和策略迭代收敛证明
  • 网站建设公司相关资质重养网站建设
  • Android 中 RecyclerView 控件实现局部刷新而非整行刷新
  • STM32学习路线!软硬件兼修:裸机+RTOS+LVGL+硬件设计+项目实战 (STM32多核心开发板)
  • iOS 26 文件导出与数据分析,多工具组合下的开发者实践指南
  • Gradle 与 CI/CD 集成:Jenkins/GitHub Actions 自动化构建配置
  • STM32——IWDG
  • 一般的网站开发语言用什么免费网页制作
  • 浅述视频汇聚平台EasyCVR视频编解码与转码技术如何成就视频体验
  • 站长工具seo域名解析不了腾讯微信小程序公众号
  • cms网站访问人数网站主机多大
  • 基于线性预测算法的PON系统动态资源调度matlab仿真
  • 10月27日
  • 系规案例模拟题分享
  • flink实验三:实时数据流处理(踩坑记录)