【论文阅读】单词级文本攻击TAAD2.2

TAAD2.2论文笔记

Must-read Papers on Textual Adversarial Attack and Defense (TAAD)

必读的文本对抗性攻击与防御论文(TAAD)系列之2.2 Word-level Attack

2.2 Word-level Attack

0.前言

2024.3.3— 正在编辑

1-10

——————————————

💖1.Bridge the Gap Between CV and NLP! A Gradient-based Textual Adversarial Attack Framework

——————————————

a. 介绍

  • 背景
    • DNN在具有小扰动的对抗样本上仍然表现不佳
    • 在视觉领域,基于优化的对抗性攻击方法得到了很好的探索
    • 文本的离散性,难以将CV的方法直接应用于NLP
    • 提出:将CV现有的基于优化的攻击方法扩展到NLP的框架,以制作文本对抗样本
  • 图像领域相关工作:CV中的梯度优化攻击
    • FGSM(2015):使用模型损失函数的梯度对输入图像进行对抗性样本的处理
    • BIM(2017):扩展FGSM,以较小的步长多次迭代应用对抗性扰动
    • MIM(2018):在更新输入时利用动量,获得高质量的对抗样本
    • PGD(2019):采用均匀随机噪声作为初始化
  • 文本攻击类型
    • 白盒攻击
      • 基于梯度的攻击方法(模型结构和所有参数)
    • 黑盒攻击
      • 基于得分(决策+置信度分数)
      • 基于决策(研究少)
  • 本文:基于决策的黑盒攻击(借助代理模型获取梯度信息),利用PGD在嵌入层添加连续扰动、利用MLM-head解码

——————————————

b. 方法

①之前的离散vs本文的连续
在这里插入图片描述
②损失计算图
在这里插入图片描述
③T-PGD算法
在这里插入图片描述
——————————————

c. 结果

①实验设置
在这里插入图片描述
②实验结果
在这里插入图片描述
③人类评估
在这里插入图片描述

④消融实验—梯度信息的有效性
在这里插入图片描述

⑤消融实验—本文重建了损失
在这里插入图片描述
⑥T-PGD的效率和有效性
在这里插入图片描述
⑦T-PGD的可迁移性
在这里插入图片描述
——————————————

d. 总结

  • 主要贡献
    • 提出了一个通用的文本对抗性攻击框架,便于NLP研究者使用基于优化的方法生成离散的对抗性文本,弥补了CV和NLP在对抗性攻击研究上的差距。
    • 基于该框架,提出了一种有效的文本攻击方法T-PGD,解决了自然语言处理中很少研究的基于决策的黑盒攻击问题。
  • 局限性
    • 只考虑预训练语言模型PLMs
    • 仅以PGD攻击为例实例化了该框架
  • 未来工作
    • 在框架中采用CV中的其他方法
    • 本框架可以作为离散文本的通用优化框架,有可能为文本生成等其他任务提供解决方案

——————————————

e. 论文及代码

Bridge the Gap Between CV and NLP! A Gradient-based Textual Adversarial Attack Framework. Lifan Yuan, Yichi Zhang, Yangyi Chen, Wei Wei. Findings of ACL 2023. decision[pdf]

论文:[2110.15317] Bridge the Gap Between CV and NLP! A Gradient-based Textual Adversarial Attack Framework (arxiv.org)

代码:https://github.com/Phantivia/T-PGD.

——————————————

2.TextHacker: Learning based Hybrid Local Search Algorithm for Text Hard-label Adversarial Attack

——————————————

a. 背景

——————————————

b. 方法

——————————————

c. 结果

——————————————

d. 论文及代码

TextHacker: Learning based Hybrid Local Search Algorithm for Text Hard-label Adversarial Attack. Zhen Yu, Xiaosen Wang, Wanxiang Che, Kun He. Findings of EMNLP 2022. decision[pdf][code]

论文:[2201.08193] TextHacker: Learning based Hybrid Local Search Algorithm for Text Hard-label Adversarial Attack (arxiv.org)

代码:GitHub - JHL-HUST/TextHacker: TextHacker: Learning based Hybrid Local Search Algorithm for Hard-label Text Adversarial Attack
——————————————

3.TextHoaxer: Budgeted Hard-Label Adversarial Attacks on Text

——————————————

a. 背景

b. 方法

c. 结果

d. 论文及代码

TextHoaxer: Budgeted Hard-Label Adversarial Attacks on Text. Muchao Ye, Chenglin Miao, Ting Wang, Fenglong Ma. AAAI 2022. decision [pdf] [code]

论文:TextHoaxer: Budgeted Hard-Label Adversarial Attacks on Text | Proceedings of the AAAI Conference on Artificial Intelligence

代码:GitHub - machinelearning4health/TextHoaxer: Implementation Code of TextHoaxer

4.Query-Efficient and Scalable Black-Box Adversarial Attacks on Discrete Sequential Data via Bayesian Optimization

a. 背景

b. 方法

c. 结果

d. 论文及代码

Query-Efficient and Scalable Black-Box Adversarial Attacks on Discrete Sequential Data via Bayesian Optimization. Deokjae Lee, Seungyong Moon, Junhyeok Lee, Hyun Oh Song. ICML 2022. score [pdf][code]

论文:[2206.08575] Query-Efficient and Scalable Black-Box Adversarial Attacks on Discrete Sequential Data via Bayesian Optimization (arxiv.org)

代码:GitHub - snu-mllab/DiscreteBlockBayesAttack: Official PyTorch implementation of “Query-Efficient and Scalable Black-Box Adversarial Attacks on Discrete Sequential Data via Bayesian Optimization” (ICML’22)

5.SemAttack: Natural Textual Attacks on Different Semantic Spaces

a. 背景

b. 方法

c. 结果

d. 论文及代码

SemAttack: Natural Textual Attacks on Different Semantic Spaces. Boxin Wang, Chejian Xu, Xiangyu Liu, Yu Cheng, Bo Li. Findings of NAACL 2022. gradient [pdf] [code]

论文:[2205.01287] SemAttack: Natural Textual Attacks via Different Semantic Spaces (arxiv.org)

代码:github.com

6.Gradient-based Adversarial Attacks against Text Transformers

a. 背景

b. 方法

c. 结果

d. 论文及代码

Gradient-based Adversarial Attacks against Text Transformers. Chuan Guo, Alexandre Sablayrolles, Hervé Jégou, Douwe Kiela. EMNLP 2021. gradient [pdf] [code]

论文:2021.emnlp-main.464.pdf (aclanthology.org)

代码:https://github.com/facebookresearch/text-adversarial-attack

7.A Strong Baseline for Query Efficient Attacks in a Black Box Setting

a. 背景

b. 方法

c. 结果

d. 论文及代码

A Strong Baseline for Query Efficient Attacks in a Black Box Setting. Rishabh Maheswary, Saket Maheshwary, Vikram Pudi. EMNLP 2021. score [pdf] [code]

论文:[2109.04775] A Strong Baseline for Query Efficient Attacks in a Black Box Setting (arxiv.org)

代码:GitHub - RishabhMaheshwary/query-attack: A Query Efficient Natural Language Attack in a Black Box Setting

8.On the Transferability of Adversarial Attacks against Neural Text Classifier

a. 背景

b. 方法

c. 结果

d. 论文及代码

On the Transferability of Adversarial Attacks against Neural Text Classifier. Liping Yuan, Xiaoqing Zheng, Yi Zhou, Cho-Jui Hsieh, Kai-Wei Chang. EMNLP 2021. [pdf]

论文:2011.08558.pdf (arxiv.org)

代码:

9.Crafting Adversarial Examples for Neural Machine Translation

a. 背景

b. 方法

c. 结果

d. 论文及代码

Crafting Adversarial Examples for Neural Machine Translation. Xinze Zhang, Junzhe Zhang, Zhenhua Chen, Kun He. ACL-IJCNLP 2021. score [pdf] [code]

论文:2021.acl-long.153.pdf (aclanthology.org)

代码:GitHub - JHL-HUST/AdvNMT-WSLS: Crafting Adversarial Examples for Neural Machine Translation

10.An Empirical Study on Adversarial Attack on NMT: Languages and Positions Matter

a. 背景

b. 方法

c. 结果

d. 论文及代码

An Empirical Study on Adversarial Attack on NMT: Languages and Positions Matter. Zhiyuan Zeng, Deyi Xiong. ACL-IJCNLP 2021. score [pdf]

论文:2021.acl-short.58.pdf (aclanthology.org)

代码:

11-20

11.A Closer Look into the Robustness of Neural Dependency Parsers Using Better Adversarial Examples

a. 背景

b. 方法

c. 结果

d. 论文及代码

A Closer Look into the Robustness of Neural Dependency Parsers Using Better Adversarial Examples. Yuxuan Wang, Wanxiang Che, Ivan Titov, Shay B. Cohen, Zhilin Lei, Ting Liu. Findings of ACL: ACL-IJCNLP 2021. score [pdf] [code]

论文:2021.findings-acl.207.pdf (aclanthology.org)

代码:github.com

12.Contextualized Perturbation for Textual Adversarial Attack

a. 背景

b. 方法

c. 结果

d. 论文及代码

Contextualized Perturbation for Textual Adversarial Attack. Dianqi Li, Yizhe Zhang, Hao Peng, Liqun Chen, Chris Brockett, Ming-Ting Sun, Bill Dolan. NAACL-HLT 2021. score [pdf] [code]

论文:2021.naacl-main.400.pdf (aclanthology.org)

代码:github.com

13.Adv-OLM: Generating Textual Adversaries via OLM

a. 背景

b. 方法

c. 结果

d. 论文及代码

Adv-OLM: Generating Textual Adversaries via OLM. Vijit Malik, Ashwani Bhat, Ashutosh Modi. EACL 2021. score [pdf] [code]

论文:2021.eacl-main.71.pdf (aclanthology.org)

代码:github.com

14.Adversarial Stylometry in the Wild: Transferable Lexical Substitution Attacks on Author Profiling

a. 背景

b. 方法

c. 结果

d. 论文及代码

Adversarial Stylometry in the Wild: Transferable Lexical Substitution Attacks on Author Profiling. Chris Emmery, Ákos Kádár, Grzegorz Chrupała. EACL 2021. blind [pdf] [code]

论文:2021.eacl-main.203.pdf (aclanthology.org)

代码:github.com

15.Generating Natural Language Attacks in a Hard Label Black Box Setting

a. 背景

b. 方法

c. 结果

d. 论文及代码

Generating Natural Language Attacks in a Hard Label Black Box Setting. Rishabh Maheshwary, Saket Maheshwary, Vikram Pudi. AAAI 2021. decision [pdf] [code]

论文:2012.14956.pdf (arxiv.org)

代码:https://github.com/RishabhMaheshwary/hard-label-attack

16.A Geometry-Inspired Attack for Generating Natural Language Adversarial Examples

a. 背景

b. 方法

c. 结果

d. 论文及代码

A Geometry-Inspired Attack for Generating Natural Language Adversarial Examples. Zhao Meng, Roger Wattenhofer. COLING 2020. gradient [pdf] [code]

论文:2020.coling-main.585.pdf (aclanthology.org)

代码:https://github.com/zhaopku/nlp_geometry_attack

17.BERT-ATTACK: Adversarial Attack Against BERT Using BERT

a. 背景

b. 方法

c. 结果

d. 论文及代码

BERT-ATTACK: Adversarial Attack Against BERT Using BERT. Linyang Li, Ruotian Ma, Qipeng Guo, Xiangyang Xue, Xipeng Qiu. EMNLP 2020. score [pdf] [code]

论文:aclanthology.org/2020.emnlp-main.500.pdf

代码:GitHub - LinyangLee/BERT-Attack: Code for EMNLP2020 long paper: BERT-Attack: Adversarial Attack Against BERT Using BERT

18.BAE: BERT-based Adversarial Examples for Text Classification

a. 背景

b. 方法

c. 结果

d. 论文及代码

BAE: BERT-based Adversarial Examples for Text Classification. Siddhant Garg, Goutham Ramakrishnan. EMNLP 2020. score [pdf] [code]

论文:2020.emnlp-main.498.pdf (aclanthology.org)

代码:TextAttack/textattack/attack_recipes/bae_garg_2019.py at master · QData/TextAttack · GitHub

19.Detecting Word Sense Disambiguation Biases in Machine Translation for Model-Agnostic Adversarial Attacks

a. 背景

b. 方法

c. 结果

d. 论文及代码

Detecting Word Sense Disambiguation Biases in Machine Translation for Model-Agnostic Adversarial Attacks. Denis Emelin, Ivan Titov, Rico Sennrich. EMNLP 2020. blind [pdf] [code]

论文:2020.emnlp-main.616.pdf (aclanthology.org)

代码:GitHub - demelin/detecting_wsd_biases_for_nmt: Repository containing the experimental code for the publication ‘Detecting Word Sense Disambiguation Biases in Machine Translation for Model-Agnostic Adversarial Attacks’ (Emelin, Denis, Ivan Titov, and Rico Sennrich, EMNLP 2020).

20.Imitation Attacks and Defenses for Black-box Machine Translation Systems

a. 背景

b. 方法

c. 结果

d. 论文及代码

Imitation Attacks and Defenses for Black-box Machine Translation Systems. Eric Wallace, Mitchell Stern, Dawn Song. EMNLP 2020. decision [pdf] [code]

论文:aclanthology.org/2020.emnlp-main.446.pdf

代码:GitHub - Eric-Wallace/adversarial-mt: Code for “Imitation Attacks and Defenses for Black-box Machine Translations Systems”

21-30

21.Robustness to Modification with Shared Words in Paraphrase Identification

a. 背景

b. 方法

c. 结果

d. 论文及代码

Robustness to Modification with Shared Words in Paraphrase Identification. Zhouxing Shi, Minlie Huang. Findings of ACL: EMNLP 2020. score [pdf]

论文:aclanthology.org/2020.findings-emnlp.16.pdf

代码:

22.Word-level Textual Adversarial Attacking as Combinatorial Optimization

a. 背景

b. 方法

c. 结果

d. 论文及代码

Word-level Textual Adversarial Attacking as Combinatorial Optimization. Yuan Zang, Fanchao Qi, Chenghao Yang, Zhiyuan Liu, Meng Zhang, Qun Liu, Maosong Sun. ACL 2020. score [pdf] [code]

论文:2020.acl-main.540.pdf (aclanthology.org)

代码:GitHub - thunlp/SememePSO-Attack: Code and data of the ACL 2020 paper “Word-level Textual Adversarial Attacking as Combinatorial Optimization”

23.It’s Morphin’ Time! Combating Linguistic Discrimination with Inflectional Perturbations

a. 背景

b. 方法

c. 结果

d. 论文及代码

It’s Morphin’ Time! Combating Linguistic Discrimination with Inflectional Perturbations. Samson Tan, Shafiq Joty, Min-Yen Kan, Richard Socher. ACL 2020. score [pdf] [code]

论文:2020.acl-main.263.pdf (aclanthology.org)

代码:GitHub - salesforce/morpheus: Code for ACL’20 paper “It’s Morphin’ Time! Combating Linguistic Discrimination with Inflectional Perturbations”

24.On the Robustness of Language Encoders against Grammatical Errors

a. 背景

b. 方法

c. 结果

d. 论文及代码

On the Robustness of Language Encoders against Grammatical Errors. Fan Yin, Quanyu Long, Tao Meng, Kai-Wei Chang. ACL 2020. score [pdf] [code]

论文:2020.acl-main.310.pdf (aclanthology.org)

代码:GitHub - uclanlp/ProbeGrammarRobustness: Source code for ACL2020: On the Robustness of Language Encoders against Grammatical Errors

25.Evaluating and Enhancing the Robustness of Neural Network-based Dependency Parsing Models with Adversarial Examples

a. 背景

b. 方法

c. 结果

d. 论文及代码

Evaluating and Enhancing the Robustness of Neural Network-based Dependency Parsing Models with Adversarial Examples. Xiaoqing Zheng, Jiehang Zeng, Yi Zhou, Cho-Jui Hsieh, Minhao Cheng, Xuanjing Huang. ACL 2020. gradient score [pdf] [code]

论文:2020.acl-main.590.pdf (aclanthology.org)

代码:GitHub - zjiehang/DPAttack: Pytorch implementation for ACL 2020 Paper: “Evaluating and Enhancing the Robustness of Neural Network-based Dependency Parsing Models with Adversarial Examples”

26.A Reinforced Generation of Adversarial Examples for Neural Machine Translation

a. 背景

b. 方法

c. 结果

d. 论文及代码

A Reinforced Generation of Adversarial Examples for Neural Machine Translation. Wei Zou, Shujian Huang, Jun Xie, Xinyu Dai, Jiajun Chen. ACL 2020. decision [pdf]

论文:aclanthology.org/2020.acl-main.319.pdf

代码:

27.Is BERT Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment

a. 背景

b. 方法

c. 结果

d. 论文及代码

Is BERT Really Robust? A Strong Baseline for Natural Language Attack on Text Classification and Entailment. Di Jin, Zhijing Jin, Joey Tianyi Zhou, Peter Szolovits. AAAI 2020. score [pdf] [code]

论文:1907.11932v4.pdf (arxiv.org)

代码:GitHub - jind11/TextFooler: A Model for Natural Language Attack on Text Classification and Inference

——————————————

28.Seq2Sick: Evaluating the Robustness of Sequence-to-Sequence Models with Adversarial Examples

——————————————

a. 摘要

  在本文中,我们研究了更具挑战性的问题,即为序列到序列(seq2seq)模型制作对抗性示例,该模型的输入是离散文本字符串,输出具有几乎无限的可能性。为了解决离散输入空间带来的挑战,我们提出了一种结合群套索和梯度正则化的投影梯度方法。为了处理几乎无限的输出空间,我们设计了一些新的损失函数来进行非重叠攻击和目标关键字攻击。
  我们将算法应用于机器翻译和文本摘要任务,并验证了算法的有效性:通过更改少于3个单词,我们可以使seq2seq模型以高成功率产生期望的输出。我们还使用外部情感分类器来验证我们生成的对抗性示例保留语义的特性。另一方面,我们认识到,与评估良好的基于cnn的分类器相比,seq2seq模型本质上对对抗性攻击更健壮
——————————————

b. 方法

——————————————

c. 结果

——————————————

d. 论文及代码

Seq2Sick: Evaluating the Robustness of Sequence-to-Sequence Models with Adversarial Examples. Minhao Cheng, Jinfeng Yi, Pin-Yu Chen, Huan Zhang, Cho-Jui Hsieh. AAAI 2020. score [pdf] [code]

论文:1803.01128.pdf (arxiv.org)

代码:GitHub - cmhcbb/Seq2Sick: Adversarial examples for Seq2Seq model in NLP

——————————————

💦29.Greedy Attack and Gumbel Attack: Generating Adversarial Examples for Discrete Data

——————————————

a. 摘要

  我们提出了一个概率框架来研究对离散数据的对抗性攻击。基于这个框架,我们推导了一种基于扰动的方法:贪婪攻击,以及一种可扩展的基于学习的方法:Gumbel攻击,这说明了攻击设计中的各种权衡。我们在各种最先进的文本分类模型(包括基于单词的CNN、基于字符的CNN和LSTM)上使用定量指标和人工评估来证明这些方法的有效性。作为我们结果的一个例子,我们表明,通过贪婪攻击只修改五个字符,基于字符的卷积网络的准确性下降到随机选择的水平。
——————————————

b. 方法

  • 本文提出了一个系统的概率框架,用于为具有离散输入的模型生成对抗性示例。

  • 该框架是一个两阶段的过程:

    • 在第一阶段确定要扰动的关键特征:搜索x中最重要的k个特征
    • 在第二阶段通过从字典中选择的值进行扰动:搜索值来替换选中的k个特征
  • 我们给出了这个框架的两个实例——贪婪攻击和Gumbel攻击

    • 贪心攻击分两个阶段对具有单特征扰动输入的模型进行评估
    • Gumbel攻击学习扰动的参数采样分布
      - 该框架是一个两阶段的过程:
    • 贪婪攻击的成功率更高,而Gumbel攻击需要更少的模型评估,因此在实时攻击或大规模攻击时效率更高。

——————————————

c. 结果

  • 不同攻击方法特点
    在这里插入图片描述

  • 数据集及模型特征
    在这里插入图片描述

  • 基于单词的攻击(实验结果):在三个数据集上,随着扰动特征数量的增加,精度下降
    在这里插入图片描述

  • 基于字符的攻击(实验结果):在所有方法中,贪婪攻击的表现最好,其次是Delete-1 score,然后是Gumbel Attack。有趣的是,当只有五个字符受到干扰时,基于字符的CNN并不比随机选择更好。

  • 可迁移性
    在这里插入图片描述

——————————————

d. 论文及代码

Greedy Attack and Gumbel Attack: Generating Adversarial Examples for Discrete Data. Puyudi Yang, Jianbo Chen, Cho-Jui Hsieh, Jane-LingWang, Michael I. Jordan. JMLR 2020. score [pdf] [code]

论文:19-569.pdf (jmlr.org)

代码:GitHub - Puyudi/Greedy-Attack-and-Gumbel-Attack (Under Construction.)

——————————————

💦30.On the Robustness of Self-Attentive Models

——————————————

a. 背景

  这项工作考察了自关注神经网络(self-attentive neural networks)对对抗性输入扰动的鲁棒性。具体来说,我们研究了最先进的递归神经网络和自关注架构的注意力和特征提取机制,用于对抗性攻击下的情感分析、蕴涵和机器翻译。我们还提出了一种新的攻击算法,用于生成更自然的对抗性示例,这些示例可以误导神经模型,而不是人类。实验结果表明,与递归神经模型相比,自关注模型对对抗性扰动具有更强的鲁棒性。

  本文的目标是回答以下问题:“与循环模型相比,自关注模型对对抗性示例是否更健壮?”如果是,为什么?“注意力分数是否暴露了这些自我关注模型的脆弱性?” 本工作通过执行对抗性攻击并分析其对模型预测的影响来验证自关注模型的鲁棒性。

——————————————

b. 方法

  在本节中,我们提供五种方法来生成对抗性示例(或称为“攻击”)。攻击的目标是在原始输入句子中找到并替换一个单词,将模型的输出标签(或序列)变为不正确的。

  • 第一种方法:Random Attack,基于随机单词替换,作为基线
    • 这种攻击用词汇表中的另一个单词随机替换输入句子中的一个单词。将此过程重复105次,并计算其平均值作为最终性能,该基线表示为RANDOM;
  • 第二种方法:List-based Attack,基于列表的攻击
    • 第二种方法是最近由Alzantot等人(2018)提出的,记为LIST。LIST使用语义相似的单词列表(即同义词),并设法将输入句子中的单词替换为列表中的另一个单词,以构建对抗性示例。换句话说,列表是用来用一个单词的同义词来替换它;对输入句子中的每个单词重复这个过程,直到目标模型做出错误的预测。也就是说,对于每个句子,我们首先用它的同义词替换第一个单词,每个同义词形成一个新的对抗性示例。如果这些都没有成功地误导模型,我们移动到下一个单词(第一个单词保持不变),并重复这个过程,直到攻击成功或所有单词都被尝试过;
  • 第三种方法:Greedy Select + Greedy Replace,基于贪心的方法,改编自现有技术
    • 第三种方法(表示为GS-GR)通过用“填充”(零值向量)替换每个单词并检查输出概率的变化来贪婪地搜索输入句子的弱点(Yang等人,2018)。在确定弱点之后,GS-GR然后用词汇表中随机选择的单词替换该单词以形成攻击。这个过程不断重复,直到攻击成功或词汇表中的所有单词都被用尽;
  • 提出第四种:Greedy Select + Embedding Constraint,约束贪婪
    • 在句子级(而不是词级)嵌入上增加一个约束:攻击者必须在两个嵌入之间(从单词变化前后的句子中)找到一个L1距离最小的单词作为替换。这种距离约束要求替换词不能过多地改变句子级语义。该方法记为GS-EC。在实验结果中,我们表明GS-EC方法在误导模型方面取得了与GS-GR相似的成功率,同时能够生成更自然和语义一致的对抗句子;
  • 提出第五种:Attention-based Select,基于注意的方法
    • 我们推测,自我关注模型严重依赖于注意力得分,而改变注意力得分最高或最低的单词可能会大大破坏模型的预测。因此,这种攻击方法利用并研究了注意力得分作为潜在的漏洞来源。该方法首先获得注意力得分,然后识别得分最高或最低的目标单词。然后用词汇表中的随机单词替换目标单词,重复这个过程,直到模型被生成的对抗性示例误导。这两种方法分别表示为替换得分最低的单词的ASMIN-GR和替换得分最高的单词的ASMAX-GR。此外,对嵌入距离的约束也可以在这里施加,以寻找语义相似的对抗示例;这些方法分别称为ASMIN-EC和ASMAX-EC。作为一项试点研究,我们检查了BERT模型的第一层和最后一层的注意力得分,以了解模型在攻击下的行为。
  • 我们还描述了评估指标
    • 三个评估分类(用于情感分析和蕴涵)的指标

      • (a)误导模型的攻击成功率,
      • (b)可读性(人类评分者定性评估)
      • (c)人类准确性(人类评分者定性评估)
    • 对于机器翻译任务的实验,我们评估了WMT 17任务中200个句子对的攻击成功率和BLEU分数

——————————————

c. 结果

  1. 情感分析任务的实验结果
    在这里插入图片描述
    • GS-GR(别人的方法)效果最好,但GS-EC(本文方法之一) 在第4.2节中给出了更高质量的对抗性示例,如表4.
      在这里插入图片描述

    • 我们发现,使用注意力,尤其是ASMAX方法,可以很容易地破坏LSTM模型。然而,在BERT或BERTNOPT模型中不存在相同的漏洞。由于不同类型的基于注意力的攻击适用于不同的模型,我们将表中的最佳基于注意力的攻击性能总结为A *,它在四种不同类型的基于注意力的攻击中取最大值。

    • 自关注模型(BERT和BERTNOPT)在RANDOM、LIST、基于注意力的攻击和基于贪婪的攻击下,与LSTM模型相比,攻击成功率始终较低。

  2. 蕴含任务的实验结果:
    在这里插入图片描述
  3. 翻译任务的实验结果(与分类任务不同,在机器翻译中,攻击目标很难定义): 基于变压器的模型比基于lstm的模型具有更强的鲁棒性。
  4. 以上实验均表明,自关注模型比循环模型具有更高的鲁棒性。(论文从计算角度分析了一下鲁棒性原因,感兴趣可以去看看~)
  5. 总结:我们表明,在三个NLP任务(即情感分析、蕴涵和翻译)的小输入扰动下,自关注模型对对抗性攻击的鲁棒性比循环网络更强。我们提供了关于为什么自注意结构会导致更好的鲁棒性的理论解释,以及可视化模型内部变化的说明性示例。未来的工作包括开发对抗性训练计划,以及基于我们的发现设计更健壮的架构。

——————————————

d. 论文

On the Robustness of Self-Attentive Models. Yu-Lun Hsieh, Minhao Cheng, Da-Cheng Juan, Wei Wei, Wen-Lian Hsu, Cho-Jui Hsieh. ACL 2019. score [pdf]

论文:P19-1147.pdf (aclanthology.org)
——————————————

31-40

——————————————

🧡31.Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency

——————————————

a. 简述

在这里插入图片描述
——————————————

b. PWWS

在这里插入图片描述

——————————————

c. 实验

在这里插入图片描述

——————————————

d. 论文及代码

Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency. Shuhuai Ren, Yihe Deng, Kun He, Wanxiang Che. ACL 2019. score [pdf] [code]

论文:P19-1103.pdf (aclanthology.org)

代码:[GitHub - JHL-HUST/PWWS: Generating Natural Language Adversarial Examples through Probability Weighted Word Saliency](https://github.com/JHL-HUST/PWWS/)

——————————————

💧32.Generating Fluent Adversarial Examples for Natural Languages

——————————————

a. 简述

  摘要:由于句子空间是离散的,很难沿着梯度方向进行小的扰动。其次,不能保证生成样例的流畅性。在本文中,我们提出了MHA,它通过执行Metropolis-Hastings抽样来解决这两个问题,其建议是在梯度指导下设计的。在IMDB和SNLI上的实验表明,我们提出的MHA在攻击能力上优于基线模型。使用MHA进行对抗性训练也会带来更好的鲁棒性和性能

  提出:MHA的两种变体,即黑盒MHA (bMHA)和白盒MHA (w-MHA)。具体来说,与之前使用M-H的语言生成模型相比,b-MHA的平稳分布配备了一个语言模型项和一个对抗攻击项。这两个术语使得生成对抗性示例更加流畅和有效。w-MHA甚至将对抗梯度整合到提案分布中,以加速对抗示例的生成。
——————————————

b. 方法

⭐MHA
M-H算法是一种经典的马尔可夫链蒙特卡罗采样方法。给定平稳分布(π(x))和过渡建议,M-H能够从π(x)生成理想的样例。具体来说,在每次迭代中,根据提案分布(g(x’ |x))提出从x跳到x 0的提案。提案被接受的概率由接受率给出:
在这里插入图片描述
一旦被接受,算法将跳转到x’。否则,它保持在x.

⭐b-MHA

  • 在黑盒攻击(b-MHA)中,我们期望示例满足三个要求:(a)阅读流畅;(b)能够骗过分类器;©尽可能少地调用分类器。平稳分布。为满足这些要求,将平稳分布设计为:
    在这里插入图片描述

  • 其中LM(x)是由预训练语言模型(LM)给出的句子(x)的概率,C(y~|x)是由受害者模型给出的错误标签(y ~)的概率。LM(x)保证流畅性,而C(y ~ |x)是攻击目标。

  • Transition proposal. 有三种词级转换操作——替换、插入和删除。遍历索引应用于选择要对其执行操作的单词。假设MHA在第t个提案上选择了第i个单词(wi),那么在(t + 1)个提案上,选择的单词(w *)为:在这里插入图片描述

  • 替换的转移函数如公式3所示,其中Wm是要替换的选择的单词,Q是预选的候选集,这将在后面解释。插入操作(Tbi(x’|x))由两个步骤组成–将一个随机字插入该位置,然后对其执行替换。删除操作相当简单。如果x’=x−m,则TBd(x’|x)=1,其中x−m是删除第m个单词(Wm)后的句子,否则TBd(x’|x)=0。
    在这里插入图片描述
    建议分布是转移函数的加权和,其中Pr、Pi和Pd是操作的预定义概率:
    在这里插入图片描述

  • Pre-selection. 预选器生成T_Br(x_‘|x)和T_B_i(x_’|x)的候选集。它根据分数(S B(w|x))选择最可能的词来形成候选词集合Q。S B(w|x)的公式为:
    在这里插入图片描述
    其中x[1:m−1]={w1,···,wm−1}是句子的前缀,x[m+1:n]是句子的后缀,LMB是预先训练的向后语言模型。如果没有预先选择,Q将包括词汇表中的所有单词,并且将重复调用分类器来计算公式3的分母,这是低效的。

⭐w-MHA

  • 白盒攻击(wMHA)和b-MHA的唯一区别在于预选择器。在w-MHA中,将梯度引入预选分数(Sw(w|x))。
    在这里插入图片描述
  • 其中S是余弦相似度函数,˜L=L(˜y|x,C)是目标标签上的损失函数,em和e是当前词(Wm)和替换词(W)的嵌入。梯度(∂L˜∂em)导致最陡的方向,如果e代替em,em−e是实际的变化方向。余弦相似项(S(∂L˜∂Wm,∆w))引导样本沿梯度方向跳跃,这提高了C(˜y|x)和α(x0|x),最终使w-MHA更有效。
  • 注意,w-MHA中排除了插入和删除,因为很难计算它们的梯度。以插入操作为例。可以在b-mha中应用类似的技术,通过首先插入形成中间句子x∗={w1,···,wm,w∗,wm+1,···,Wn}的随机字,然后对x∗执行替换操作。计算∂L(˜y|x∗,C)∂w∗很容易,但它不是实际的渐变。实际梯度(∂L(˜y|x,C)∂w∗)的计算很困难,因为从x到x∗的变化是离散的且不可微的。

——————————————

c. 结果

  • 实验设置:受害者模型是词级分类器,它接受标记化的句子并输出它们的标签。攻击者通过扰乱原始句子来生成句子,从而误导受害者模型犯错误。对抗性攻击包括两类:(a)黑盒攻击只允许攻击者访问模型输出,而(b)白盒攻击允许完全访问受害者模型,包括模型输出、梯度和(超)参数。对于对抗性训练,相同的受害者模型在包含对抗性示例的更新训练集上从头开始训练

在这里插入图片描述

  • 表1中列出了详细的结果。成功率是通过调用受害者模型最多6000次来获得的。如图所示,模型之间的成功率差距不是很大,因为所有模型都可以给出相当高的成功率。然而,正如预期的那样,我们提出的MHA提供了较低的困惑度(PPL),这意味着MHA生成的示例更有可能出现在评估语言模型的语料库中。由于语料库足够大,用于评估的语言模型足够强大,这表明MHA生成的示例更有可能出现在自然语言空间中。它最终会带来更好的流畅性。

——————————————

d. 论文及代码

Generating Fluent Adversarial Examples for Natural Languages. Huangzhao Zhang, Hao Zhou, Ning Miao, Lei Li. ACL 2019. gradient score [pdf] [code]

论文:Generating Fluent Adversarial Examples for Natural Languages - ACL Anthology

代码:GitHub - LC-John/Metropolis-Hastings-Attacker: “Generating Fluent Adversarial Examples for Natural Languages”

——————————————

🆗33.Robust Neural Machine Translation with Doubly Adversarial Inputs

——————————————

a. 摘要

  神经机器翻译(Neural machine translation, NMT)容易受到输入噪声干扰的影响。我们提出了一种提高NMT模型鲁棒性的方法,该方法由两部分组成:(1)使用对抗性源样本攻击翻译模型;(2)使用对抗性目标输入来保护翻译模型,以提高其对对抗性源输入的鲁棒性。对于生成对抗性输入,我们提出了一种基于梯度的方法AdvGen(白盒),根据干净输入上的翻译损失来生成对抗样本。在汉英英德翻译任务上的实验结果表明,我们的方法在标准清洁基准测试中比Transformer取得了显著的改进(2.8和1.6 BLEU点),并且在噪声数据上表现出更高的鲁棒性。

贡献:

  • 研究了一种生成对抗样本的白盒方法:一种以翻译损失为指导的基于梯度的方法
  • 提出了一种新的方法来提高具有双重对抗输入的NMT的鲁棒性:编码器中的对抗性输入旨在攻击NMT模型,而解码器中的对抗性输入能够防御预测中的错误
  • 本文方法在两个常见的翻译基准上实现了对以前最先进的Transformer模型的显著改进

——————————————

b. 方法AdvGen

⭐目标是学习能够克服输入句子中的小扰动的鲁棒NMT模型。

⭐提出一种基于梯度的方法,称为AdvGen,来构建对抗性示例,并使用这些示例来攻击和防御NMT模型。直觉是,理想的模型会对相似的输入句子产生相似的翻译结果,尽管扰动会导致任何微小的差异。

⭐AdvGen应用于编码和解码阶段:
 (1)通过生成对训练损失敏感的对抗性源输入来攻击NMT模型(使用AdvGen从原始输入x构造一个对抗示例x‘来攻击NMT模型)
 (2)然后用对抗的目标输入来捍卫NMT模型,旨在减少相应的对抗源输入的预测误差(使用AdvGen从解码器输入z中找到一个对抗的目标输入z’,以提高NMT模型对源输入x‘中的对抗扰动的鲁棒性)
 (3)希望NMT模型对源对抗输入x’和目标预测中的对抗扰动z’都具有鲁棒性

⭐①算法1,AdvGen
在这里插入图片描述
 算法1描述了从输入句子s生成对抗句子s 0的函数AdvGen。函数输入为:Q是候选集生成的似然函数,而对于源,它是来自Eq.(7)的Qsrc。Dpos是单词位置{1,…, |x|}从中采样对抗性单词。对于源,我们使用简单均匀分布u,遵循约束R,我们希望输出句子与输入句子不要偏离太多,因此基于超参数γ∈[0,1],只改变其组成词的一小部分。

⭐②对抗目标输入的防御
 设z为句子对(x, y)的解码器输入。我们使用相同的AdvGen函数从z生成一个对抗的目标输入z’
在这里插入图片描述
 注意,对于目标gxi,平移损失被替换为- log P(y|x 0)。Qtrg是选择目标词候选集Vz的可能性,计算公式如下:
在这里插入图片描述
 具体参数含义见论文~

⭐③训练,算法2
在这里插入图片描述
  算法2详细介绍了计算平行句子对(x, y)的鲁棒性损失的整个过程。我们运行AdvGen两次,得到x’和z‘。在更新参数时,我们没有在AdvGen上反向传播梯度,只是起到了数据生成器的作用。在我们的实现中,与标准Transformer模型相比,此函数最多只会导致20%的时间开销。因此,我们计算S上的鲁棒性损失为:

在这里插入图片描述
  最终训练目标L是四个损失函数的组合:
在这里插入图片描述

——————————————

c. 结果

  1. 数据集介绍:我们对汉英和英德翻译任务进行了实验。汉英训练集来自LDC语料库,包含120万个句子对。我们使用NIST 2006数据集作为模型选择和超参数调优的验证集,并使用NIST 2002、2003、2004、2005、2008作为测试集。对于英德翻译任务,我们使用了WMT的14个语料库,包含450万个句子对。验证集为newstest2013,测试集为newstest2014
  2. 部分实验结果
    在这里插入图片描述
  3. 总结:在这项工作中,我们提出了一种方法来提高具有双重对抗性输入的NMT模型的鲁棒性。我们还介绍了一种白盒方法来生成NMT的对抗性示例。在汉英和英德翻译任务上的实验结果表明,该方法既提高了翻译性能,又提高了鲁棒性。在未来的工作中,我们计划探索产生更自然的对抗性示例的方向,而不需要替换单词和更高级的防御方法,如课程学习(Jiang等,2018,2015)。

——————————————

d. 论文

Robust Neural Machine Translation with Doubly Adversarial Inputs. Yong Cheng, Lu Jiang, Wolfgang Macherey. ACL 2019. gradient [pdf]

论文:https://aclanthology.org/P19-1425/

——————————————

📄34.Universal Adversarial Attacks on Text Classifiers

——————————————

a. 背景

摘要:本文提出了一种基于梯度投影的新方法,用于生成文本的通用对抗性扰动;实验发现:即使在每个输入序列的开始插入一个对抗词,准确率也会从93%下降到50%。

引言:①文本和图像之间的关键区别之一是构建文本的单词和字符的离散性,这需要离散优化方法来为它们制作对抗性扰动。②图像可以使用输出的梯度来找到对抗性扰动,这对于单词或字符的梯度是没有定义的。然而,当单词或字符在欧几里得空间中嵌入时,我们可以计算它们的梯度。
(类似的内容在新的笔记里尽量不再重复啦~)

提出:本文提出了一种新的方法来生成文本数据的通用对抗性扰动,因为它们可以插入到任何输入序列中,以欺骗给定的文本分类模型。与之前攻击文本分类器的工作不同,我们的攻击不需要单独优化每个输入的扰动。相反,我们寻求可以应用于任何输入序列的扰动(来自相应的域-from the corresponding domain))。提出的方法使用基于迭代投影梯度的方法查找必须插入到输入序列中的单词序列。据我们所知,我们是第一个在文本分类器上引入通用对抗性攻击的人。

——————————————

b. 方法

⭐在通用对抗性攻击机制[22]中,我们寻求一个可以添加到每个输入样本的单一扰动,并以高概率欺骗给定的分类器。

⭐非目标攻击:为了设计w(w是插入序列,如公式(1)所示),最大化分类器相对于非目标攻击的真实类的损失函数,如公式(2)。目标是将分类器分散到任何其他类,而不是真正的类。
⭐有目标攻击:目标函数是最小化指定类别的损失,如公式(3)。
在这里插入图片描述
⭐由于我们正在优化相对于数据分布的预期损失,因此结果序列w_^ 理想情况下是通用的;也就是说,当 w_^连接到来自P(X)的任何样本时,平均损失是最大化/最小化的。
⭐建议使用梯度下降/上升,这取决于攻击是有针对性的还是无针对性的,来解决Eq.(2)和Eq.(3)中的优化问题。
⭐算法流程如下:
在这里插入图片描述

——————————————

c. 实验部分

  我们在不同的环境下评估了我们的方法,包括三种基于rnn的体系结构和两种文本分类数据集,并表明所有的体系结构都很容易受到这种简单的扰动。

  • 数据集
    • AG news dataset(新闻分类数据集)
    • Stanford Sentiment Treebank(情感分析数据集)
  • 受害者模型
    • LSTM:使用的默认架构是带有LSTM单元的普通RNN。最后一个隐藏状态被馈送到一个完全连接的层来产生结果
    • bi-LSTM:双向LSTM,其中两个方向的最后隐藏状态被连接并馈送到下一层
    • mean-LSTM: 在所有LSTM单元的输出上使用一个平均层,然后将它们馈送到下一层
  • Hyper-parameters:所有LSTM单元都有512个隐藏单元。实验发现学习率1是在嵌入空间中词汇表的词向量之间移动的合适值。利用Adam优化器[27]对损失函数进行优化
  • 非目标攻击实验结果
    • 表1显示了通过将对抗性单词连接到输入的开头来攻击LSTM对新闻文章进行分类的结果。有趣的是,在所有的实验中都有一个占主导地位的阶级,那就是科学/技术类别。这种攻击导致可能达到的最低准确度(即25%)。
      在这里插入图片描述

    • 随着对抗词数量的增加,模型的准确性下降,因为词的数量直接影响分类器的决策。根据这些实验,即使在任何序列的开头插入一个单词,也会使模型的准确率下降到50%。

    • 我们对在AG新闻数据集上训练的三种不同的架构进行了非目标攻击,并将对抗词连接到每个输入样本的开头。结果如表2所示。所有的体系结构似乎都容易受到我们的攻击,这暗示我们的攻击对基于rnn的体系结构来说是一种威胁。 - 在这里插入图片描述

    • 小结:在AG新闻数据集上训练的模型。当单词被插入到输入序列的开头时,模型更容易被愚弄。该模型似乎更重视输入序列的开始。为了进一步研究它,我们对一个与输入序列方向无关的双向LSTM模型(表3)进行了相同的实验。可以看出,双向LSTM表现出更一致的行为。
      在这里插入图片描述

  • 有目标攻击实验结果
    • 有针对性的攻击,尝试优化Eq.(3)。作者对在AG新闻数据集上训练的LSTM模型进行了有针对性的攻击,在序列的开头插入对抗词。如图4所示,所提方法可以成功地应用于这类攻击。从结果来看,似乎有些类在欺骗模型方面更强大,这可能是由它们中使用的特殊词汇造成的。例如,Sci/Tech类别中有许多技术词汇,这些词汇在其他类别中很少使用,因此,通过将它们插入任何句子中,分类器就很有可能被愚弄。

    • 图3和图4展示了不同攻击场景模LSTM分类器分类准确率的下降
      在这里插入图片描述

  • 总结:本文提出了一种新的通用文本分类器攻击方法,使用一种基于梯度投影的方法来制作与数据无关的对抗序列,当添加到任何输入样本时,该方法都有很高的概率欺骗分类器。结果表明,即使在这样一个简单的制度下,分类器也相当脆弱,以至于插入一个词可以将准确率从93%下降到50%。
  • 展望:文本分类器的鲁棒性问题还没有得到很好的研究,因为文本数据的离散性比通常研究的图像数据带来了更多的挑战。在这种情况下仍有许多悬而未决的问题,例如,注意力如何有助于模型的鲁棒性,这可以在未来的工作中进行研究。

——————————————

d. 论文

Universal Adversarial Attacks on Text Classifiers. Melika Behjati, Seyed-Mohsen Moosavi-Dezfooli, Mahdieh Soleymani Baghshah, Pascal Frossard. ICASSP 2019. gradient [pdf]

论文:Universal Adversarial Attacks on Text Classifiers | IEEE Conference Publication | IEEE Xplore

——————————————

📄35.Generating Natural Language Adversarial Examples

——————————————

a. 摘要

  在图像域,这些扰动通常对人类的感知几乎无法区分,导致人类和最先进的模型不一致。然而,在自然语言领域,微小的扰动是明显可感知的,并且替换单个单词可以彻底改变文档的语义。

  鉴于这些挑战,我们使用基于黑盒群体的优化算法来生成语义和语法相似的对抗性示例(通过最小化语义和语法的不相似性),这些示例分别以97%和70%的成功率骗过训练有素的情感分析和文本蕴含模型。

  我们还证明,92.3%的成功的情感分析对抗性示例被20个人类注释者分类到它们的原始标签上,并且这些示例明显非常相似。

  最后,我们讨论了使用对抗性训练作为防御的尝试,但未能产生改进,展示了我们对抗性示例的强度和多样性。我们希望我们的发现能鼓励研究人员在自然语言领域提高dnn的鲁棒性。
——————————————

b. 相关工作

  与连续的图像像素值不同,句子中的单词是离散的符号。因此,不可能计算网络损失函数相对于输入单词的梯度。一个直接的解决方法是将输入句子投射到一个连续的空间中(例如词嵌入),并将其视为模型输入。然而,这种方法也失败了,因为 它仍然假设用嵌入空间中附近的单词替换每个单词不会被注意到(假设不会被人类感知)。

  先前的工作(Papernot et al ., 2016【论文40】)已经研究了最小化诱导错误分类所需的单词替换数量,但是没有考虑语义或语法,产生不连贯的生成示例。我们试图通过单词替换来生成语义和语法相似的对抗性示例,以解决上述问题。

  在最近的工作中,已经有一些尝试通过使用反翻译(Iyyer等人,2018),利用机器生成的规则(Ribeiro等人,2018)以及在底层语义空间中搜索(Zhao等人,2018)来为语言任务生成对抗性示例。此外,在准备提交的同时,我们意识到最近的工作目标是类似的贡献(Kuleshov等人,2018;Ebrahimi et al, 2018)。我们将这些贡献视为并行工作。

——————————————

c. 算法

⭐攻击的模型是黑盒,只能获得决策和置信度(不能获得内部信息,例如梯度)。这种设置已经在图像领域得到了广泛的研究,但尚未(?)在自然语言的背景下进行探索。

⭐目标:尽量减少原始和对抗示例之间修改词的数量,但只进行与原始语义相似和句法连贯的修改。

⭐算法:通过遗传算法利用基于种群的无梯度优化。

⭐单词替换规则Perturb Subroutine:

  • 输入一个句子x_cur(可以是修改后的,也可以是原始样本x_orig),从x_cur随机选择一个单词w,为其选择一个合适的替换词,要求语义相似,与上下文相匹配,能提高目标标签的预测分数。选择替换词的步骤如下,即Perturb算法:
    • 根据GloVe嵌入空间中的距离(选择的是欧几里得距离,因为作者没有看到使用余弦有明显的改善)计算所选单词的N个近邻,过滤掉与所选词的距离大于δ的候选词。
    • 使用(Mrksi′c et al′,2016)中提出的counter-fitting(反拟合方法)对对手的GloVe向量进行后处理,以确保最近的邻居是同义词。所得到的embedding与受害者模型使用的embedding无关。
    • 使用Google 10亿个单词语言模型(Chelba et al, 2013)来过滤掉x_cur中不适合单词w周围上下文的单词。我们根据候选单词在替换上下文中的语言模型分数对它们进行排名,并只保留得分最高的前K个单词。
    • 从剩下的一组单词中,选择一个在替换x_cur中的单词w时能够最大化目标标签预测概率的单词。
    • 最后,将选择的单词插入w的位置,Perturb返回结果句子。
    • (在输入句子中选择替换的单词是通过随机抽样来完成的,随机抽样的概率与每个单词在反拟合嵌入空间中的欧几里德距离δ内的邻居数量成正比,从而鼓励解集足够大,以便算法进行适当的修改。作者排除了常用冠词和介词(例如a, to)作为替换。)

⭐优化过程(算法1):

  • 该算法首先通过调用Perturb子例程S次来创建一组对原始句子的不同修改,从而创建大小为S的初始代P0。
  • 通过查询受害者模型函数f,获得目标标签预测概率作为当前代中每个种群成员的适应度。
    • 如果种群成员的预测标签等于目标标签t,则优化完成。
    • 否则,将以与其适应度值成比例的概率对当前代的种群成员进行随机抽样。然后,通过使用均匀分布从两个父句中独立采样,从一对父句中合成一个新的子句。最后,将扰动子程序应用于结果子程序。

在这里插入图片描述

d. 实验及结果

  1. 模型评估

    • 数据集:情感分析IMDB、文本蕴含SNLI
    • 受害者模型:imdb_lstmsnli_rnn (imdb可能没了)
    • 使用GloVe将输入句子中的每个单词投影到固定的300维向量空间中
    • 限制攻击者最多G = 20次迭代,并将超参数值固定为S = 60, N = 8, K = 4和δ = 0.5。对于这两个任务,作者对文档进行更改的最大百分比分别固定为20%和25%
    • IMDB模型的测试精度为90%,相对接近本数据集的最新结果;SNLI模型测试精度为83%,也相对接近最先进的水平(Chen et al ., 2017b)
    • 对比的基线是Perturb baseline,它贪婪地应用Perturb子例程(没用遗传算法)
      在这里插入图片描述
    • 使用单个TitanX GPU进行情感分析和文本蕴意的测试,测量的每个示例成功的平均运行时间分别为43.5秒和5秒
    • 由于句子长度的巨大差异,在文本蕴涵上的成功率较低。SNLI语料库中的假设句平均长度为9个单词,与IMDB(229个单词,实验限制为100个)相比非常短。对于这么短的句子,应用成功的扰动变得更加困难,但是本文仍然能够达到70%的成功率。出于同样的原因,作者没有在文本蕴涵任务上应用Perturb基线,因为Perturb基线在最大允许更改约束的限制下无法取得任何成功。
  2. 用户研究
    对20名志愿者进行了情感分析任务的用户研究,以评估生成的对抗性扰动的可感知程度。请注意,参与志愿者的数量明显大于之前的研究(Jia and Liang, 2017;Ebrahimi et al, 2018)。用户研究由两部分组成。首先,作者向参与者展示了100个对抗性的例子,并要求他们标记文本的情绪(即积极或消极)。92.3%的回答与原始文本的情绪相匹配,这表明本文算法的修改并没有显著影响人类对文本情绪的判断。其次,作者准备了100个问题,每个问题包括原始示例和对应的对抗示例成对。参与者被要求在1(非常相似)到4(非常不同)的范围内判断每一对的相似性。平均评分为2.23±0.25,表明感知差异也较小。

  3. 对抗训练
    作者使用IMDB训练集在经过干净训练的情感分析模型上生成了1000个对抗性示例,将它们附加到现有的训练集上,并使用更新的数据集从头开始对抗性训练模型。作者发现,在使用测试集的实验中,对抗性训练没有提供额外的鲁棒性好处,尽管该模型对训练集中的对抗性样本进行分类的准确率接近100%。这些结果证明了作者的攻击算法产生的扰动的多样性,并说明了防御对抗性攻击的困难。作者希望这些结果能激励进一步的工作,以提高自然语言模型的鲁棒性。

  4. 总结
    作者证明,尽管在自然语言领域生成难以察觉的对抗示例存在困难,但可以使用基于黑盒种群的优化算法制作语义和语法相似的对抗示例,在情感分析和文本蕴涵任务上都取得了成功。人类研究证实,生成的示例确实是对抗性的,并且可以觉察到非常相似。作者希望该工作能够鼓励研究人员在自然语言领域提高dnn的鲁棒性。

——————————————

e. 论文及代码

Generating Natural Language Adversarial Examples. Moustafa Alzantot, Yash Sharma, Ahmed Elgohary, Bo-Jhang Ho, Mani Srivastava, Kai-Wei Chang. EMNLP 2018. score [pdf] [code]

论文:Generating Natural Language Adversarial Examples - ACL Anthology

代码:GitHub - nesl/nlp_adversarial_examples: Implementation code for the paper “Generating Natural Language Adversarial Examples”

——————————————

📄36.Breaking NLI Systems with Sentences that Require Simple Lexical Inferences

——————————————

a. 引言

  识别文本蕴涵(RTE)任务,最近被定义为自然语言推理(NLI),是一项涉及识别前提句是否包含、矛盾或与假设句无关的任务(也可视为三分类~)。

  随着大规模SNLI数据集的发布(Bowman等人,2015),已经为该任务开发了许多端到端的神经模型,在测试集上实现了高精度。与严重依赖词汇资源的前一代方法不同,神经模型只使用预先训练的单词嵌入。为数不多的整合外部词汇知识的努力导致了微不足道的成绩提升。

  这提出了一个问题:(1)神经方法本身更强大,不需要外部词汇知识;(2)大规模训练数据允许对先前显性词汇知识的内隐学习;或(3)NLI数据集比早期RTE数据集更简单,需要的知识更少。

  在本文中,我们证明了现有的NLI系统在其泛化能力方面是有限的,并且不能捕获许多需要词汇和世界知识的简单推理。为了分离词汇知识方面,我们构造的示例只包含在训练集中和预先训练的嵌入中出现的单词,并且与训练集中的句子相差一个单词。

  在新测试集上的表现在各个系统上都要差得多,这表明SNLI测试集本身并不足以衡量语言理解能力。我们的结果与Gururangan等人(2018)和Poliak等人(2018)的结果一致,他们表明,只需查看假设并利用词语选择和句子长度等注释人工产物,就可以识别标签。

  进一步研究表明,主要影响系统正确预测测试用例的能力的是在训练集中找到的相似用例的数量。鉴于训练数据总是有限的,这是一种相当低效的学习词汇推理的方法,需要开发更有效的方法。

  我们构建了一个测试集,目的是评估最先进的NLI模型在需要简单词汇知识的情况下进行推理的能力。我们自动生成句子对,然后手动验证。

——————————————

b. 方法

  为了隔离词汇知识方面,前提取自SNLI训练集。对于每个前提,我们通过用不同的单词替换前提中的单个单词来生成几个假设。我们还允许一些多词名词短语(“electric guitar”),并在需要时调整限定词和介词。

  我们只专注于生成蕴涵和矛盾的例子,而中性的例子可能会作为副产品生成。蕴涵样例是用同义词或上义替换单词生成的,而矛盾样例是用互斥的同义同义词和反义词替换单词生成的(见表1)。生成步骤如下。

  • 替换词:我们利用英语学习的在线资源收集了替换单词。新引入的单词都出现在SNLI训练集中:从出现在单个训练样本(“葡萄牙”)到248,051个样本(“MAN”),平均值为3,663.1,中位数为149.5。这些单词也可以在预先训练的嵌入词汇表中找到。这个约束的目标是隔离词汇知识方面,并评估模型对已知单词进行概括和做出新推理的能力。替换词按主题分类,在几个类别中应用了额外的处理,以确保示例在上下文中确实是互斥的、主题相似的和可互换的。我们使用GloVe 将具有相同词性且余弦相似度得分高于阈值的WordNet反义词纳入其中。

  • 句子对:为了避免引入训练数据中不存在的新信息,我们从SNLI训练集中采样了包含列表中单词的前提,并通过替换所选单词来生成假设。一些生成的句子可能不符合语法或毫无意义,例如,在讨论迈克尔乔丹的句子中将Jordan替换为Syria。我们使用维基百科的双元图来丢弃那些被替换的单词创建的双元图出现次数少于10次的句子。

——————————————

c. 结果

  • 我们使用Amazon Mechanical Turk中的众包工人手动验证自动构建示例的正确性。注释结果与Fleiss的Kappa κ = 0.61 (Landis and Koch, 1977)基本一致。我们使用Gong等人(2018)中描述的方法估计人类的表现为94.1%,这表明新的测试集比SNLI对人类来说要容易得多。

  • 评估模型:

    • 没有外部知识:
      • 3种不同方法的代表模型①RESIDUALSTACKED-ENCODER是一种基于bilstm的无注意力单句编码模型②ESIM 是基于treelstm和bilstm的混合模型③DECOMPOSABLE ATTENTION
      • 在SNLI测试集上实现了84.7%的准确率,而原始系统的准确率为86.3%
      • 我们为每个模型使用推荐的超参数,如所提供的代码中所示。
    • 有外部知识:
      • 我们提供了一个简单的WORDNET基线,其中我们根据原始单词wp和替换单词wh之间的WORDNET关系对句子对进行分类。如果wp是wh的下义词或者它们是同义词,我们预测蕴涵,如果wp是wh的上义词,我们预测中性,如果wp和wh是反义词或者它们有一个共同的上义词祖先,我们预测矛盾(最多2个边)。没有WordNet关系的单词对被归类为other。
      • 我们还报告了KIM 的性能,KIM是ESIM的扩展,使用来自WordNet的外部知识,由Qian Chen提供给我们。KIM通过考虑词之间存在WordNet关系来改进注意机制。词法推理组件对对齐的词对进行操作,并使用编码词之间特定WordNet关系的向量进行丰富。
  • 数据集:在3个不同的数据集上训练每个模型:(1)SNLI训练集,(2)SNLI训练集和MultiNLI训练集的并集,(3)SNLI训练集和SciTail训练集的并集。其动机是,虽然SNLI可能缺乏学习所需词汇知识所需的训练数据,但它可能在其他数据集中可用,这些数据集可能更丰富。

  • 结果如表3所示:
    在这里插入图片描述

  总结:我们创建了一个新的NLI测试集,目的是评估系统在需要简单词汇知识的情况下进行推理的能力。尽管测试集的构造比SNLI简单得多,并且没有引入新的词汇表,但最先进的系统在测试集上的表现很差,这表明它们的泛化能力有限。该测试集可以在将来用于评估NLI系统的词汇推理能力,并梳理其他性能非常相似的系统的性能。

——————————————

d. 论文数据集

Breaking NLI Systems with Sentences that Require Simple Lexical Inferences. Max Glockner, Vered Shwartz, Yoav Goldberg. ACL 2018. blind [pdf] [dataset]

论文:Breaking NLI Systems with Sentences that Require Simple Lexical Inferences - ACL Anthology

数据集:GitHub - BIU-NLP/Breaking_NLI: NLI test set with lexical inferences
——————————————

📄37.Deep Text Classification Can be Fooled

——————————————

a. 背景

背景:①该领域现有的所有研究都针对用于图像或音频分类的 DNN;用于自然语言处理的 DNN 被严重低估不说没有👍)②网络钓鱼网页、垃圾邮件检测系统主要基于文本分类

提出一种有效的方法来制作文本对抗样本(text adversarial samples):面对不同的对抗场景,通过计算输入的成本梯度(白盒攻击)或生成一系列被遮挡的测试样本(黑盒攻击)来识别对分类重要的文本项,并设计插入、修改和删除三种扰动策略,引入自然语言水印技术来精心修饰给定的文本以生成对抗性样本

——————————————

b. 方法

  1. 白盒场景(利用梯度,识别对分类很重要的文本项,然后利用这些项以及自然语言水印技术来决定插入、修改或删除)

    • 字符级DNN
      • 1.采用反向传播算法计算每个训练样本x的成本梯度∇xJ(F,x,c),得到这些样本的所有字符向量中每个维度的代价梯度
      • 2.获得热训练短语(HTP)和热样本短语(HSPs),见下方介绍。
      • 3.基于HTP和HSPs,三种扰动策略,即插入,修改和删除,单独或组合使用来制作给定文本的对抗性样本。值得指出的是,所提方法允许指定修改后的标签,进行有目标攻击。引入了NL(自然语言)水印技术。该技术可以通过语义或语法操作将所有权水印悄悄地嵌入到纯文本中
        • 插入:引入了NL(自然语言)水印技术。该技术可以通过语义或语法操作将所有权水印悄悄地嵌入到纯文本中。在这里,我们扩展了插入预设[Vybornova and Macq, 2007]和语义空短语[Atallah et al, 2001]的想法,以干扰目标文本样本。预设是读者所熟知的隐含信息,语义空洞的短语是可有可无的成分。(具体步骤可能是,通过搜索互联网或一些事实数据库,得到一些与插入点密切相关的事实,插入到原文本中;当没有适当的事实可用时,提出“伪造事实”这一个新的概念,来包装理想的HTP。
        • 修改:修改策略是通过稍微操纵输入中的一些HSPs来影响模型输出。采用了基于排版的水印技术,对HSP进行了两种修改:(1)将其替换为常见的拼写错误,(2)将部分字符改为视觉外观相似的字符,如将小写l替换为1。
        • 删除:单独的去除策略可能不足以有效地改变预测,但会在很大程度上降低原始类别的置信度。
    • 单词级DNN
      • 攻击单词级DNN类似于攻击字符级,如图8所示,利用获得的HTPs和HSP,三种扰动策略被证明是有效的。
  2. 黑盒场景

    • 在黑盒场景中,目标模型的内部知识(例如,成本梯度)不再可用。
    • 在这种情况下,我们借用模糊技术[Satton等人,2007]的思想来实现盲测试,以定位HTPs和HSP。在我们提出的方法中,有目的地生成一些测试样本来探测目标模型。
    • 选择空白进行遮挡是因为在许多自然语言中,例如英语,冗余的空白通常对文本的语义几乎没有贡献,而“相同长度”的限制是为了尽可能保持整个文本的结构完整性。
    • 因此,仅使用一个空白进行遮挡或直接删除一个单词可能会导致不必要的问题。记录测试样本在目标模型的分类结果,可以了解一个被遮挡的单词会引起多大的偏差。偏差越大,对应单词就越重视正确的分类。可以带来最大偏差的单词被识别为种子样本的HSP。
    • HTP可以以类似的方式识别。在我们的实验中,我们将遮挡方案应用于训练集,并从每个样本中只选择一个热门单词(被遮挡会导致最大偏差的单词)。所有的热词都是根据样本的标签收集的,最频繁的热词被识别为HTP。
    • 实验结果表明,黑盒测试在识别HTPs方面可以达到与白盒方法相似的性能。
    • 表4显示了两类CR数据集的前十个HTP,分别通过白盒和黑盒方法找到。我们可以看到,前十个HTP中有七个与Posit相同(显示在灰色背景中)
      在这里插入图片描述

⭐关于热门训练短语(HTPs):采用反向传播算法来计算每个训练样本x的成本梯度∇ x J ( F , x , c ) ∇xJ(F, x, c),从而得到这些样本的所有字符向量中每个维度的成本梯度。然后将具有最大幅值维度的字符命名为热字符。(Then we term characters containing the dimensions with maximum highest magnitude hot characters)。每个样本根据经验选择前50个热词(hot characters ①)。随后,通过简单的扫描,可以识别出包含超过或等于三个热字符的热单词(hot words containing more than or equal to three hot characters),如果它们都是热词(hot words),任何相邻的词都将被组合成一个热词组(hot phrase)。没有被组合的热词也将被视为热词组。最后,对于所有的训练样本,之前获得的热词组将根据样本的标签被收集在一起。我们从中确定最频繁的短语,称为热门训练短语(Hot Training Phrases, HTPs)②。以Building类为例,表1显示了它的前十个htp。
在这里插入图片描述
单词级DNN的htp可以用类似的方式获得,只是这次是通过寻找具有最大最高梯度大小的单词向量来直接识别热门短语。
⭐HTP说明了要插入什么,引入HSPs(Hot Sample Phrases)说明在哪里插入:类似于计算HTP,给定文本样本,仍然使用反向传播算法来定位对当前分类有重大贡献的热短语,并将这些短语识别为热样本短语(HSPs)。HSPs意味着在哪里操纵来制作一个有效的对抗样本。


① 50个啥呀?英文字母也就26个呀 /疑惑
②这段翻译参考的文章:文献阅读三—Deep Text Classification Can be Fooled

——————————————

c. 结果

⭐攻击目标:两个有代表性的文本分类 DNN,即字符级模型 [Zhang et al, 2015] 和单词级模型 [Kim, 2014]

⭐①字符级模型+DBpedia 本体数据集(文本的每个字符都使用 one-hot表示形式量化为向量)
②词级模型+数据集MR、CR 和 MPQA(输入文本中的所有单词都将嵌入到一些 300 维的预训练向量中 [Mikolov et al, 2013])

QA

  1. 我们的方法能否执行有效的源/目标错误分类攻击?
    …实验表明,我们的方法可以进行有效的源/目标误分类攻击。
  2. 对抗性样本能否避免被人类观察者区分,并保持效用?
    我们对来自我们大学的23名学生进行了单盲用户研究。每个人都有20个文本样本,一半有扰动。对于10个原始样本,受试者以94.2%的平均准确率对其进行分类;而对于十个感染样本的准确率为94.8%。可比较的性能表明,在对抗性样本中确实保留了效用。
  3. 我们的方法足够有效吗?
    白盒攻击总共花费了116个小时来计算桌面计算机上DBpedia数据集的所有14个类(每个类8.29个小时)的成本梯度并识别HTTPs。对于黑盒攻击,生成测试样本和识别HTP需要107小时(每类7.63小时)。对于其他相对较小的数据集(即MR、CR和MPQA),我们可以在几分钟内获得它们的HTP。制作一个对抗性样本大约需要15分钟。在实践中,攻击者愿意花更多的时间来制作一个理想的对抗性样本。
  4. 白盒和黑盒,哪个更强大?
    我们的实验表明,以两种方式获得的HTPs高度重叠,约80%是相同的,并且对于给定的样本,获得的HSPs通常是相同的。此外,在实践中,白盒分析可以识别黑盒测试中遗漏的一些热门短语,反之亦然。例如,CR数据集中的两个可利用的消极HTPs “disappointed” and “terrible”是以白盒方式识别的,而以黑盒方式则忽略了这两个HTTPs。同时,来自MR数据集的两个可利用的积极 HTPs “beautiful”and “charming”只能在黑盒测试中命中。这四个词都可以用来进行成功的躲避攻击。这些证据表明,这两种方式都是有效的,相辅相成。

——————————————

d. 论文

Deep Text Classification Can be Fooled. Bin Liang, Hongcheng Li, Miaoqiang Su, Pan Bian, Xirong Li, Wenchang Shi. IJCAI 2018. gradient score [pdf]

论文:1704.08006.pdf (arxiv.org)

代码:暂无(可能部分有人工操作)

——————————————

❌38.Interpretable Adversarial Perturbation in Input Embedding Space for Text

——————————————

a. 背景

  作者认为:本研究是第一个基于应用于NLP领域任务的对抗性扰动来讨论AdvT可解释性的试验
主要思想:只限制对词嵌入空间中现有词的位置的扰动方向,如下图(Figure1)
在这里插入图片描述
  方法意义:可以通过将扰动考虑为句子中单词的替换,直接将每个带有扰动的输入解释为一个实际的句子

——————————————

b. 方法

emm公式有点多,有点看不懂,留个坑
先参考另一篇阅读笔记:https://blog.csdn.net/qq_36829091/article/details/81914177

——————————————

c. 结果(之后补)

——————————————

d. 论文及代码

Interpretable Adversarial Perturbation in Input Embedding Space for Text. Sato, Motoki, Jun Suzuki, Hiroyuki Shindo, Yuji Matsumoto. IJCAI 2018. gradient [pdf] [code]

论文:1805.02917.pdf (arxiv.org)

代码:GitHub - aonotas/interpretable-adv: Code for Interpretable Adversarial Perturbation in Input Embedding Space for Text, IJCAI 2018.

——————————————

📄39.Towards Crafting Text Adversarial Samples

——————————————

a. 背景

提出:对原始文本样本的修改是通过删除或替换文本中的重要或显著单词或者通过在文本样本中引入新单词来完成的。
目标:以最少的修改次数来改变样本的类别标签(使用贪心方法的思想在尽可能少的变化中制作对抗性样本)
展望:在这项工作中,修改所采用的步骤本质上是启发式的,可以进一步改进和自动化以获得更好的结果

——————————————

b. 方法

⭐对原始文本样本的修改是通过:

  1. 删除(wi是副词)
  2. 插入(使用FGSM从wi的候选池P中选择一个单词pj. 如果wi是一个形容词,pj是一个副词,通过在wi之前插入pj)新词来完成
  3. 替换(当wi和pj的词性相同时,才考虑替换它) 文本中重要或突出的单词

⭐具体实现:
在这里插入图片描述

⭐其中,单词wk的贡献CF可以被测量为:
在这里插入图片描述
⭐对每个单词计算CF(yi | w)是一个耗时的过程。我们使用FGSM(2)的概念来近似计算单词wk的贡献,其可以计算为:
在这里插入图片描述

——————————————

c. 结果

 数据集:(I)用于情感分析的IMDB电影评论数据集和(ii)用于性别分类的twitter数据集。

  • IMDB数据集实验结果
    在这里插入图片描述
  • Twitter数据集实验结果

在这里插入图片描述

 语义相似度使用Spacy工具箱进行度量。
——————————————

d. 论文

Towards Crafting Text Adversarial Samples. Suranjana Samanta, Sameep Mehta. ECIR 2018. gradient [pdf]

论文:1707.02812.pdf (arxiv.org)

——————————————

📄40.Crafting Adversarial Input Sequences For Recurrent Neural Networks

——————————————

a. 背景(考古2016):

背景:为了选择将神经网络分类器分配的类别更改为不同于合法类别或对手选择的特定目标类别的任何类别的扰动,可以遵循两种方法:快速梯度符号方法(FGSM)向前导数方法。这些技术主要在为解决图像分类任务而训练的模型上进行评估。

挑战:RNN在其计算图中引入了循环,循环计算的存在潜在地对基于模型区分的现有对立样本算法的适用性提出了挑战,因为循环阻止了通过应用链规则直接计算梯度。

技术:使用一种称为计算图展开的技术,正向导数(即雅可比模型)可以适用于具有循环计算图的神经网络,从而操纵由顺序RNN输出的序列和由分类RNN做出的分类预测。

贡献

  1. 形式化了序列数据环境下的对抗性样本优化问题:使用前向导数来调整crafting算法以适应RNNs的特性,这包括展示如何计算循环计算图的向前导数。
  2. 研究了将对抗性扰动从模型的预处理输入转移到原始输入。
  3. 使用RNNs进行分类和顺序预测来评估技术的性能。平均来说,在71个单词的电影评论中改变9个单词就足以让分类RNN在对评论进行情感分析时做出100%错误的分类预测。还表明,序列制作使用雅可比扰动第二个RNN的顺序输出。

意义:本文通过研究处理顺序数据的循环神经网络的对抗性输入序列,为对抗性机器学习领域做出了贡献。表明:①之前引入的用于制作由前馈神经网络错误分类的对抗性样本的算法类别可以适用于循环神经网络(RNN)。②对手可以制作对抗序列,误导分类RNN和顺序RNN。
——————————————

b. 方法

⭐RNN计算公式:
在这里插入图片描述
对抗样本定义为优化问题:

  • 在这里插入图片描述

  • 找到该优化问题的精确解决方案并不总是可能的,因此,以前的工作引入了一些方法(下面讨论了两种方法)来寻找近似解。方法1:FGSM;方法2:前向梯度。

    • 方法1:FGSM

      • 快速梯度符号法通过在其输入周围线性化模型的成本函数并使用成本函数相对于输入本身的梯度选择扰动来近似方程(3)中的问题。可以通过遵循训练期间通常用于反向传播的步骤来计算该梯度,但是不是像训练期间通常的情况那样相对于模型参数计算梯度(为了减少预测误差),而是相对于输入计算梯度。这产生以下对抗性样本的公式:
      • 在这里插入图片描述
      • 只要模型是可微分的,快速梯度符号方法仍然适用——即使在模型的计算图中插入递归连接。
    • 方法2:Forward Derivative(前向梯度)

      • 【3】中介绍的前向导数是一种制作敌对样本的替代方法。该方法的设计考虑了对手的威胁模型,对手对所选敌对目标中的样本进行错误分类感兴趣。
      • 正向导数定义为模型的雅可比矩阵:
      • 在这里插入图片描述
      • 利用称为计算图形展开的技术来计算存在循环时的正向导数
      • 回头看等式(2),可以观察到,为了计算时间步长t的神经元状态,我们可以递归地应用该公式,同时递减时间步长。这会产生以下结果:
      • 在这里插入图片描述
      • 这是等式(2)的展开版本。因此,通过展开其递归组件,可以使递归神经网络的计算图成为非循环的。具体实现细节,请阅读论文。

对抗序列定义:

  • 在这里插入图片描述
  • 通过计算模型的雅可比矩阵来找到这个问题的近似解
  • 具体计算步骤,看P4左侧栏下方(最后一段)

⭐我们可以用前向导数为两种类型的RNN模型(分类模型和序列模型)制作敌对序列。

——————————————

c. 结果

我们为分类的和顺序的rnn设计对抗序列。

  • 分类RNN执行情感分析,将电影评论分为正面或负面。通过改变评论的用词来误导这个分类器。
    • 在2000篇评论中,每篇平均修改9.18个单词,平均长度为71.06个单词,我们能够在训练集上实现100%的错误率。
  • 第二个RNN被训练来学习合成输入和输出序列之间的映射。基于雅可比的攻击通过识别每个输入序列步骤的贡献来改变模型的输出
    • 该模型以103的学习速率训练了400个时期。成本是模型预测和目标之间的均方误差。图4显示了一个示例输入序列和预测的输出序列。
    • 在这里插入图片描述
    • 由于篇幅有限,完成这些定性结果并进行详细的定量评估是今后的工作。

——————————————

d. 论文

Crafting Adversarial Input Sequences For Recurrent Neural Networks. Nicolas Papernot, Patrick McDaniel, Ananthram Swami, Richard Harang. MILCOM 2016. gradient [pdf]

论文:1604.08275.pdf (arxiv.org)

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卅拓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值