热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度学习的黑魔法防御术:恶意样本(AdversarialExample)的防御策略综述

随着深度学习(DeepLearning)研究的深入,相关应用已经在许多领域展现出惊人的表现。一方面,深度神经网络࿰

随着深度学习(Deep Learning)研究的深入,相关应用已经在许多领域展现出惊人的表现。一方面,深度神经网络(DNN)的强大能力着实吸引着学术界和产业界的眼球。另外一方面,深度学习的安全问题也开始引起广泛地关注。对于一个给定的深度神经网络,经过训练,它可能在具体任务上(例如图像识别)表现出甚至超过人类的准确率。但是在原本能够被正确分类的图像中引入稍许(人眼不易察觉)扰动,神经网络模型就可能被误导,从而得出错误的分类结果。经过精心调整的能够误导神经网络模型的输入就被称为是恶意样本(Adversarial Example),或简称AE。在此前的文章中,我们已经以图像领域的应用为例介绍了如何产生AE的基本方法(本文将不再赘述这部分内容)。AE对于神经网络的威胁是相当致命的,尤其在某些重要的应用领域,例如自动驾驶、医疗诊断等,恶意篡改的输入很有可能导致不堪设想的后果。因此,如何抵抗或者防御AE的攻击也已经成为学术界和产业界关注的热点。如果把AE攻击比作哈利波特魔法世界里的黑魔法,那么抵抗或者防御AE攻击的方法,无疑就是魔法学校的必修课——黑魔法防御术。


图1-1 在引入人眼不可见的扰动后,本来是cat的图片将被错误的识别成狗(吉娃娃)

欢迎关注白马负金羁的博客 http://blog.csdn.net/baimafujinji,鉴于目前网上盗贴、洗稿等现象严重,为保证公式、图表得以正确显示,强烈建议你从该地址上查看原版博文。本博客主要关注方向包括:数字图像处理、算法设计与分析、数据结构、机器学习、数据挖掘、统计分析方法、自然语言处理。

 


一、关于AE的定义、分类:基本回顾

对于一个已经训练好的深度神经网络f,令\mathbf{x}表示(未经篡改的)原始输入,一个恶意样本\mathbf{x}^{adv}是由\mathbf{x}得到的,可以使得f做出错误输出的、经过扰动的的输入。而且,为了隐匿这种恶意的扰动,\mathbf{x}^{adv}的生成相当于是求解下列带有限制的优化问题:

\min_{\mathbf{x}^{adv}}\left \| \mathbf{x}^{adv}-\mathbf{x} \right \|_{p}\\ s.t.\; \; y'=f(\mathbf{x}^{adv}), \; y=f(\mathbf{x}), \; and \; y\neq y'

其中,yy'分别表示将\mathbf{x}\mathbf{x}^{adv}输入到f后所得之预测结果。

为了评估恶意扰动的程度,\mathit{L}_p范数常被用来定量描述\mathbf{x}\mathbf{x}^{adv}之间的差异。由此,根据上述公式中p取值的不同,主流的AE生成算法常被分成三类:


  • \mathit{L}_0攻击:AE生成过程中,在保证DNN被成功误导的同时,力求改变尽量少的像素数点数;
  • \mathit{L}_2攻击:AE生成过程中,在保证DNN被成功误导的同时,力求使得\mathbf{x}\mathbf{x}^{adv}之间的欧几里得距离最小;
  • \mathit{L}_\infty攻击:AE生成过程中,在保证DNN被成功误导的同时,力求使得变动最大的像素所改变的幅度最小(即min(max(所有改动的幅度)))。

注意,AE攻击广泛存在于图像、视频、声音、甚至文本等多个应用场景中,本文将仅限于讨论图像领域的AE攻击。

\mathit{L}_\infty攻击是最早被引入的攻击,典型的\mathit{L}_\infty攻击包括FGSM、IGSM、以及CW-L_\infty等。事实上,\mathit{L}_\infty的生成效率较高(计算较快),成功率略差,而且生成图像中会引入类似高斯噪声一样的扰动(特别是为了保证较高的成功率,这种扰动可能较为明显);

\mathit{L}_2攻击典型代表包括DeepFool和CW-L_2等。通常,\mathit{L}_2攻击所引入的扰动更加细腻和轻微(人眼很难察觉),因此也最常被adpative attacker用来发动‘自适应式攻击’(或称白盒攻击),这一点我们后续还会讨论。相应的,\mathit{L}_2攻击需要更高的计算量(也即效率较低)。但有研究【1】已经指出\mathit{L}_2攻击所生成的AE,各个篡改点之间的“完整性”对于发挥恶意目的至关重要,一些简单的可以破坏其“完整性”的防御策略(例如【1】中的Erase-and-Restore)即可有较大成功率抵御这种攻击。

\mathit{L}_0攻击(典型代表包括JSMAl和CW-L_0等)只会限定篡改的像素数量,而不会限定修改的幅度(这一点很多文献【2】【3】中都有强调):

"Such attack techniques limit the number of alteredpixels, but not the amplitude of pixels. ... the obtained adversarial example maypresent easy-to-notice distortions. "【2】

"... the second type of adversarialexamples are allowed to change only a few input coordinates, but each one ofthem can change a lot. "【3】

事实上,正如文献【4】中所指出的,如果一味追求修改数量尽可能少的像素点,那么放松修改幅度的要求就是不得不做出的妥协。而这恰恰是\mathit{L}_0攻击的一个弱点,文献【4】于是据此提出了一种有效的防御策略。尽管\mathit{L}_0攻击引入的扰动有时容易被人眼察觉,但这种攻击仍然是现实中最应被重视的一种攻击类型,此前的文献中【2】【5】也反复强调这一点,并给出了如下一些解释:

“it can still be exploited to launch an effective attack when the human interaction is not in con-sideration. ”【2】

“physical obstructions in images or malicious splicing of audio or video files are realistic threats that can be modeled as L0 noise, whereas L2 attacks may be more difficult to carry out in the physical world.”【5】

尤其根据【5】的观点,可知\mathit{L}_0攻击是发动physical attack时所最被需要的一种手段,因此关于\mathit{L}_0攻击(及其防御)的讨论是一个非常值得探讨方向。事实上,我们已经看到诸多专门讨论\mathit{L}_0攻击防御方法的论文,例如【4】【5】等。(当然,既然有专门研究某一类攻击防御的论文,自然也有一些考虑部分类型的论文,例如【2】中就仅考虑\mathit{L}_2\mathit{L}_\infty,还一些文章则通盘考虑所有类型的攻击,例如【6】中就讨论了\mathit{L}_0\mathit{L}_2\mathit{L}_\infty三种类型的攻击)

此外,关于\mathit{L}_0攻击的其他一些研究也开始专注讨论如何在“修改数量尽可能少的像素点”和“使得篡改更加不易被发现”二者之间做权衡,例如【7】【8】等。

 


二、实践中恶意样本防御的策略设计思路

面对来势汹汹的AE威胁,实践中如果要设计防御策略来对抗AE攻击,我们可以从哪些方向来考虑呢?从分类学上来看,可以将方法分成两类:defense和detect。注意这里的defense做狭义上的理解(我们之前笼统地将防御广义上应该包括detect,这里我们将defense和detect分开来看),它指的是想办法让DNN面对恶意输入时,仍然可以输出正确的结果。而detect的意思,就是面对一个输入,我们设法判断其是否为恶意的,从而使得DNN免受AE的侵扰。

2.1 Defense

此时,方法又可以继续分成两类。一类是设法增强DNN自身对抗AE的能力。例如,【9】【10】中设计了基于adversarial training的方法;【11】中提出了防御性蒸馏的方法;【12】中提出了用温度计编码法来辅助adversarial training;【13】中提出用多级JPEG压缩图像来重新训练模型从而提升模型防御能力的方法。

另外一种方法则直接作用于输入的图像(因此,可以使得已经训练好的模型免受重新训练之类的困扰),它们被称为Input transformation 或者 Pre-processing 。在这类方法中,人们设想AE中添加的扰动类似于一种“刻意的噪声”,于是纷纷设想从传统的、丰富的去噪方法中搜索解决方案。例如:


  • 【14】【15】中提出基于小波变换的方法作为一种防御;
  • 【16】【17】中提出基于JPEG压缩/去噪的方法作为一种防御;
  • 【18】提出基于Autoencoders的方法作为一种防御;
  • 【19】提出基于PCA的方法作为一种防御;
  • 【20】中提出采用中值滤波作为一种防御;
  • 最后,【4】中提出采用改进的Inpainting方法作为一种防御;【5】中提出使用基于傅里叶变换的方法来作为一种防御;二者都之针对\mathit{L}_0攻击进行讨论。

2.2 Detect

关于AE检测这方面的文章也有不少,而且其中很多还杂糅地使用了很多Input transformation的方法来作为预处理。由于AE变换前后的得到的DNN预测结果会有差异,所以这类文章往往会以此为特征训练分类器来进行AE检测。例如:


  • 【1】使用Erase-and-Restore方法来对图像进行预处理,进而实现AE检测;
  • 【21】使用图像旋转来作为预处理器;
  • 【22】使用Autoencoders来作为预处理器;
  • 【23】使用PCA来作为预处理器;
  • 【6】综合使用中值滤波、bit-depth reduction等多种方法作为预处理器;
  • 【2】中提出根据“熵”的大小来对不同图像选择不同的预处理器。

 


三、矛盾之争

上述这些defense和detect的方法真能保全DNN万无一失吗?事实上,攻击与防御的矛盾之争从未停歇。正所谓“道高一尺,魔高一丈”!研究人员通过升级攻击方法,揭示在现实中部署DNN仍然面临诸多威胁及不确定性因素。例如,【24】中即提出了一种可以令防御性蒸馏(【11】)失效的攻击方法。在更多针对Detection的研究中,一种更厉害的攻击被称为Adaptive attack(或称白盒攻击)。此时,我们假设存在一个恶意攻击者,他不仅知道我们要保护的DNN的所有信息,更对已经部署的保护策略了如指掌。在这种情况下,很多保护措施都被证明不再起效。例如:


  • 【25】中升级的Adaptive attack成功攻破了【22】中提出的保护措施;
  • 【26】中给出的Adaptive attack成功攻破了【6】中提出的保护措施;
  • 【27】中作者更是一次性攻破了十种AE检测方案。

但是,【1】中的方法被证明可以抵御【26】中的Adaptive attack;【24】中的方法则被证明可以抵御【27】中的Adaptive attack ... ... 由此可见攻击与防御的矛盾之争还将继续上演。

 




参考文献

【01】Exploiting the Sensitivity of L2 Adversarial Examples to Erase-and-Restore. ASIACCS, 2021.

【02】Detecting adversarial image examples in deep neural networks with adaptive noise reduction.TDSC, 2018.

【03】A simple explanation for the existence of adversarial examples with small Hamming distance. Arxiv, 2019.

【04】Exploiting the Inherent Limitation of L0 Adversarial Examples. RAID, 2019.

【05】Thwarting adversarial examples: An L0-robust sparse Fourier transform. NeurIPS, 2018

【06】Feature Squeezing: Detecting Adversarial Examples in Deep Neural Networks. NDSS, 2018

【07】SparseFool: a few pixels make a big difference. CVPR, 2019

【08】Sparse and Imperceivable Adversarial Attacks. ICCV, 2019

【09】Towards deep learning models resistant to adversarial attacks. ICLR, 2018

【10】Improving the robustness of deep neural networks via stability training. CVPR, 2016

【11】Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks. SP, 2016

【12】Thermometer encoding: One hot way to resist adversarial example. ICLR, 2018

【13】Shield: Fast, practical defense and vaccination for deep learning using JPEG compression. KDD, 2018

【14】Deflecting adversarial attacks with pixel deflection. CVPR, 2018

【15】CIIDefence: Defeating Adversarial Attacks by Fusing Class-Specific Image Inpainting and Image Denoising. ICCV, 2019

【16】Countering adversarial images using input transformations. ICLR, 2018

【17】Protecting JPEG images against adversarial attacks. DCC, 2018

【18】REMIX: Mitigating Adversarial Perturbation by Reforming, Masking and Inpainting. SP Poster, 2018

【19】Enhancing Robustness of Machine Learning Systems via Data Transformations. Arxiv, 2017

【20】No Bot Expects the DeepCAPTCHA! Introducing Immutable Adversarial Examples with Applications to CAPTCHA. TIFS, 2017

【21】Detecting Adversarial Examples through Image Transformation. AAAI, 2018

【22】MagNet: a two-pronged defense against adversarial examples. CCS, 2017

【23】Adversarial examples detection in deep networks with convolutional filter statistics. ICCV, 2017

【24】Towards evaluating the robustness of neural networks. SP, 2017

【25】Magnet and “efficient defenses against adversarial attacks" are not robust to adversarial examples. Arxiv, 2017

【26】Adversarial example defenses: Ensembles of weak defenses are not strong. WOOT, 2017

【27】Adversarial examples are not easily detected: Bypassing ten detection methods. AIS, 2017

 

 

 


推荐阅读
  • 本文探讨了图像标签的多种分类场景及其在以图搜图技术中的应用,涵盖了从基础理论到实际项目实施的全面解析。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 吴恩达推出TensorFlow实践课程,Python基础即可入门,四个月掌握核心技能
    量子位报道,deeplearning.ai最新发布了TensorFlow实践课程,适合希望使用TensorFlow开发AI应用的学习者。该课程涵盖机器学习模型构建、图像识别、自然语言处理及时间序列预测等多个方面。 ... [详细]
  • 本文源自Coursera平台吴恩达教授的深度学习课程,重点探讨了卷积神经网络(ConvNets)从二维图像处理向一维信号及三维数据处理的拓展应用。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 由中科院自动化所、中科院大学及南昌大学联合研究提出了一种新颖的双路径生成对抗网络(TP-GAN),该技术能通过单一侧面照片生成逼真的正面人脸图像,显著提升了不同姿态下的人脸识别效果。 ... [详细]
  • 本文探讨了亚马逊Go如何通过技术创新推动零售业的发展,以及面临的市场和隐私挑战。同时,介绍了亚马逊最新的‘刷手支付’技术及其潜在影响。 ... [详细]
  • 利用Java与Tesseract-OCR实现数字识别
    本文深入探讨了如何利用Java语言结合Tesseract-OCR技术来实现图像中的数字识别功能,旨在为开发者提供详细的指导和实践案例。 ... [详细]
  • 回顾与学习是进步的阶梯。再次审视卷积神经网络(CNNs),我对之前不甚明了的概念有了更深的理解。本文旨在分享这些新的见解,并探讨CNNs在图像识别和自然语言处理等领域中的实际应用。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 《计算机视觉:算法与应用》第二版初稿上线,全面更新迎接未来
    经典计算机视觉教材《计算机视觉:算法与应用》迎来了其第二版,现已开放初稿下载。本书由Facebook研究科学家Richard Szeliski撰写,自2010年首版以来,一直是该领域的标准参考书。 ... [详细]
  • 计算机视觉初学者指南:如何顺利入门
    本文旨在为计算机视觉领域的初学者提供一套全面的入门指南,涵盖基础知识、技术工具、学习资源等方面,帮助读者快速掌握计算机视觉的核心概念和技术。 ... [详细]
  • 探索CNN的可视化技术
    神经网络的可视化在理论学习与实践应用中扮演着至关重要的角色。本文深入探讨了三种有效的CNN(卷积神经网络)可视化方法,旨在帮助读者更好地理解和优化模型。 ... [详细]
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
author-avatar
na点儿破事凶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有