可解释的对抗训练网络:Interpreting Adversarially Trained Convolutional Neural Networks-ICML 2019

目录

  • 可解释的对抗训练网络:Interpreting Adversarially Trained Convolutional Neural Networks-ICML 2019
    • 前言
    • 一.背景
      • 1.1 可解释性
      • 1.2 论文思路
    • 二.先验知识
      • 2.1 对抗训练
      • 2.2 salience map(显著图)
    • 三.实验
      • 3.1实验准备
      • 3.2 实验
        • 3.2.1 视觉验证
        • 3.2.2 量化角度
    • 四.总结

前言

最近在考虑做对抗样本可解释性方面的研究,之前没有接触过。今天要分享的这篇文章发表在ICML 2019上,我在实验室的组会中也进行了分享,因此接下来,将通过文字结合PPT的形式将内容分享给大家。

一.背景

1.1 可解释性

在叙述这篇论文之前,我们先理解一下模型的可解释性,什么意思呢?顾名思义,就是对模型进行一个合理化的解释。那么我们为什么需要这么做?现在随着人工智能的发展,越来越多的AI应用走进我们的生活一定是个趋势,但是很多时候啊,我们身边的AI处理的更多是一些无关紧要的事,或者是一些给生活增添乐趣的事,就比如天猫精灵,平日生活里互动互动,它偶尔出个错,我们也不会在意什么。但是,如果我们真的把一些重要的决定交给这些人工智能,这些机器的时候,你还能那么开心吗,还能放心嘛?当波音飞机忽略驾驶员的指令,决定义无反顾的冲向大地时,你紧不紧张?;当银行系统莫名其妙否决你的贷款申请的时候,你难不难过?;当自动化敌我识别武器系统决定将炮火开向你的时候,你还在吗?这个时候,我们内心深处最想问的一定是:它为什么这么做?有依据嘛? 到这儿,我们应该就明白了模型的可解释性的重要性,它使得AI放心的进入我们的生活


机器学习算法可以看成是黑盒子模型,训练数据流入黑盒子,训练出一个函数(这个函数也可以称之为模型),输入新的数据到该函数得出预测结果。关于模型的可解释性,就是要回答为什么的问题,如何解释该函数,它是如何预测的?

在机器学习的众多算法中,有的模型很难解释,例如深度神经网络。深度神经网络可以拟合高度复杂的数据,拥有海量的参数,但是如何解释这些非常困难。但是还是有相当一部分算法是可以比较容易的解释的。如:线性回归,决策树等。

可解释的模型的种类毕竟有限,我们希望能够找到一些方法,对任何的黑盒子机器学习模型提供解释。这里就需要和模型无关的方法了。如:替代模型,特征交互等。替代模型就是用一个可解释的更简单的模型,对于黑盒模型的输入和预测训练出一个替代品,用这个模型来解释复杂的黑盒模型。

除此之外,还有基于样本的模型解释。就比如我想要研究的对抗样本方向的可解释性问题,以及反事实解释,有影响的实例等。

1.2 论文思路

本文研究的重点是加入对抗训练的普通神经网络和原始的神经网络在识别物体上有什么不同。围绕这个问题,作者进行了如下的推测,并围绕此从视觉和量化两个角度进行实验验证。

二.先验知识

2.1 对抗训练

对抗性训练这种方法应该说是目前为止最为成功的抵御对抗样本构建鲁棒模型的方法。公式化表示就是下面这个式子。大家都很熟悉,其中f函数表示由权重θ参数化的网络模型,(x,y)是从训练集D中采样的输入输出对, δ表示对抗扰动,l是选择的损失函数,比如交叉熵损失;S表示某一个范数约束。这个max函数就是各种攻击方法产生的对抗样本的一种近似表达,我们通过最小化这个期望来构建很好的模型鲁棒性。

2.2 salience map(显著图)

显著图的作用是从视觉上表现出输出对输入图像的每一个像素的敏感程度,重视程度。

salience 方法可以被分为基于扰动的和基于梯度的两种方法,由于基于梯度的方法最近通过了合理性的检验,为此,本文实验中选取基于梯度的方法。

Sc(x)表示每个类C对应的类激活函数,x表示输入图片,这里的基于梯度就是类激活函数相对于输入图片的梯度。实际上实验中用的是smoothgrad的方法,用来减轻噪声对梯度分析的影响,即将一个被高斯噪声处理后的图片的梯度平滑处理。因为grad方法产生的salience map可视化后,会highlight 一些像素,但对于人眼来说就像是随机挑选的,可理解性差。smoothgrad可以很好的解决这个问题。
其中:xi=x+gi,gi是服从高斯分布N(0,\sigma ^{2})的噪声。下面就是grad和smooth-grad方法的显著图结果对比。

no smooth smooth

三.实验

3.1实验准备


tiny imagenet2: 包含200类,每类有500个训练图片,50个验证图片,50个测试图片。
Caltech-256 从谷歌图片中选取的图片,共有30607张图片,被分为257类。

所有的数据集都通过水平翻转,随机裁剪,标准化等操作进行了数据的增添来进行网络的训练。所选取的网络为resnet网络。

我们前面讲到实验通过两个方面验证猜想,一个方面就是使用主要只包含纹理或形状信息的数据集进行一个评估,那么怎么做出这样一个数据集,就是通过上面这三种方法。

需要注意的是这里构建的数据集并没有用在训练对抗网络和标准神经网络的过程中。只是用来最后的测试。

3.2 实验

对于上面的三种数据集,我们对应的生成三种不同的AT-CNN,他们主要的不同在于他们生成对抗样本的方式,包括无穷范数和2范数约束的PGD方法,FGSM方法,以及对应的不同方法的不同对抗强度。同时,为了排除对抗网络和标准神经网络面对具有不同特征的数据表现的差异是因为对抗样本的泛化能力与标准神经网络比更差,实验还加入了underfit,也就是欠拟合的标准神经网络进行对比,欠拟合的标准神经网络和对抗网络相比具有相似的泛化能力。

下面这张表中所体现的是 他们在干净数据(原始图片)上的泛化能力以及面对无穷范数约束的PGD攻击的鲁棒性的表现。我们可以看到加入对抗训练的网络的鲁棒性大幅度提高。那么接下来我们就要对原因进行分析。也就是论文的核心,为什么呢?

3.2.1 视觉验证

这个为什么,我们在一开始就给出了作者的猜想,是因为对抗网络对形状化的表示更为敏感,而标准神经网络对纹理更加重视。我们现在所做的工作就是对此进行验证。

为了弄清楚到底两种网络对什么样的特征更敏感,我们先进行第一个实验的验证,就是视觉验证,通过使用前面提到的smoothgrad方法来分别在干净的,改变饱和度和风格迁移的图片上生成salience map。

从上到下:干净图片,饱和度设置为1024,风格迁移
从左到右:原始图片,标准神经网络输出下的sailence map,欠拟合神经网络下的,对抗网络下的。

从测试结果的映射中,我们可以很清楚的看出,对抗网络下的salience map更加的分散,侧重于描绘出每个物体的轮廓;而标准的和欠拟合的salience map则更加的杂乱,分布的密集,并不注重一个整体的外观。尤其我们可以关注图b中第二行的狗的照片,我们回顾一下,改变饱和度信息的目的就是更多的去除纹理信息,我们看到这只狗的图像已经趋于二值化,黑白分明,界限分明,但是相对应的标准网络的salience map仍旧是杂乱无章的,而对抗网络很好的捕捉到了轮廓信息。而相反的,第三行的这只小狗因为五颜六色的涂抹,轮廓已经非常不清晰了,标准网络的salience map简直就是一个宇宙大爆炸,一团浆糊。而对抗网络还是可以很好的捕捉到它的外观。从这里我们可以得到一个更加有力的证据来验证我们的猜想。

3.2.2 量化角度

接下来,就是从量化的角度通过准确率测试来比较两个网络的不同点。

首先拿风格迁移的额外测试集进行测试。从上面的图片中我们可以看到图片的基本形状没有发生多大的改变,但是纹理特征相对应发生了不小的变化。这也是风格迁移的目的。从测试结果来看,对比标准的神经网络,对抗网络的准确性要更低,但是在面对风格迁移后的测试集时,情况发生了变化,虽然也有不同程度的下降,但是下降幅度要小于标准的神经网络,且准确率更高。也就是说对抗网络对图片的局部纹理的敏感程度要低于标准网络,不太受此变化的影响。


接下来我们看饱和度测试,看看不停的增加图片的饱和度的不同网络准确率的影响。


上面的图片表示不同级别的饱和度下,显示的变化。从左到右图片的饱和度为0.25,0.5,1,2,4.。。1024;增加图片的饱和度,最终使得图片的每一个像素趋向于0或1,使得边缘部分更加尖锐,保留了物体的形状外观,而失去了大部分纹理信息。降低图片的饱和度则使得图片的每一个像素值趋向于1/2,形状和纹理信息都丢失很多。最终的实验结果通过折线图表示,可以看到加入对抗训练的网络随着饱和度的增加,对损失了越来越多的纹理信息并没有那么敏感,识别出图片的能力并没有太多的减少,而没有加入对抗训练的两个网络,准确率都相比原始图片下降很多。在CIFIR-10上有同样的表现,在这里没有列出。由此,更近一步的我们可以证明对抗网络更多依赖于图片的形状,而对于图片的纹理并不敏感。

最后,就是随机进行补丁放置的数据集的测试结果。上面的图片是进行不同级别的分割重组后的蛋糕的样子,作者找了一个对比比较明显的这样一个图片。条形图表示的是不同模型将对应的图片识别为蛋糕的概率。可以明显的看到,随着图片的分割打乱,蛋糕的形状以及边缘被很大程度的破坏掉了,而这并不影响标准神经网络的分了准确率,只有当分割比较严重,分割为64个补丁时,局部纹理也被严重破坏时准确率才明显的下降。这从另一个角度也对猜想进行了佐证。下面的图片是对所有类别的一个测试结果,从中除了得到上述蛋糕的样本所得出的结论之外,还可以发现,越是进行越强的对抗攻击训练出来的网络,它面对这个图片分割时的识别准确率要更低,这也从侧面反映了对抗网络对形状边缘的依赖。

四.总结

  1. 通过构建扭曲的保留形状或局部纹理的测试集,论文在干净,风格迁移和饱和度改变的图像上比较了AT-CNN和普通CNN的敏感图,这从视觉上证明了AT-CNN更偏向于整体结构,例如形状和边缘。

  2. 更重要的是,论文还在风格迁移,饱和度改变以及补丁重组这三个构建的数据集上评估了两个模型的泛化性能。最终结果能够清楚地表明,AT-CNN对纹理的变化的敏感性较低,而更多地关注形状信息,而正常训练的CNN则相反。

可解释的对抗训练网络模型:Interpreting Adversarially Trained Convolutional Neural Networks-ICML 2019相关推荐

  1. 量化网络训练--Towards Effective Low-bitwidth Convolutional Neural Networks

    Towards Effective Low-bitwidth Convolutional Neural Networks CVPR2018 https://github.com/nowgood/Qua ...

  2. 手机CNN网络模型--MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications

    MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications https://arxiv.org ...

  3. WWW2021 Interpreting and Unifying Graph Neural Networks with An Optimization Framework 阅读笔记

    论文:interpreting and Unifying Graph Neural Networks with An Optimization Framework 代码:  https://githu ...

  4. 对抗样本论文阅读Intriguing properties of neural networks

    Intriguing properties of neural networks 文章提出了神经网络中的两个有趣的特性,首次提出了对抗样本adversarial examples的概念 Represe ...

  5. 二值网络训练--A Empirical Study of Binary Neural Networks' Optimisation

    A Empirical Study of Binary Neural Networks' Optimisation ICLR2019 https://github.com/mi-lad/studyin ...

  6. 对抗机器学习——Towards Evaluating the Robustness of Neural Networks

    论文代码: http://nicholas.carlini.com/code/nn_robust_attacks 论文motivation: 蒸馏网络说自己短小强撼,可以为目标网络模型提供很强的鲁棒性 ...

  7. 训练技巧详解【含有部分代码】Bag of Tricks for Image Classification with Convolutional Neural Networks

    论文地址:https://arxiv.org/pdf/1812.01187.pdf 更多方法和代码可见:图像分类任务中的tricks总结 更多更全的tricks补充(补充链接也是福利满满~) 目录 2 ...

  8. [Tensorflow2] 梯度反转层(GRL)与域对抗训练神经网络(DANN)的实现

    文章目录 概述 原理回顾 (可跳过) GRL 层实现 使用 GRL 的域对抗(DANN)模型实现 DANN 的使用案例 !!! 后记 概述 域对抗训练(Domain-Adversarial Train ...

  9. CV:阿里在CV数据增强领域带来SOTA新范式(已被NeurIPS2022接收)—基于离散化对抗训练的鲁棒视觉新基准!

    CV:阿里在CV数据增强领域带来SOTA新范式(已被NeurIPS2022接收)-基于离散化对抗训练的鲁棒视觉新基准! 导读:本文中,来自阿里巴巴AAIG的研究团队在模型鲁棒性问题上进行了研究,包括对 ...

最新文章

  1. 修复思维导图mindmanager移动文件位置后打开崩溃
  2. VMware中虚拟机与主机不能ping通解决办法
  3. shapefile导入oracle,shp2sdo.exe用法:shpfile导入OracleSpatial
  4. mysql视图存储_Mysql 视图、存储过程以及权限控制
  5. php获取扫码枪的数据,js 获取扫码枪输入数据的方法
  6. python创建文件的编码格式
  7. Angualr routerLink 两种传参方法及参数的使用
  8. 利用ggseqlogo绘制seqlogo图
  9. estore商城案例(一)------用户注册邮件激活(上)
  10. 整数划分之四 【区间dp】讲解于思考方法
  11. java method方法_Java Method getDeclaringClass()方法
  12. SwiftUI SF Symbols 好处及其使用指南
  13. 2015 iMac如何绕过TMP安装Windows11(不用Parallels虚拟机实现macOS与Windows11双系统)
  14. note 8 字符串
  15. 教程篇(7.0) 06. FortiGate基础架构 单点登录(FSSO) ❀ Fortinet 网络安全专家 NSE 4
  16. 车路协同云/边缘云服务平台概要【原创】
  17. python输出无空格,python 2.7.5+打印列表后面没有空格的逗号
  18. cannot find class [xxx] for bean with name
  19. 【软考系统架构设计师】2017下系统架构师案例分析历年真题
  20. X86/ARM USB2.0/USB3.0转网口,支持Windows、Linux、Android、wince

热门文章

  1. linux权限整改,Linux底层函数库glibc漏洞核查整改指引
  2. IEC61400-6 2020 塔架及基础设计要求 翻译 第7章 混凝土塔架和基础
  3. java+usb+教程,带你遨游USB世界
  4. 111高校毕业设计选题
  5. 普及一点平板电脑知识,给机油们说说国产平板的五大主流方案
  6. VR全景智慧城市:构筑未来城市的数字化大融合
  7. Java中多个线程的并发演示。
  8. 行车记录仪设置php,1080p行车记录仪设置
  9. python3.6中round函数_Python中round函数使用注意事项
  10. Symbian结束进程的方法