zoukankan      html  css  js  c++  java
  • R-SNN: An Analysis and Design Methodology for Robustifying Spiking Neural Networks against Adversarial Attacks through Noise Filters for Dynamic Vision Sensors

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布

    To appear at the 2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2021).

    Abstract

      脉冲神经网络(SNN)旨在在具有基于事件的动态视觉传感器(DVS)的神经形态芯片上实现时提供节能的学习能力。本文研究了SNN对此类基于DVS的系统的对抗性攻击的鲁棒性,并提出了R-SNN,这是一种通过有效的DVS噪声滤波来增强SNN的新方法。我们是第一个对DVS信号(即时空域中的事件帧)产生对抗性攻击,并为DVS传感器应用噪声滤波器以防御对抗性攻击的人。我们的结果表明,噪声滤波器有效地防止了SNN被愚弄。我们实验中的SNN在不同对抗性威胁模型下对DVS-Gesture和NMNIST数据集提供超过90%的准确率。

    Index Terms: Spiking Neural Networks, SNNs, Deep Learning, Adversarial Attacks, Security, Robustness, Defense, Filter, Perturbation, Noise, Dynamic Vision Sensors, DVS, Neuromorphic, Event-Based, DVS-Gesture, NMNIST.

    I. INTRODUCTION

      脉冲神经网络(SNN)旨在为各种机器学习应用提供节能的学习能力,例如自动驾驶[1]、医疗保健[2]和机器人技术[3]。与传统(即非脉冲)深度神经网络(DNN)不同,SNN在生物学上是合理的,能够在神经元之间实现基于事件的通信,从而以相对更接近的方式模拟人脑的处理过程[4]。此外,在功率/能源效率和实时分类性能方面的结果使得SNN很适合在资源受限的嵌入式系统中实现[5]。通过利用神经元之间基于脉冲的通信,与等效的DNN实现[6]相比,SNN表现出较低的计算负载,并减少了延迟。

      随着在专用神经形态加速器(例如IBM TrueNorth [7]和Intel Loihi [8])上实现的高效SNN开发,神经形态硬件领域的另一项进步来自新一代动态视觉传感器(DVS),即基于事件的相机传感器[9]。与经典的基于帧的相机不同,DVS通过以一系列脉冲的形式记录信息来模拟人类视网膜的行为,每次检测到光强度变化时都会生成脉冲序列。这些传感器基于事件的行为与在神经形态硬件上实现的SNN很好地配对,即DVS相机的输出可用作SNN的直接输入,以实时详细说明事件。

    A. Target Research Problem and Scientific Challenges

      与传统DNN的情况类似,SNN的可信度也受到对抗性攻击的威胁,即旨在打造网络正确功能的小而不易察觉的输入扰动。尽管已经进行了一些初步研究[10][11][12][13],但对于基于SNN的实际系统来说,这样的问题相对较新且尚未探索。特别是,尚未对基于DVS的系统进行SNN安全性调查。作为起点,设计鲁棒SNN的方法可以源自DNN防御机制的最新进展,其中研究重点是对抗性学习算法[14]、损失/正则化函数[15]和图像预处理[16]。后一种方法基本上包括通过专用滤波来抑制对抗性扰动。值得注意的是,对于由DVS信号馈送的基于SNN的系统,由于信号属性的差异,无法直接应用针对基于帧的传感器的攻击和基于预处理的防御技术。因此,必须使用DVS传感器的专用噪声滤波器[17]。

      据我们所知,对于安全的神经形态计算,过滤对DVS传感器的影响是一个尚未探索和开放的研究问题。为此,我们设计了R-SNN,这是一种新颖的方法,在DVS信号上采用抗攻击噪声滤波器作为防御机制,用于增强SNN抵御对抗性攻击。由于DVS相机也包含时序信息,对抗扰动的产生在技术上与传统的图像对抗攻击(只考虑空间信息)是不同的。因此,需要利用时序信息来开发鲁棒的防御。

    B. Motivational Case Study

      作为激发我们在上述讨论方向上的初步研究,我们进行了以下实验。我们使用SLAYER方法[19],使用带有两个Nvidia GeForce RTX 2080 Ti GPU的ML工作站,为DVS-Gesture数据集[18]训练了一个4层Spiking CNN,具有2个卷积层和2个全连接层。对于每一帧事件,我们通过注入均匀且正态分布的随机噪声来扰乱测试数据集并测量分类精度。此外,为了减轻扰动的影响,应用了[17]的滤波器,具有不同的时空参数(s 和 t)。关于不同的噪声幅度的准确度结果如图1所示。如图1中的指针①所示,当没有应用噪声时,滤波器略微降低了SNN的精度。然而,在存在噪声的情况下,当应用滤波器时,SNN变得更加鲁棒。例如,当考虑幅度为0.55的正常噪声时,s = 1和t = 5的滤波器有助于提高64%的精度;见指针②。当应用均匀分布的噪声时,这种滤波器的效果甚至更好。事实上,0.85和1幅度的扰动被很好地过滤掉了,因为SNN分别保持了相对较高的准确率85%和74%;见指针③。

    C. Our Novel Contributions

      为了解决上面讨论的科学问题,我们提出了R-SNN,这是一种用于增强SNN的分析和设计方法。我们的主要贡献如下(见图2)。

    • 我们分析了在多个对手威胁模型下对DVS进行噪声过滤的影响,即通过将滤波器放置在系统的不同阶段,或假设对手的不同知识。(第III-A节)
    • 我们为DVS信号生成对抗性扰动以攻击SNN。(第III-B节)
    • R-SNN设计方法:我们提出了一种应用专门的DVS噪声滤波器的方法,以提高SNN对抗对抗性攻击的鲁棒性。(第III-C节)
    • 我们的实验结果在不同的对手威胁模型下表现出对于对抗性攻击的高SNN鲁棒性。(第四部分)
    • 为了可重复的研究,我们在GitHub1上发布了用于基于DVS的SNN的R-SNN过滤方法的代码。

    1https://github.com/albertomarchisio/R-SNN

    II. BACKGROUND

    A. Spiking Neural Networks (SNNs)

      SNN,第三代NN[20],与传统的DNN相比表现出更好的生物学合理性。事实上,SNN中神经元之间基于事件的通信类似于人脑的功能。SNN相对于传统DNN的另一个关键优势是,在Intel Loihi [8]或IBM TrueNorth [7]等神经形态芯片上实现时,它们提高了能效。此外,DVS传感器[9]的最新发展进一步降低了整个系统的能耗。

      图3显示了SNN功能的一个示例。输入被编码为脉冲,通过神经元的突触传播到输出。最常见的编码方案是发放率编码[4],神经元整合传入的脉冲信号以增加它们的膜电位。每当电位超过某个阈值时,就会发出一个输出脉冲。

    B. Noise Filters for Dynamic Vision Sensors

      Event-based cameras [9]是用于获取视觉信息的仿生传感器,与场景中的光线变化直接相关。DVS摄像机异步工作,不能以精确的时间记录帧。相反,传感器记录场景中的负和正亮度变化。因此,每个像素都对场景中的亮度变化进行编码。像素是独立的,可以记录正负光变化。与经典的基于帧的图像传感器相比,基于事件的传感器消耗的功率要低得多,因为只有在场景中检测到亮度变化时才会记录数据。这意味着,在没有光线变化的情况下,不会记录任何信息,从而接近于零功耗。因此,DVS传感器可以有效地部署在边缘,并直接耦合到基于SNN应用的神经形态硬件。

      DVS传感器主要受由热噪声和结漏电流引起的背景活动噪声的影响[21]。当DVS受到刺激时,一个邻域像素通常同时处于活动状态,从而产生事件。因此,真实事件显示出比噪声相关事件更高的时空相关性。这种经验观察被用于滤除噪声[17]。事件与时空邻域相关联,在该邻域内计算它们之间的相关性。如果相关性低于某个阈值,则事件很可能是由于噪声而被过滤掉;否则他们会被保留。该过程在算法1中报告,其中 s 和 t 是滤波器的唯一参数,用于设置时空邻域的维度。s 和 t 越大,过滤掉的事件数越少。如图4的示例所示,滤波器的决定是通过和 t (算法1的第15-16行)之间的比较做出的。如果第一项较低,则事件被过滤掉。

    C. Adversarial Attacks in the Spatio-Temporal Domain

      目前,对抗性攻击部署在广泛的深度学习应用程序上。它们对安全关键应用程序构成严重威胁,例如监视、医学和自动驾驶[22][23]。成功攻击的目标是产生小的扰动来欺骗网络。最近,已经探索了对SNN的对抗性攻击。Bagheri et al. [10]和Maechisio et al. [11]分别分析了白盒和黑盒设置中SNN的对抗性攻击。Sharmin et al. [12]提出了一种对(非脉冲)DNN执行对抗性攻击的方法,然后DNN到SNN的转换使对抗性示例能够针对SNN。Liang et al. [13]提出了一种用于SNN的基于梯度的对抗性攻击方法。Venceslai et al. [24]提出了一种通过对抗性扰动触发的位翻转来攻击SNN的方法。然而,这些先前的工作都没有分析对来自DVS摄像机的事件帧的攻击。

      对于图像的对抗性攻击,仅在空间域中引入扰动。然而,当考虑对视频(帧序列)的对抗性攻击时,攻击算法也能够在时间域中进行扰动。虽然预计添加到一帧的扰动会通过时间交互传播到其他帧,但只有扰动稀疏的帧子集才能使攻击变得隐蔽。事实上,最先进的视频攻击只会对几帧添加扰动,然后将扰动传播到其他帧以错误分类视频[25]。图5中报告了一个简化示例,该示例显示在帧之前生成一个掩码,用于决定哪些帧受到干扰,哪些不受到干扰。

    III. R-SNN METHODOLOGY

    A. Adversary Threat Models

      在我们的实验中,我们在系统设置中假设了不同的威胁模型,如图6所示。在所有三个场景中,给定的对抗性攻击算法扰乱了DVS摄像头生成的事件帧,目的是欺骗SNN。在威胁模型A中,攻击者可以访问SNN输入的事件帧。在威胁模型B中,DVS噪声滤波器与攻击者进行的对抗性扰动并行插入系统中。这意味着攻击者不知道滤波器。由于在此假设下攻击可能相对较弱,因此我们还分析了威胁模型C,其中攻击者知道DVS噪声滤波器的存在。在这种情况下,滤波器被视为SNN的预处理步骤,因此嵌入到攻击循环中。

    B. Adversarial Attack Generation for Frames of Events

      针对事件帧的对抗性攻击的生成过程如下。受第IIC节中讨论的基于帧的视频攻击算法的启发,我们设计了DVS信号的专用算法。算法2描述了我们方法的逐步过程。它是一种迭代算法,它根据损失函数(第6-12行)逐步更新数据集D的每个帧系列的扰动值。掩码M确定应在哪个事件帧子集中添加扰动(第7行)。然后,在第9行和第10行中分别计算在存在扰动的情况下获得的输出概率和相应的损失。最后,根据输入相对于损失的梯度更新扰动值。

    C. Our Proposed Defense Methodology

      我们保护SNN的方法基于专门的DVS噪声过滤。算法3报告了选择滤波器的空间参数 s 和时间参数 t 的有效值的详细信息。对于不同的威胁模型,它通过在具有给定参数的滤波器存在的情况下应用攻击,自动搜索 s 和 t 的最佳组合。将这种条件下SNN的准确度与之前记录的最高准确度(算法3的第14行)进行比较。在输出中,找到了提供最高准确度的参数s'和t'。

    IV. EVALUATION OF THE R-SNN METHODOLOGY

    A. Experimental Setup

    B. SNN Robustness under Attack Without the Noise Filter

    C. SNN Robustness under Attack by Noise Filter-Unaware Adversary

    D. SNN Robustness under Attack by Noise Filter-Aware Adversary

    E. Case Study: Output Probability Variation

     

    V. CONCLUSION

      在本文中,我们介绍了R-SNN,这是一种使用基于事件的动态视觉传感器(DVS)的基于脉冲神经网络(SNN)的系统的防御方法。所提出的基于梯度的对抗性攻击算法利用驻留在DVS信号中的时空信息,误导SNN,同时产生对于干净的系列事件微小且难以察觉的差异。R-SNN防御基于专门的DVS噪声滤波器,滤波器参数的自动选择导致SNN在不同威胁模型和不同数据集下对于对抗性攻击具有高鲁棒性。这些发现巩固了SNN作为鲁棒且节能的解决方案的定位,并可能实现更先进的安全SNN设计。我们在https://github.com/albertomarchisio/R-SNN上发布了R-SNN方法的源代码。

  • 相关阅读:
    LeetCode "Palindrome Partition II"
    LeetCode "Longest Substring Without Repeating Characters"
    LeetCode "Wildcard Matching"
    LeetCode "Best Time to Buy and Sell Stock II"
    LeetCodeEPI "Best Time to Buy and Sell Stock"
    LeetCode "Substring with Concatenation of All Words"
    LeetCode "Word Break II"
    LeetCode "Word Break"
    Some thoughts..
    LeetCode "Longest Valid Parentheses"
  • 原文地址:https://www.cnblogs.com/lucifer1997/p/15235922.html
Copyright © 2011-2022 走看看