当前位置: 首页 > 编程日记 > 正文

一文读懂对抗机器学习Universal adversarial perturbations | CSDN博文精选

640?wx_fmt=jpeg

作者 | Icoding_F2014

来源 | CSDN博客

本文提出一种 universal 对抗扰动,universal 是指同一个扰动加入到不同的图片中,能够使图片被分类模型误分类,而不管图片到底是什么。示意图:

640?wx_fmt=png

形式化的定义:

对于d维数据分布 μ,里面的每一个样本640?wx_fmt=png,存在一个分类器640?wx_fmt=png。v是一个扰动,v满足:

640?wx_fmt=png

同时,还有一个范数的约束:

640?wx_fmt=jpeg

换句说,需要找到一个对抗扰动v,这个扰动可以加到所有的样本点上,而且会以1−δ的概率让对抗样本被分类错误。

作者提出了一种算法来寻找这种对抗扰动:

640?wx_fmt=png

其中:

640?wx_fmt=png

表示把寻到到的扰动v限制在640?wx_fmt=jpeg范数下以ε 为半径的球上。

这个算法的思想是:

从u里面采样出一个样本集 X ,里面有m个图片,然后迭代地寻找能够让m个样本以1−δ概率被分类错误的对抗扰动。

一开始v=0,没有什么扰动,然后对于每个样本640?wx_fmt=png,看它加上扰动v后,会不会分类错误,如果分类错误,则下一个样本; 否则寻找一个微小的扰动640?wx_fmt=png ,使得640?wx_fmt=png被分类错误。持续这个过程,直到在这m个样本中错误样本满足错误率。

对抗效果:

基于一个数据集,寻找到的universal 对抗扰动,可以使得新样本也分类错误:

640?wx_fmt=png

其中X是训练集,Val是验证集。

不同模型寻找到universal扰动,也可以使其它模型分类错误,这是模型间的迁移性,注意这里的迁移性与常规的对抗样本的迁移性有一些不同。

640?wx_fmt=png

X 训练集样本量的影响:

640?wx_fmt=png

作者使用的是ImageNet,改数据集有1000类。可以看出当X包含4000个样本时,每个类平均4个样本,攻击成功率可以达到70%左右。而x包含500个样本,平均每个类0.5个样本,对抗成功率也有30%。

Universal pertubations存在性解释:

对于验证集里面的每个样本x,我们寻找它的对抗扰动r(x)=

640?wx_fmt=png

这种r(x) r(x)r(x)其实可以近似看作是分类模型在x xx处的决策界的法向量,因为它很小,只改x的一点点就让分类器得到其它的标签。

作者提取n个样本处的这种法向量,并对它们进行单位化,形成正规矩阵N:

640?wx_fmt=png

通过对N进行SVG分解,作者发现N的奇异值有一些特别大,而另外一些特别小:

640?wx_fmt=png

这种现象意味着,这些法向量其实可以存在冗余的,换句话说这些法向量所在决策界存在着冗余性和相关性。

基于SVG分解的前100 100100个向量张成的对抗扰动,也能取得38%的对抗准确性。这就说明了,神经网络学习得到的决策界,在高维空间是存在相似的相关性的。

通过样本子集X可以获得m个样本的决策界相关性,这种相关性在其它不同的样本周围的决策界上依然存在。

Universal Pertubation则是以最大化成功率的使用这些法向量构建扰动,因而它也会学习到决策界的相关性。

启发与未来工作点

  • Universal pertubations的存在,使得我们可以通过预训练找好这种通用扰动,然后在实际预测的时候直接把这些扰动加到正常样本上来实施攻击。在这种攻击模式下,攻击者在预测阶段是可以做到实时的,可以不用像传统方法那样花大量的时间针对测试阶段遇到的样本计算对抗扰动。在实时对抗领域,universal pertubation会有很大的空间。

  • 应该也可以使用GAN来产生这种universal pertubation。Generator接受噪声 z ,产生universal pertubations,然后把这种扰动加到所有的正常样本 x 上,使得鉴别器 kˆ(⋅) \hat k(·)

(⋅)(这个鉴别器可以事先训练,GAN训练过程中固定住它)把 x+v x+vx+v识别错,同时在损失函数中加入对 v 的范数约束。

  • 有目标的pertubations.文中提到的方法是无targeted的,只要universal pertubation把原始样本被分类器识别错了就行。这里的targeted可以是:1. 只针对特定的类别做干扰的,例如 universal pertubations可以加到所有图片上,但只会把含有狗的图片这类特殊对象攻击成功。2. Universal pertubations加到所有图片上后,会把所有图片的狗的得分都大化,而不管图片是不是真的有狗。

代码地址:

https://github.com/LTS4/universal

本文转自CSDN博客,转载请联系原作者。扫码查看作者更多文章。

640?wx_fmt=jpeg

(*本文为 AI科技大本营转载文章,联系原作者


精彩推荐


2019 中国大数据技术大会(BDTC)再度来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。

即日起,限量 5 折票开售,数量有限,扫码购买,先到先得!

640?wx_fmt=jpeg

推荐阅读

640?wx_fmt=png

你点的每个“在看”,我都认真当成了AI

相关文章:

Reactor模式与Proactor模式

博主一脚刚踏进分布式的大门(看《分布式Java应用》,如果大家有啥推荐的书欢迎留言~),发现书中对NIO采用的Reactor模式、AIO采用的Proactor模式一笔带过,好奇心趋势我找了一下文章,发现两篇挺不错的文章&…

linux下使profile和.bash_profile立即生效的方法

使profile生效的方法1.source /etc/profile使用.bash_profile生效的方法1 . .bash_profile2 source .bash_profile3 exec bash --login转载于:https://blog.51cto.com/shine20/1436473

吴恩达老师深度学习视频课笔记:多隐含层神经网络公式推导(二分类)

多隐含层神经网络的推导步骤非常类似于单隐含层神经网络的步骤,只不过是多重复几遍。关于单隐含层神经网络公式的推导可以参考: http://blog.csdn.net/fengbingchun/article/details/79370310 逻辑回归是一个浅层模型(shadow model),或称单层…

Python中的元编程:一个关于修饰器和元类的简单教程

作者 | Saurabh Kukade译者 | 刘畅出品 | AI科技大本营(ID:rgznai100)最近,作者遇到一个非常有趣的概念,它就是用 Python 进行元编程。我想在本文中分享我对该主题的见解。作者希望它可以帮助解决这个问题,因为很多人说…

获取用户电脑的上网IP地址

在项目中经常要获取用户的上网的IP地址&#xff0c;如何获取用户的IP地址&#xff0c;方法很多&#xff0c;现在介绍以下2种。 /// <summary> /// 获取本机在局域网的IP地址 /// </summary> /// <returns></returns> …

数学图形(1.40)T_parameter

不记得在哪搞了个数学公式生成的图形. vertices 1000t from 0 to (2*PI) r 2.0 x r*(5*cos(t) - cos(6*t)) y r*(3*sin(t) - sin(4*t)) 给线加上一维变量的变化,使之变成面: vertices D1:360 D2:21u from 0 to (2*PI) D1 v from 0 to 20 D2x (v2)*cos(u) - cos((v3)*u…

K-均值聚类(K-Means) C++代码实现

K-均值聚类(K-Means)简介可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/79276668 以下是K-Means的C实现&#xff0c;code参考OpenCV 3.3中的cv::kmeans函数&#xff0c;均值点初始化的方法仅支持KMEANS_RANDOM_CENTERS。以下是从数据集MNIST中提取…

让学生网络相互学习,为什么深度相互学习优于传统蒸馏模型?| 论文精读

作者 | Ying Zhang&#xff0c;Tao Xiang等译者 | 李杰出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;蒸馏模型是一种将知识从教师网络&#xff08;teacher&#xff09;传递到学生网络&#xff08;student&#xff09;的有效且广泛使用的技术。通常来说&#xff0c;…

mac apache 配置

mac系统自带apache这无疑给广大的开发朋友提供了便利&#xff0c;接下来是针对其中的一些说明 一、自带apache相关命令 1. sudo apachectl start 启动服务&#xff0c;需要权限&#xff0c;就是你计算机的password 2. sudo apachectl stop 终止服务 ####3. sudo apachectl rest…

jQuery学习---------认识事件处理

3种事件模型&#xff1a;原始事件模型DOM事件模型IE事件模型原始事件模型&#xff08;0级事件模型&#xff09;1、事件处理程序被定义为函数实例&#xff0c;然后绑定到DOM元素事件对象上&#xff0c;实现事件的注册。例子&#xff1a;var btn document.getElementsByTagName(…

C++中的虚函数表介绍

在C语言中,当我们使用基类的引用或指针调用一个虚成员函数时会执行动态绑定。因为我们直到运行时才能知道到底调用了哪个版本的虚函数&#xff0c;所以所有虚函数都必须有定义。通常情况下&#xff0c;如果我们不使用某个函数&#xff0c;则无须为该函数提供定义。但是我们必须…

AI如何赋能金融行业?百度、图灵深视等同台分享技术实践

近日&#xff0c;由BTCMEX举办的金融技术创新研讨会在北京举办。BTCMEX投资人李笑来&#xff0c;AI技术公司TuringPass、百度、美国Apache基金会项目Pulsar、区块链安全公司SlowMist等相关专家参加了此次会议&#xff0c;共同探讨了金融技术在创新方面的现状。 图灵深视副总裁许…

【Win32 API学习]打开可执行文件

在MFC中打开其他可执行文件常用到的方法有&#xff1a;WinExec、ShellExecute、CreatProcess。 1.WinExec WinExec 主要运行EXE文件&#xff0c;用法简单&#xff0c;只有两个参数&#xff0c;前一个指定命令路径&#xff0c;后一个指定窗口显示方式&#xff1a; UINT WinExec(…

支付宝接口使用文档说明 支付宝异步通知

支付宝接口使用文档说明 支付宝异步通知(notify_url)与return_url. 现支付宝的通知有两类。 A服务器通知&#xff0c;对应的参数为notify_url&#xff0c;支付宝通知使用POST方式 B页面跳转通知&#xff0c;对应的参数为return_url&#xff0c;支付宝通知使用GET方式 &#xff…

完全隐藏Master Page Site Actions菜单只有管理员才可以看见

1. 在Master Page Head 增加下面的Style <style type"text/css"> .ms-cui-tt{visibility:hidden;} </style> 2. 增加SPSecurityTrimmedControl <SharePoint:SPRibbonPeripheralContent runat"server" Location"TabRowLeft&qu…

深度学习中的随机梯度下降(SGD)简介

随机梯度下降(Stochastic Gradient Descent, SGD)是梯度下降算法的一个扩展。机器学习中反复出现的一个问题是好的泛化需要大的训练集&#xff0c;但大的训练集的计算代价也更大。机器学习算法中的代价函数通常可以分解成每个样本的代价函数的总和。随着训练集规模增长为数十亿…

推荐系统中的前沿技术研究与落地:深度学习、AutoML与强化学习 | AI ProCon 2019...

整理 | 夕颜出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;个性化推荐算法滥觞于互联网的急速发展&#xff0c;随着国内外互联网公司&#xff0c;如 Netflix 在电影领域&#xff0c;亚马逊、淘宝、京东等在电商领域&#xff0c;今日头条在内容领域的采用和推动&…

运维日志管理系统

因公司数据安全和分析的需要&#xff0c;故调研了一下 GlusterFS lagstash elasticsearch kibana 3 redis 整合在一起的日志管理应用&#xff1a;安装&#xff0c;配置过程&#xff0c;使用情况等续一&#xff0c;glusterfs分布式文件系统部署&#xff1a;说明&#xf…

NLP学习思维导图,非常的全面和清晰

作者 | Tae Hwan Jung & Kyung Hee编译 | ronghuaiyang【导读】Github上有人整理了NLP的学习路线图&#xff08;思维导图&#xff09;&#xff0c;非常的全面和清晰&#xff0c;分享给大家。先奉上GitHub地址&#xff1a;https://github.com/graykode/nlp-roadmapnlp-roadm…

Go在windows10 64位上安装过程

1. 从 https://golang.org/dl/ 下载最新的发布版本go1.10即go1.10.windows-amd64.msi; 2. 双击go1.10.windows-amd64.msi ,使用默认选项&#xff0c;默认会安装到C:\Go目录下&#xff1b; 3. 将C:\Go\bin目录添加到系统环境变量中(默认已自动添加)&#xff0c;此目录下有go.exe…

Windows SharePoint Services 3.0 应用程序模板

微软发布的一些WSS模板&#xff0c;看了一下&#xff0c;跟以前看到的模板好像不同模板分两类&#xff0c;一类是站点管理模板&#xff0c;一类是服务器管理模板站点管理模板&#xff1a;董事会、业务绩效报告、政府机构案例管理、课堂管理、临床试验启动和管理、竞争性分析站点…

HAProxy+Keepalived高可用负载均衡配置

一、系统环境&#xff1a;系统版本&#xff1a;CentOS5.5 x86_64master_ip:172.20.27.40backup_ip:172.20.27.50 vip:172.20.27.200web_1: 172.20.27.90web_2:172.20.27.100二、haproxy安装&#xff1a;1.首先172.20.27.40安装上安装&#xff1a;1.1安装 tar zxvf haproxy-1.3.…

Go在Ubuntu 14.04 64位上的安装过程

1. 从 https://golang.org/dl/ 或 https://studygolang.com/dl 下载最新的发布版本go1.10即go1.10.linux-amd64.tar.gz&#xff1b; 2. 将下载的tar包解压缩到/usr/local目录下&#xff0c;执行以下命令&#xff0c;结果如下&#xff1a; $ sudo tar -C /usr/local -xzf go1.…

毕业就拿阿里offer,你和他比差在哪?

我在大学的时候&#xff0c;真的遇到一个神人&#xff0c;叫他小马吧。超前学习。1024&#xff0c;是程序员的节日&#xff0c;恰逢CSDN的20周年&#xff0c;我们准备为你做件大事&#xff01;我们与AI博士唐宇迪、畅销书作家、北大硕士阿甘等4位老师&#xff0c;共同为大家带来…

04号团队-团队任务5:项目总结会

1.团队信息 团队序号&#xff1a;04 开发项目&#xff1a;北软毕设管理系统 整理人&#xff1a;丛云聪 学号&#xff1a;2017035107185 在团队中的职务&#xff1a;项目经理兼产品经理 2.代码仓库地址 主仓库&#xff1a;https://gitee.com/The_Old_Cousin/StuInfoManage…

微软职位内部推荐-Sr SDE for Win Apps Ecosystem

微软近期Open的职位:Job posting title: Senior Software Design EngineerLocation: China, BeijingLevel: 63Division: Operations System Group EngineeringGroup OverviewOSG is delivering flagship products in Microsoft. China is a second largest economy in the worl…

C# Winform 启动和停止进程

启动和停止进程 一、启动进程 方法1&#xff1a; &#xff08;1&#xff09; 创建一个Process组件的实例&#xff0c;例如&#xff1a; Process myProcess new Process(); &#xff08;2&#xff09; 设置其对应的StartInfo属性&#xff0c;指定要运行的应用程序名…

在Windows/Ubuntu上使用Visual Studio Code作为Go语言编辑器操作步骤

下面以在Windows10上操作为例&#xff0c;在Ubuntu上操作步骤与windows一致&#xff1a; 1. 从 https://code.visualstudio.com/ 下载windows上的最新发布版本1.21.1&#xff0c;即VSCodeSetup-x64-1.21.1.exe&#xff1b; 2. 以管理员身份运行VSCodeSetup-x64-1.21.1.exe&…

实战:基于tensorflow 的中文语音识别模型 | CSDN博文精选

作者 | Pelhans来源 | CSDN博客目前网上关于tensorflow 的中文语音识别实现较少&#xff0c;而且结构功能较为简单。而百度在PaddlePaddle上的 Deepspeech2 实现功能却很强大&#xff0c;因此就做了一次大自然的搬运工把框架转为tensorflow….简介百度开源的基于PaddlePaddle的…

js获取Html元素的实际宽度高度

第一种情况就是宽高都写在样式表里&#xff0c;就比如#div1{width:120px;}。这中情况通过#div1.style.width拿不到宽度&#xff0c;而通过#div1.offsetWidth才可以获取到宽度。第二种情况就是宽和高是写在行内中&#xff0c;比如style"width:120px;"&#xff0c;这中…