文 | 阿毅
编 | 小轶

背景

前段时间已经和大家分享了两篇关于NLP Privacy的文章。今天,我们又来给大家推送优质论文了(公众号学习法)。其实,NLP与其他方向的跨界结合这段时间层出不穷,且都发表到了非常好的顶会上。目前有越来越多的 NLP 研究者开始探索文本对抗攻击这一方向,以 2020 年 ACL 为例,粗略统计有超过 10 篇相关论文。NLP Privacy可谓是NLP研究的下一个风口。

本次给大家介绍一篇文本对抗攻击和NLP结合的文章,目前该文章被AAAI’21接收,且代码已经开源(非常良心[19])!

论文题目:
Generating Natural Language Attacks in a Hard Label Black Box Setting (AAAI’21)

论文链接:
https://arxiv.org/pdf/2012.14956.pdf

Arxiv访问慢的小伙伴也可以在【夕小瑶的卖萌屋】订阅号后台回复关键词【0317】下载论文PDF~

论文概要

首先,按照惯例,一句话总结论文:本文在NLP领域中的Hard Label黑盒环境下提出了一种使用遗传算法优化基于决策的攻击策略。具体来说,该策略可以针对文本分类和包含任务生成高质量的对抗样本。本文提出的攻击策略利用基于种群的优化算法,仅通过观察目标模型预测的top标签来设计合理且语义相似的对抗样本。此外,在每次算法优化迭代中都允许进行单词替换,从而最大限度地提高原始文本和对抗文本之间的整体语义相似度。相比其他的攻击策略,本文的方法不依赖使用替代模型或任何种类的训练数据。我们重点关注上述加粗字体的字眼即可知本文的特色在于使用遗传算算法优化基于决策的攻击策略来解决hard label black box中攻击难以实施的问题。

最后本文全部的贡献总结如下:

  • 作者提出了一种新颖的基于决策的攻击策略,并为文本分类任务生成了合理且语义相似的对抗样本。

  • 作者设计的机制可以在不加标签的情况下成功生成对抗性样本而无需掌握任何训练数据知识或替代模型

  • 作者提出的攻击利用了基于种群的优化算法,该过程使原始文本和对抗文本之间的整体语义相似性最大化。

  • 与以前的攻击策略相比,作者的攻击在较高的限制条件下也能实现更高的成功率和更低的干扰率。

Hard Label Black Box Settings [12]: 该设置一般在视觉领域中被研究[13],具体是指攻击者在不掌握模型的信息的情况下只能得到被攻击的机器学习系统提供的有限个输入查询相对应的预测结果。简言之,攻击者只能得到一些(数目很少)hard label的预测输出。本文还指出,这是首次在文本领域探究如何在该设置下设计对抗攻击策略。另外,遗传算法思想应用到对抗攻击当中最早要追溯到2018年,近几年的工作中有不少是关于此类方法的(具体可见[12]中的总结),究其原因是遗传算法非常适合来优化某个目标函数。本文的核心思想是使用种群优化算法优化文中的目标函数来设计的攻击策略。

问题定义

简单来说,本文的目标的是要生成一段和真实语句




在语义上很接近的对抗语句







,该对抗语句可以导致模型产生错误输出。从优化的角度来开看,我们需要












尽可能大的情况下,使得模型产生错误的输出。

详细的严谨定义如下所示:

注意,




是不连续的函数,因为模型仅输出硬标签。这也使得等式(2)中的目标函数不连续并且难以优化。

攻击策略

如图所示,本文设计了一个三步走的攻击策略:初始化、缩小搜索空间、种群优化。接下来我们详细介绍每个步骤设计的初衷和具体细节:

初始化

作者为了生成一个与原始输入




在语义上相似的对抗性示例







,限制了每个单词在反向拟合嵌入空间中的前50个同义词的替换[14]。然后,作者过滤掉词性标签与原始单词不同的同义词,这样可以确保同义词符合上下文的语境并且句子在语法上是正确的,即原文中算法1中的3-7行。

缩小搜索空间

因为作者使用X*替换很多的同义词,因此整体算法的搜索空间就会变得很大,这会增加优化算法的时间开销并会因为收敛很慢而导致很难寻到最优值。因此,在此步骤中,作者通过将一些同义词替换为各自的原始单词来减少







中的替换计数。以下步骤用于减少







中的替换计数:

  • 给定初始化样本,其中







    表示初始化期间







    替换的同义词。每个同义词







    被其原始的







    代替(原文算法1,第8-10行)。

  • 不符合对抗样本标准的文本将被过滤掉。从剩余的文本样本中,根据












    之间的语义相似性对每个替换项(带有















    )进行评分。所有替换项均基于该评分以降序排序(原文算法1,第11-13行)。









  • 中的同义词将按照步骤2中确定的顺序用其原始对应语句替换回去,直到







    满足对抗标准(原文算法1,第14-17行)。

对抗性样本







的搜索空间:虚线表示所有可能的组合。粗线显示所选的组合,该组合与X的语义相似度最高,并且满足对抗标准




这可以看作是将初始样本







移到目标模型的决策边界附近。此过程非常有效,因为它不仅可以加快优化算法的速度,而且还可以防止其收敛到局部最优。

种群优化算法

作者使用种群优化算法来优化目标函数(2),其中最重要的两个步骤是:crossover(打篮球的小伙伴肯定异常兴奋啦)和mutation。该算法的一般步骤如下:

  • 初始化:使用遗传算法从任意一组初始候选者开始寻优。

  • 选择:使用fitness函数评估每个候选人。根据他们的fitness值选择两个候选人作为parents。

  • Crossover:选定的parents经过Crossover以产生下一组候选者。

  • Mutation:对新的候选者进行变异以确保多样性并更好地探索搜索空间。重复步骤2-4进行特定次数的迭代。

之所以使用使用遗传算法是因为它直接适用于离散的输入空间。此外,与其他基于整体的优化方法相比,遗传算法更直观,更易于应用。本文与其他相似方法[15]不同,作者是将两个文本序列之间的语义相似性最大化。接下来重点解析选择、crossover和mutation操作。

Mutation

Mutation操作实际上就是为了挑选出高质量的对抗样本作为遗传算法的样本去进行变异(类似于细胞分裂),**那么问题来了:什么是高质量的对抗样本呢?**作者在文中给出了两个公式:

















函数表示相似度判断函数,其作用是为了判断对抗样本和真实样本的语义相似度。在上述式子中








就是我们需要挑选进行变异的样本,







是全部对抗样本,




是正常样本,因此上述因子意味着所挑选的








不仅符合对抗样本的要求且相似度比初始化的对抗样本要大,因此我们只需要优化以下目标函数即可获得高质量的对抗样本








:

选择

选择操作一开始是随机初始化的,但是随着上述Mutation操作的完成,选择就是一个技巧活了,如何选择两个候选者成为parents至关重要。作者把对抗样本与真实样本的语义相似度作为fitness函数,然后使用采样函数







来选择parents。具体来说,






















,其中








是从上述Mutation操作中所挑选的candidate中按一定比例








采样得到的,因此这样可以得到相似度非常高的两个对抗样本作为parents:

Crossover

Crossover操作,顾名思义,就是进行交叉重复操作。具体来说,给定














(即parents),然后从














中为候选单词的每个位置随机选择一个单词,以此交叉重复多次,以确保产生足够多的搜索空间中的各类组合。此操作的目的是将生成多种满足对抗样本标准的新候选文本序列。具体公式如下:

总结:该遗传算法最主要的目的就是在文本是离散的条件下依然可以通过迭代优化选择出所有对抗样本中语义相似度最高的那些高质量对抗样本,因此该算法可以找到与真实样本极其接近的所有对抗样本。

结论

接下来,我们对文章进行优缺点总结。

优点:

  1. 首次在NLP领域中研究Hard Label 黑盒环境下的对抗攻击(话题很新,且该领域慢慢在火起来);

  2. 实验非常充分,baselines也很丰富(实验部分此次不在推文中介绍,感兴趣的同学可以自行去查看原文);

  3. 使用遗传算法优化的基于决策的黑盒攻击恰好克服了文本离散的数据特点,且可以生成语义相似度很高的对抗样本

缺点:

  1. 该对抗攻击的细粒度不够,更加探究更加细粒度的对抗攻击;

  2. 该对抗攻击非常依赖于Hard Label产生的输出的质量,不然也就无法寻优出高质量的对抗样本;

  3. 遗传算法的搜索效率仍然是一个挑战,因此如何高效地进行搜索可能是该类方法的一个瓶颈。

注意:本文部分内容参考了其他网站或者博客的总结,均在此表示感谢,并在引用处[16-18]引用,希望大家乐于分享知识,共同进步!

萌屋作者:阿毅

目前在澳洲读PhD,方向是Security and Privacy in Machine Learning,前腾讯天衍实验室实习生。一个热爱篮球但打球很菜的阳光小伙子,也很喜欢爬山。期待和对ML\FL\NLP安全和隐私问题感兴趣的小伙伴一起畅谈未来(微信号: Sea_AAo)

作品推荐

  1. 我拿模型当朋友,模型却想泄漏我的隐私?

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

 

[1].Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks[J]. arXiv preprint arXiv:1312.6199, 2013.

[2].Akhtar N, Mian A. Threat of adversarial attacks on deep learning in computer vision: A survey[J]. IEEE Access, 2018, 6: 14410-14430.

[3].Ribeiro M T, Wu T, Guestrin C, et al. Beyond accuracy: Behavioral testing of NLP models with CheckList[J]. arXiv preprint arXiv:2005.04118, 2020.

[4].Tramèr F, Kurakin A, Papernot N, et al. Ensemble adversarial training: Attacks and defenses[J]. arXiv preprint arXiv:1705.07204, 2017.

[5].Moosavi-Dezfooli S M, Fawzi A, Frossard P. Deepfool: a simple and accurate method to fool deep neural networks[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2574-2582.

[6].Papernot N, McDaniel P, Goodfellow I. Transferability in machine learning: from phenomena to black-box attacks using adversarial samples[J]. arXiv preprint arXiv:1605.07277, 2016.

[7].Papernot N, McDaniel P, Goodfellow I, et al. Practical black-box attacks against machine learning[C]//Proceedings of the 2017 ACM on Asia conference on computer and communications security. 2017: 506-519.

[8].Lu J, Issaranon T, Forsyth D. Safetynet: Detecting and rejecting adversarial examples robustly[C]//Proceedings of the IEEE International Conference on Computer Vision. 2017: 446-454.

[9].Chen S, He Z, Sun C, et al. Universal adversarial attack on attention and the resulting dataset damagenet[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020.

[10].https://www.secrss.com/articles/25644

[11].Zhang W E, Sheng Q Z, Alhazmi A, et al. Adversarial attacks on deep-learning models in natural language processing: A survey[J]. ACM Transactions on Intelligent Systems and Technology (TIST), 2020, 11(3): 1-41.

[12].Cheng M, Le T, Chen P Y, et al. Query-efficient hard-label black-box attack: An optimization-based approach[J]. arXiv preprint arXiv:1807.04457, 2018.

[13].Brendel W, Rauber J, Bethge M. Decision-based adversarial attacks: Reliable attacks against black-box machine learning models[J]. arXiv preprint arXiv:1712.04248, 2017.

[14].Mrkšić N, Séaghdha D O, Thomson B, et al. Counter-fitting word vectors to linguistic constraints[J]. arXiv preprint arXiv:1603.00892, 2016.

[15].Alzantot M, Sharma Y, Elgohary A, et al. Generating natural language adversarial examples[J]. arXiv preprint arXiv:1804.07998, 2018.

[16].https://www.secrss.com/articles/25644

[17].https://www.jiqizhixin.com/articles/2019-06-10-6

[18].https://www.aminer.cn/research_report/5f50600e3c99ce0ab7bcb539

[19].https://www.github.com/RishabhMaheshwary/hard-label-attack

NLP领域的首次Hard Label黑盒攻击!相关推荐

  1. 繁凡的对抗攻击论文精读(二)CVPR 2021 元学习训练模拟器进行超高效黑盒攻击(清华)

    点我轻松弄懂深度学习所有基础和各大主流研究方向入门综述! <繁凡的深度学习笔记>,包含深度学习基础和 TensorFlow2.0,PyTorch 详解,以及 CNN,RNN,GNN,AE, ...

  2. 复旦黄萱菁:顶会也喜欢“搞事情”文章,提示学习等已成为NLP领域的研究重点...

    导读:近年来,顶会投稿数量稳步增长,一些热门会议甚至出现投稿数破万的情况,"顶会热"成为AI领域关注的话题.同时,预训练模型等技术快速发展,推动着NLP领域的范式变革. 进入202 ...

  3. 干货|4条实用小建议,送给初入NLP领域的你(附链接)

    来源:知乎 作者:李纪为 本文约5000字,建议阅读10分钟. 本文为你介绍了刚迈进NLP领域需要掌握的一些小技巧. ACL2019投稿刚刚落幕,投稿数超过了2800篇,可以说是历史以来最盛大的一届A ...

  4. 2019 年ML NLP领域十大研究热点

    导语:NLP 知名博主 Sebastian Ruder 的年度报告! 2019 年过去了,对于 AI 界而言,过去的一年可谓是"激流勇进"的一年,一方面,整个 AI 界的研究情绪高 ...

  5. 经验 | 初入NLP领域的一些小建议

    作者:香侬科技 李纪为 斯坦福大学计算机博士 链接:https://zhuanlan.zhihu.com/p/59184256 导读 ACL2019投稿刚刚落幕,投稿数超过了2800篇,可以说是历史以 ...

  6. 超过Google,微信AI在NLP领域又获一项世界第一

    乾明 发自 G151  量子位 报道 | 公众号 QbitAI 微信AI,NLP领域又获一项世界第一,这次是在机器阅读理解方面. 在专门考验计算机数学推理能力的DROP数据集上,微信AI最新方案超过了 ...

  7. NLP领域“学霸”太多,一年前标准已过时,新跑分标准SuperGLUE出炉

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitA DeepMind.纽约大学.华盛顿大学或许怎么也没有想到,去年4月才推出的NLP测试基准GLUE,这么快就要过时了. 从今年1月到现在,GL ...

  8. 【NLP】 NLP领域最具影响力的国内外会议介绍

    众所周知,参加学术会议是进入学术圈.走进学术前沿的重要方式.在学术会议上,不仅可以集中听取最新的成果报告,还有讲习班.工作坊.社交活动等形式,了解那些不会写到论文中的八卦与动态,结识学术大佬和朋友,走 ...

  9. AdvFlow:一种基于标准化流的黑盒攻击新方法,产生更难被发觉的对抗样本 | NeurIPS‘20

    本文提出一种新的黑盒对抗攻击方法AdvFlow,通过利用标准化流来建模对抗样本的数据分布,使得生成的对抗样本的分布和正常样本接近,从而让对抗样本更难被检测出来,打破了对抗样本和正常样本的分布大不相同的 ...

最新文章

  1. 使用javaHelp制作java swing帮助文档
  2. python 导入模块中的命令并且将命令更名
  3. js 获取字符串中的中文
  4. 简单的MSSQL恢复删除数据的方法
  5. linux 限制单个ip流量,centos 的單ip流量控制-CentOS下利用iptables限速及限制每IP連接數...
  6. jvm--3.内存管理
  7. 男子吐槽:为什么那么多人不喜欢996,非要年纪轻轻进国企养老
  8. iOS---------- @synchronized(self)的用法
  9. [转]CPU/GPU/TPU/NPU...XPU都是什么鬼
  10. mysql的过程返回执行成功与失败_进行数据库操作的时候,操作错误或者失败,但是不报错...
  11. 【优化调度】基于matlab粒子群算法求解梯级水电站调度优化问题【含Matlab源码 767期】
  12. java 数据类型 面试题_Java数据类型面试题目
  13. java高并发编程讲解_有人看过 java高并发编程详解 汪文君著 这本书吗?
  14. socks5协议详细说明
  15. 互联网巨头,困在社区团购里
  16. 组件化-创建私有组件库库
  17. 解决双击.jar包无法运行
  18. shardingsphere源码分析(四)-- 改写引擎
  19. 14、系统架构师指南 - 软件项目角色指南系列文章
  20. 思域第三方app安装方法(提权)

热门文章

  1. 华为OJ平台——整形数组合并
  2. 四则运算个人项目进展
  3. uva 10635 Prince and Princess(LCS成问题LIS问题O(nlogn))
  4. 初学Struts遇到的坑爹问题
  5. C语言,使用union了解内存
  6. 数据结构和算法,也就那么回事儿
  7. 终于有人将进程间通信讲明白了
  8. Linux多线程——使用互斥量同步线程
  9. php ip2long bug,php ip2long函数怎么用-PHP问题
  10. python迭代算法_Python实现简单的梯度下降法