AI安全之对抗学习
文章平均质量分 93
对抗样本的生成原理与机制,如何防御对抗样本以及对抗样本背后的真相,让我们一起揭晓吧
我爱你你不懂
如梦幻影,做现实的演员,演内心的独角戏。
展开
-
对抗样本库之foolbox
目录1 前言2 foolbox使用2.1 构建并训练模型2.2 foolbox加载数据2.3 CW有目标及无目标实例2.4. foolbox杂谈3 总结附录1 前言对抗样本库的一些基本介绍,大家可以看cleverhans的前言部分foolbox支持tensorflow,pytorch以及jax框架,包含大量对抗样本攻击方式。这里主要介绍使用torch+foolbox来实现对抗样本攻击。使用pip install foolbox 进行安装。官网资料:github foolbox库foolb原创 2021-08-03 13:52:51 · 3808 阅读 · 3 评论 -
对抗样本库之cleverhans
目录1 前言2 cleverhans使用2.1 构建并训练模型2.2 cleverhans攻击及可视化3 总结附录1 前言对抗样本库,即进行对抗样本攻击或防御的工具。cleverhans,foolbox,advertorch这三个对抗样本库是比较常用的。github搜索关键字即可找到。cleverhans在github有5k个star,foolbox 2k个star,advertorch 1k个star。通过该信息自然大家都会选择使用cleverfans。cleverhans在之前的版本中只支持t原创 2021-08-02 18:17:55 · 9228 阅读 · 7 评论 -
大白话之One Pixel Attack for Fooling Deep Neural Networks论文讲解
1 引言使用单像素点愚弄深度神经网络。2017 CVPR 论文地址对抗样本生成的一种策略。本文采取一种独立思考的方式,来理解与讲解这篇论文。2 算法原理2.1 第一印象what the fuck?改变一个像素点就能使网络分类错误?想法great,但怎么可能逐渐冷静。。。单像素点真的能攻击成功?2.2 初步设想Can we:貌似 ”goodfellow的模型高度线性化,使得图像会有扰动放大效应“ 为改设想提供了一定的理论依据。How:假设确实改动某个像素点的值能实现对抗攻击。那原创 2021-07-26 18:39:45 · 1432 阅读 · 3 评论 -
对抗样本之JSMA原理&coding
目录1 引言2 JSMA原理3 coding3.1 训练模型3.2 JSMA对抗样本生成3.3 测试鲁棒性3.4 可视化展示附录1 引言本文代码完成生成JSMA对抗样本的完整过程。直接复制代码就能跑。相信我,不骗你。使用pytorch实现JSMA。pytorch不会?跳转2016 论文地址2 JSMA原理与FGSM利用模型输出的损失函数梯度信息不同,JSMA主要利用模型的输出类别概率信息,来反向传播求得对应梯度信息。作者将其称为前向梯度。即:通过如上的前向梯度,我们可以知道每个像素点对原创 2021-07-23 11:30:15 · 4115 阅读 · 7 评论 -
对抗样本之DeepFool原理&coding
目录1 笔者言2 coding2.1 训练模型2.2 DeepFool对抗样本生成2.3 测试鲁棒性2.4 可视化展示附录1 笔者言虽说标题有DeepFool原理,但能力有限,这个我确实讲不清楚。与FGSM,BIM,MIM,CW等生成对抗样本的方法相比,deepfool是最难的了。给你推荐一个我看懂了的文章,但切记,想要真正明白deepfool的原理,就一定要耐下性子认真看,还要多动笔画示意图。言至此,传送门本文主要讲解代码,完成生成deepfool对抗样本的完整过程。直接复制代码就能跑。相信我,不原创 2021-07-21 23:25:02 · 3366 阅读 · 3 评论 -
对抗样本之MIM原理&coding
1 引言MIM,即基于动量的基本迭代法。在BIM上加了动量的操作。不会BIM?跳转理解了BIM(基本迭代法),相信MIM的原理对你也不难。使用pytorch实现MIM。pytorch不会?跳转MIM 论文地址2 MIM原理对比BIMMIM如上,MIM与BIM在公式上就是有没有 miu*gt 的区别。其方法主要借鉴于神经网络中参数更新的momentum动量的思想。说白了,MIM的本质就是,在进行迭代的时候,每一轮的扰动不仅与当前的梯度方向有关,还与之前算出来的梯度方向相关原创 2021-07-20 23:12:28 · 2105 阅读 · 6 评论 -
对抗样本之BIM原理&coding
1 引言BIM,即基本迭代法,在FGSM基础上加上了迭代操作。想看FGSM,跳转理解了FGSM,相信对BIM会丝毫没有压力。各位看官大多还是奔着代码去的吧,这里核心讲下代码。使用pytorch实现BIM。pytorch不会?跳转2 BIM原理对比FGSM公式BIM公式如上,BIM与FGSM真就是一个for循环的区别。但为什么BIM也能发论文呢?BIM存在其数学理论的合理性以及实验效果表现良好。FGSM的使用,基于作者假设模型是高度线性化的。如此一来,梯度上升的方向就是最佳原创 2021-07-20 11:27:19 · 2701 阅读 · 4 评论 -
进化算法及模拟退火算法详解
文章目录1 引言2 GA遗传算法3 ES算法4 ES(1+1)算法5 模拟退火算法6 总结1 引言学习启发式算法需紧抓两点:如何通过父代生成子代点。通俗点来讲,就是种群如何交叉繁衍如何实现优胜劣汰,即使用何种算法将一个种群表现优秀的个体保存下来牢抓以上两点,有的放矢,启发式算法就简单的一批。2 GA遗传算法这里主要讲下GA算法的宏观思路。初始化100个父代(其实就是上图的100个点的x值),那如何通过这些父代,产生子代呢?这里就要拿生物学上的概念来理解了。现在我们把一个父代或子代看原创 2021-06-14 19:23:40 · 1109 阅读 · 4 评论 -
对抗样本之CW原理&coding
目录1 引言2 算法详解2.1 常人思路2.2 CW算法思路3 攻击直观对比4 总结5 附录1 引言本文采用手稿模拟的角度,尽量使读者较为直白的面对冷冰冰的公式。抛去CW算法不谈。一般来说,生成样本算法都要保证如下两个条件:1、对抗样本和干净样本的差距应该越小越好。评价指标有 L0,L2,L正无穷2、对抗样本应该使得模型分类错,且分类错的那一类的置信度应足够的高(有目标攻击)。条件一,保证了生成样本与原始干净样本尽量的相似。条件二,保证了生成样本确实能成功攻击模型。仔细想想,这两个条件是原创 2021-06-09 13:53:20 · 4402 阅读 · 12 评论 -
对抗样本之FGSM原理&coding
文章目录1、FGSM原理2、pytorch实现2.1 建立模型2.2 FGSM模块2.3 测试2.4 可视化对比2.5 对比样本与对抗样本1、FGSM原理论文 Explaining and harnessing adversarial examples. 这篇论文由Goodfellow等人发表在ICLR2015会议上,是对抗样本生成领域的经典论文。FGSM(fast gradient sign method)是一种基于梯度生成对抗样本的算法,属于对抗攻击中的无目标攻击(即不要求对抗样本经过mod原创 2021-05-13 13:56:37 · 6655 阅读 · 13 评论