关注公众号,发现CV技术之美

Adversarial Example Detection Using Latent Neighborhood Graph

论文链接: 

https://openaccess.thecvf.com/content/ICCV2021/papers/Abusnaina_Adversarial_Example_Detection_Using_Latent_Neighborhood_Graph_ICCV_2021_paper.pdf

代码链接:

发表会议:ICCV2021

  • Overview

  • Reference Dataset

  • Node Retrieval

  • Edge Estimation

  • Graph Discriminator

Introduction

近年来,深度神经网络被广泛应用于计算机视觉、自然语言处理和语音识别等领域。然而研究表明,深度神经网络很容易受到来自输入的细微干扰的攻击,从而导致模型预测出不正确的输出,这也引起了研究人员对深度神经网络的安全隐患的关注。对抗样本检测作为抵御对抗攻击的手段之一,也得到了研究人员的广泛研究。

相比于对抗训练,对抗样本有无需重训练模型,且可以适配到已经部署的模型上的优势。先前的对抗样本检测研究表明输入样本和它的邻居在特征空间中表现出显著的一致性,基于此,本文提出了Latent Neighborhood Graph来表征输入的邻居。与先前的工作DkNN[1]相比,本文所提的LNG有以下三方面优势:

  • LNG 覆盖了多跳邻居,它表征了输入样本的局部流形,而 DkNN 仅描述了输入样本的流形

  • LNG基于在嵌入空间中学习到的连通性自适应地聚合邻域信息,这比 DkNN中单纯使用类标签获得了更丰富的信息

  • LNG在检测中包含了对抗邻居和良性邻居,而 DkNN 仅利用了良性邻居

Contributions

  • 本文将对抗样本检测的问题转化为了一个图分类问题,作者通过使用参考样本有效地构建了一个Latent Neighborhood Graph,用于对抗样本检测

  • 所提方法根据邻居样本的距离动态估计潜在邻域图的邻接矩阵,并自适应地聚合来自良性和对抗邻居的信息以进行对抗样本检测

  • 使用已知和未知的对抗样本生成方法生成的对抗样本,在灰盒和白盒检测达到sota性能

上图为总体框架图

Methodology

下表根据检测所需的信息比较了对抗样本检测方法的主要差异:

Overview

首先为每个输入样本生成一个Latent Neighborhood Graph,然后使用图神经网络 (GNN) 来利用邻域图中节点之间的关系来区分良性和对抗样本。下图展示了所提方法的总览:

具体来说,将每张测试图片,提取在预训练模型中的嵌入向量,此外本文还设置了一个额外的参考数据集,同样的方法将参考数据转成嵌入向量,提取附近的个邻居。

此时我们得到了两个嵌入矩阵(1)用于存储邻居样本的嵌入向量,其中每一行代表一个样本的嵌入向量(2)编码了邻域中所有样本对之间的流形关系。由于本文中未知,下文将介绍如何基于嵌入距离来估计。

Reference Dataset

这里reference dataset,分为两类:一类从正常样本中随机采样一部分,一类先对正常样本的reference dataset数据进行对抗攻击得到对抗样本,因此对抗样本的reference dataset数据量是正常样本的reference dataset的两倍。

Node Retrieval

本文根据k-nearest-neighbor graph (k-NNG)来选择与输入样本相近的样本组成输入样本的个邻居。

Edge Estimation

首先将输入样本和每个邻居样本进行连边,并用下式重新估计邻居样本间的连接关系

其中是节点间的欧式距离,是两个系数。由于根据sigmoid function得到的是0-1的值,这里作者将其用下式量化为0或1:

上图显示了不同情况下的k-NNG和LNG构图。

Graph Discriminator

本文采用[2]中的图注意力网络结构聚合和它的邻居信息,同时学习。此时对抗样本检测问题变成了解决下列问题:

其中是交叉熵损失函数。

Experiments

本文使用FGSM (), PGD (), CW (),AutoAttack (), Square (), and boundary attack,六种攻击方法生成对抗样本。

上表反映了k-NNG 鉴别器对不同邻居数的检测性能 (AUC)

上图反映了良性样本和对抗样本在不同攻击方式下的t-SNE可视化结果。

上图展示了本文所提方法比传统方法在CIFAR-10上的性能优势。

上表展示了与不同检测方法的对比效果。

上图展示了FGSM和AutoAttack在STL-10数据集上的ROC-AUC曲线。

上表显示了本文所提方法在使用干净与对抗参考集上的 (AUC) 性能。

上表展示了使用不同连接方式的 (AUC) 性能比较。NC:节点之间没有连接,AC:全连图,CC:只有中心节点连接到所有节点。

Conclusion

本文提出了第一个基于图的对抗样本检测方法,该方法在预训练分类器的嵌入空间中生成latent neighborhood graphs以检测对抗样本。

所提方法在对三个基准数据集的白盒和灰盒对抗攻击上实现了sota的检测性能。此外本文还展示了所提方法对未知攻击的有效性。

References

[1] Deep k-Nearest Neighbors: Towards Confident, Interpretable and Robust Deep Learning[2] GRAPH ATTENTION NETWORKS

END

欢迎加入「对抗学习交流群

LNG:首个基于图的对抗样本检测方法相关推荐

  1. 论文盘点:GAN生成对抗样本的方法解析

    ©PaperWeekly 原创 · 作者|孙裕道 学校|北京邮电大学博士生 研究方向|GAN图像生成.情绪对抗样本生成 引言 对抗样本的生成方式很多.一般情况下会分成三大类,第一种是基于梯度的生成方式 ...

  2. 蚂蚁金服AAAI论文:基于长短期老师的样本蒸馏方法和自动车险定损系统的最新突破...

    来源 | 蚂蚁金服 出品 | AI科技大本营(ID:rgznai100) 一年一度在人工智能方向的顶级会议之一AAAI 2020于2月7日至12日在美国纽约举行,旨在汇集世界各地的人工智能理论和领域应 ...

  3. 对抗样本生成方法论文阅读笔记

    论文<针对黑盒智能语音软件的对抗样本生成方法> 一.论文中提到的相关名词解释 1.1什么是对抗样本? 所谓对抗样本就是指:在原始样本添加一些人眼无法察觉的扰动(这样的扰动不会影响人类的识别 ...

  4. 激光slam学习笔记——基于图优化的激光slam方法

    激光slam学习笔记--基于图优化的激光slam方法 1.slam基础 整体来说,在激光slam中,滤波器的误差要小于图优化的误差. 图优化通俗点说就是里程计计算的位姿与观测到的位姿之间会形成一个误差 ...

  5. 基于深度学习的表面缺陷检测方法综述-论文阅读笔记

    //2022.3.2日阅读笔记 原文链接:基于深度学习的表面缺陷检测方法综述 (aas.net.cn) 个人对本篇综述内容的大致概括 论文首先介绍了表面缺陷检测中不同场景下的成像方案,主要根据表面颜色 ...

  6. 论文《基于深度学习的表面缺陷检测方法综述》学习笔记

    <基于深度学习的表面缺陷检测方法综述>学习笔记 前段时间完成了<基于图像的零部件缺陷识别系统设计>毕业课程设计,过程中收获了很多,老师也分享了很多论文,在此记录一下学习的收获. ...

  7. AI-无损检测方向速读:基于深度学习的表面缺陷检测方法综述

    1 表面缺陷检测的概念 表面缺陷检测是机器视觉领域中非常重要的一项研究内容, 也称为 AOI (Automated optical inspection) 或 ASI (Automated surfa ...

  8. 基于视角特征提取的3D检测方法汇总

    作者丨柒柒@知乎 来源丨https://zhuanlan.zhihu.com/p/458068647 编辑丨3D视觉工坊 这篇文章主要是梳理一下近期3D Detection的进展,分类列举出一些我认为 ...

  9. 基于深度学习的目标检测方法综述

    引言 现有的深度学习的目标检测方法,可以大致分为两类:一.基于候选区域的目标检测方法:二.基于回归的目标检测方法.依据方法的提出时间,可以构建出如下时间线: 2014 CVPR R-CNN[1] 20 ...

最新文章

  1. linux内核经常用到的 一个概念“原子操作“
  2. linux环境下安装tomcat6
  3. sql 根据多个ID删除表中多行数据
  4. python开发一个彩票系统_[宜配屋]听图阁
  5. CircleList
  6. Python Django 全局上下文代码示例
  7. 本想用Python爬遍知乎,没想到却被知乎反杀
  8. POJ 3186Treats for the Cows (区间DP)
  9. astype和squeeze 函数
  10. 实例化Spring容器的两种常用方式
  11. XILINX 7系列FPGA与SOC产品选型指南
  12. UG NX二次开发(C#)-分析-测量体对象的体积
  13. iOS从零开始学习socket编程——HTTP1.0服务器端
  14. wp兼容了android应用程序,WP兼容了Android应用 微软的春天就来了?
  15. OpenGL ES 2.0 入门(持续更新)
  16. 基础命令和脚本练习初识
  17. 清空CheckBox 勾选
  18. linux ubuntu bionic,如何升级Ubuntu到18.04 LTS Bionic Beaver
  19. 墙裂推荐 Anaconda | 安利 Python IDE
  20. 纯CSS修改浏览器的默认滚动条样式

热门文章

  1. 去哪儿-19-detail-ajax
  2. heavy hitter是什么意思?
  3. ClassNotFoundException Com Sun Jersey Spi Container Servle
  4. [git] 基础操作-02 分支和主支合并
  5. python高手能做什么_python高手们、能不能给新手写点心得,迷茫过、好方法、过渡期等等...
  6. nodebb使用mysql_centos7.6安装nodebb v1.14.3(2020年)
  7. maven添加子工程_Maven建立父子项目和跨项目调用内容的步骤—佳佳小白
  8. java函_Java 8的函式重用
  9. Java字符串的重要性_java中的字符串相关知识整理
  10. 我们大家都知道mysql_10个mysql中select语句的简单用法