SNN对抗攻击笔记
SNN对抗攻击笔记:
1. 解决SNN对抗攻击中脉冲与梯度数据格式不兼容性以及梯度消失问题:
- G2S Converter、Gradient Trigger[1]
2. 基于梯度的对抗攻击方式:
- FGSM[1-3]
- R-FGSM[3]
- I-FGSM[3]
- BIM[1]
- PGD[2]
3. 图像转化到脉冲序列的采样方式:
- Poisson事件生成过程[1-9]
4. SNN类型:
- SNN-conv(ANN-SNN Conversion)[2-7, 9]
- 采用的神经元模型
- IF神经元模型[2-7, 9]
- LIF神经元模型[2, 4]
- Trick
- 阈值平衡[2-5]
- 权重归一化[5, 9]
- 采用的神经元模型
- SNN-BP[1-4, 8]
- 替代梯度法:
- 分段常数函数(迭代LIF神经元模型)[1]
- 脉冲时间相关函数(IF/LIF神经元模型)[2, 4]
- 阈值相关函数(IF/LIF神经元模型)[3, 8]
5. 影响对抗攻击效果的因素分析:
- 损失函数、发放阈值(倒数第二层)[1]
- 输入量化、时间步骤数、泄漏因子[2]
6.对抗攻击类型:
- 白盒攻击、目标/非目标攻击[1]
- 白/黑盒攻击、非目标攻击(这里的黑盒攻击是由具有相同网络结构但不同初始化的ANN创建的)[2]
- 白/黑盒攻击、目标/非目标攻击[3]
7. SNN/ANN-crafted攻击的比较:
- 在独立攻击场景中,所有白盒攻击成功率都相当高[1]
- 利用ANN-crafted的对抗样本来欺骗SNN模型是非常困难的[1]
- 在黑盒设置下,ANN-crafted攻击比相应的SNN-crafted攻击强[2]
- 在白/黑盒设置中,SNN-crafted比ANN-crafted具有更强的攻击能力[3]
- 尽管在白盒设置中,SNN的精度下降要高于ANN,但SNN对黑盒攻击的抵抗力要比ANN高得多[3]
8. SNN/ANN健壮性的比较:
- 白盒攻击SNN模型比白盒攻击ANN模型需要更多的扰动,这反映了SNN模型具有更高的健壮性[1]
- 在白/黑盒攻击下,与SNN-BP网络的非脉冲对应以及SNN-conv网络相比,SNN-BP网络具有更强的健壮性[2]
- 对于白/黑盒攻击,SNN-BP比SNN-conv具有更强的健壮性[3]
9. SNN中神经元的选择:
- 在SNN(ANN)中每个卷积层、平均池化层和全连接层之后,都跟着LIF神经元(ReLU激活)[3]
- 为了避免负值,使用ReLU激活,然后用IF神经元替代ReLU激活[5-7]
10. SNN中池化的选择:
- SNN
- 在SNN中,激活是二进制的,执行最大池化将导致下一层的大量信息丢失[3-6]
- SNN-conv
- 将VGG的最大池化层用平均池化替代[2]
- 最大池化需要两层脉冲网络;在CNN中,空间最大池化被实现为在输入中的小图像邻域上获取最大输出值; 在SNN中,我们需要两层神经网络来实现此目的,同时需要横向抑制,然后合并在这些小的图像区域上;这种方法需要更多的神经元,并且由于增加的复杂性而可能导致准确性下降[7]
- 使用空间线性子采样代替空间最大池化;空间线性二次采样使用总和为1.0的均匀权重核将小图像邻域上的所有像素相加; 空间线性子采样函数可以轻松转换为脉冲域[7]
- 在这里,我们提出了一种简单的脉冲池化机制,其中输出单元包含门控函数,该函数仅允许最大发放神经元的脉冲通过,而丢弃其他神经元的脉冲;通过计算突触前发放率的估计,例如通过计算这些rate的实时或指数加权平均值,来控制门控函数;在实践中,我们发现了几种有效的方法,但是仅使用有限的脉冲响应滤波器(2x2的最大池化层)来控制门控函数以证明结果[9]
- SNN-BP
- 由于其简单性,我们使用平均池化; 在SNN的情况下,平均后会使用额外阈值以生成输出脉冲[8]
11. SNN中偏差的选择:
- SNN
- 不含偏差项,因为它们对阈值电压有间接影响,因此对SNN训练的收敛性也有间接影响[2, 4]
- SNN-conv
- 没有很好的方法来表示SNN中的偏差[5-7]
- 在脉冲网络中,可以简单地以相同符号的恒定输入电流作为偏差来实现[9]
- 可以用恒定rate的外部脉冲输入表示偏差,该rate与ANN偏差成正比,尽管如此,人们可能不得不反转脉冲的符号以解决负偏差[9]
- BN的ANN-SNN转换(将BN参数整合到之前层的权重和偏差中)[9]
- SNN-BP
- 去除所有卷积层和全连接层中的偏差[7]
12. SNN中正则器的选择
- SNN
- 在每个卷积层和全连接层之后,都跟着Dropout(0.2)[3]
- 除非后面跟着一个池化层,否则在每个ReLU/IF之后都会使用一个Dropout层[2, 4]
- 无偏差排除了Batch Normalization(BN)作为正则器使用的可能性[2, 4, 5]
- SNN-conv
- 对于VGG网络,除非有池化层紧随其后,否则在每个ReLU层之后都会使用一个Dropout层[5]
- 对于残差网络,我们仅对非等效并行路径上的ReLU使用Dropout,而在结合层处不使用[5]
- SNN-BP
- 我们使用SNN版本的Dropout技术,忽略单元的概率(p)等于0.2-0.25;请注意,与ANN相比,SNN前向传播的激活要少得多,因此SNN的最佳p值必须小于典型的ANN Dropout(p = 0.5)[8]
Reference:
[1] Liang L , Hu X , Deng L , et al. Exploring Adversarial Attack in Spiking Neural Networks with Spike-Compatible Gradient[J]. 2020.
[2] Sharmin S , Rathi N , Panda P , et al. Inherent Adversarial Robustness of Deep Spiking Neural Networks: Effects of Discrete Input Encoding and Non-Linear Activations[J]. 2020.
[3] Sharmin S , Panda P , Sarwar S S , et al. A Comprehensive Analysis on Adversarial Robustness of Spiking Neural Networks[J]. 2019.
[4] Rathi, N., Srinivasan, G., Panda, P., Roy, K.: Enabling deep spiking neural networks with hybrid conversion and spike timing dependent backpropagation. In:ICLR (2020).
[5] Abhronil Sengupta, Yuting Ye, RobertWang, Chiao Liu, and Kaushik Roy. Going deeper in spiking neural networks: Vgg and residual architectures. Frontiers in neuroscience, 13, 2019.
[6] Peter U Diehl, Daniel Neil, Jonathan Binas, Matthew Cook, Shih-Chii Liu, and Michael Pfeiffer. Fast-classifying, high-accuracy spiking deep networks through weight and threshold balancing. In 2015 International Joint Conference on Neural Networks (IJCNN), pp. 1–8. IEEE, 2015.
[7] Cao Y , Chen Y , Khosla D . Spiking Deep Convolutional Neural Networks for Energy-Efficient Object Recognition[J]. International Journal of Computer Vision, 2015, 113(1):54-66.
[8] Chankyu Lee, Syed Shakib Sarwar, Kaushik Roy, Enabling Spike-based Backpropagation in State-of-the-art Deep Neural Network Architectures, arXiv:1903.06379, 2019.
[9] B. Rueckauer, I.-A. Lungu, Y. Hu, M. Pfeiffer, and S.-C. Liu. Conversion of continuous-valued deep networks to efficient event-driven networks for image classification. Frontiers in neuroscience, 11:682, 2017.
SNN对抗攻击笔记的更多相关文章
- KDD 2018 | 最佳论文:首个面向Facebook、arXiv网络图类的对抗攻击研究
8 月 19 日至 23 日,数据挖掘顶会 KDD 2018 在英国伦敦举行,昨日大会公布了最佳论文等奖项.最佳论文来自慕尼黑工业大学的研究者,他们提出了针对图深度学习模型的对抗攻击方法,是首个在属性 ...
- 对抗攻击(一) FGSM
引言 在对抗样本综述(二)中,我们知道了几种著名的对抗攻击和对抗防御的方法.下面具体来看下几种对抗攻击是如何工作的.这篇文章介绍FGSM(Fast Gradient Sign Method). 预备知 ...
- QA 中的对抗攻击和防御
攻击 supporting facts 的修改:字符调换,替换词(用空格embedding或近同义词,变形词等) 还有针对question的攻击. 梯度下降,在embediing上做攻击,如何deco ...
- Yii防注入攻击笔记
网站表单有注入漏洞须对所有用户输入的内容进行个过滤和检查,可以使用正则表达式或者直接输入字符判断,大部分是只允许输入字母和数字的,其它字符度不允许:对于内容复杂表单的内容,应该对html和script ...
- Exploring Adversarial Attack in Spiking Neural Networks with Spike-Compatible Gradient
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2001.01587v1 [cs.NE] 1 Jan 2020 Abstract 脉冲神经网络(SNN)被广泛应用于神经形态设 ...
- Inherent Adversarial Robustness of Deep Spiking Neural Networks: Effects of Discrete Input Encoding and Non-Linear Activations
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2003.10399v2 [cs.CV] 23 Jul 2020 ECCV 2020 1 https://github.com ...
- 深度学习课程笔记(十二) Matrix Capsule
深度学习课程笔记(十二) Matrix Capsule with EM Routing 2018-02-02 21:21:09 Paper: https://openreview.net/pdf ...
- Adversarial Examples for Semantic Segmentation and Object Detection 阅读笔记
Adversarial Examples for Semantic Segmentation and Object Detection (语义分割和目标检测中的对抗样本) 作者:Cihang Xie, ...
- 对抗样本攻防战,清华大学TSAIL团队再获CAAD攻防赛第一
最近,在全球安全领域的殿堂级盛会 DEF CON 2018 上,GeekPwn 拉斯维加斯站举行了 CAAD CTF 邀请赛,六支由国内外顶级 AI 学者与研究院组成的队伍共同探讨以对抗训练为攻防手段 ...
随机推荐
- dp入门题解
学dp学到自闭(真的判断不出是个dp问题哇) 来看一下最近学的dp简单的题库. 1.01背包问题(P1048) 这个的特点是每种东西只能拿一次. https://www.luogu.com.cn/pr ...
- 报错:invalid operands to binary - (have ‘int’ and ‘char *’)
//这个题是输入大写的一串字符,然后按A对应1...这个规律求乘积 char a[],b[]; scanf("%s",a); scanf("%s",b); in ...
- python入门神书!|python编程从入门到实践|内附网盘链接带提取码|
点击此处进入网盘下载地址 提取码:o39n 全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 —— 游戏.数据可视化和 Web 应用程序,同时掌握让 ...
- 编程小白的第一本python入门书电子版|百度网盘分享无偿获取|评分超高的python教材
点此进入网盘下载提取码:cr74 为了能让更多的编程小白轻松地入门编程,把高效学习法结合 Python 中的核心知识,写成了这本书.随意翻上几页,你就会发现这本书和其他编程书的不同,其中有大量的视觉化 ...
- 线程_threading合集
# 主线程等待所有子线程结束才结束 import threading from time import sleep,ctime def sing(): for i in range(3): print ...
- 6-Pandas之缺失值处理
一.了解缺失值 通常使用 NA('not available')来代指缺失值 在Pandas的数据结构中,缺失值使用 NaN('Not a Number')进行标识 除了汇总统计方法,还可以使用isn ...
- Python os.lchmod() 方法
概述 os.lchmod() 方法用于修改连接文件权限.高佣联盟 www.cgewang.com 只支持在 Unix 下使用. 语法 lchmod()方法语法格式如下: os.lchmod(path, ...
- C/C++编程笔记:C++入门知识丨认识C++的函数和对象
一. 本篇要学习的内容和知识结构概览 二. 知识点逐条分析 1. 混合型语言 C++源文件的文件扩展名为.cpp, 也就是c plus plus的简写, 在该文件里有且只能有一个名为main的主函数, ...
- 浅谈树形结构的特性和应用(上):多叉树,红黑树,堆,Trie树,B树,B+树...
上篇文章我们主要介绍了线性数据结构,本篇233酱带大家康康 无所不在的非线性数据结构之一:树形结构的特点和应用. 树形结构,是指:数据元素之间的关系像一颗树的数据结构.我们看图说话: 它具有以下特点: ...
- 【leetcode每日两题】-Day1-简单题
1. 两数之和 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组中同一个元素 ...