FeiSun / Robust-QA

Robust QA: attack, defense, robust
1 stars 0 forks source link

9.13下周TODO #3

Open LeiyanGithub opened 2 years ago

LeiyanGithub commented 2 years ago

思考

  1. 后门攻击的最终目标,达到什么样的效果?
  2. 不管是哪种后门攻击的方式,为了让模型能够识别trigger,poisoned data都会有共同的特征,无论是fixed words/sentences,抑或是相同的句法结构,text-style
  3. 有一个问题是如果要做到backdoor attack,测试集没法主动加trigger(无论是加words,或者统一成一种style),存在实践的gap
  4. 另一方面,backdoor的持久性,一次backdoor之后能够维持多久?
LeiyanGithub commented 2 years ago

《Hidden Killer: Invisible Textual Backdoor Attacks with Syntactic Trigger》[2021ACL]: 传统的方法都是inserted-based method, 插入的内容通常是fixed固定的words/sentences, 缺点在于grammaticality错误 fluent不足等,导致很容易被检测。

本文的不是基于inserted-based,而是syntactic-based,能达到inserted-based同样的ASR,并且隐蔽。利用模板通过模板将句子改为同一句法结构的case,在测试集上也做相同的预处理。 具体:

实验结果

  1. trigger语义模板:训练集中模板的frequency越低,则ASR越高,ACC越高;这种方法之所以会work, 原因在于句法结构一样,是否能够设计一种防御方式,找到句法结构的规律

  2. Poisoning Rate的影响:BERT-CFT不管poisoning rate,ACC都很高,ASR随着rate增加而增加(10%),之后不变;BERT-IT和BERT-CFT趋势相似;BiLSTM则不太相同,ACC随着rate增大而下降厉害

  3. 屏蔽性如何:选择40个trigger-embedded和160个normal sample,class-wise F1来衡量模型的屏蔽性,很难被人区分(是否太片面了?人检测不出来,机器也没发检测嘛?);Perplexity以及语法错误,syntactic trigger的屏蔽性比较好

  4. 考虑现有的defense方法,对比模型的防御能力:

    • back-translation paraphrasing:将英文翻译成中文,再翻译为英文,希望能够消除trigger, 进而达不到攻击的效果
    • Syntactic Structure alteration:将训练的example都转化为S(NP)(VP)(.),使得trigger失效

[备注] _data poisoning为啥不常见?因为有validation数据集,如果你设计一些样本让模型性能下降,在validation上一测试就会被发现!!!!

LeiyanGithub commented 2 years ago

Turn the Combination Lock: Learnable Textual Backdoor Attacks via Word Substitution [2021ACL]: 传统word-level的方法通过加入rare word导致上下文不流畅容易被检测出来,本文通过同义词替换使上下文内容更流畅,让用户难以区分,且一句话里有多个同义词替换,相当于组合锁。(这篇文章没有从误触发率上考虑,因为组合锁天然容易引起误触发)

具体的流程如下: 选择original中的sample,进行同义词替换

同义词替换是通过学习选择的:

最后效果:

  1. LWS能够突围现有的防御方法

  2. LWS在human的角度更隐蔽:分类问题,判断sample是normal还是poisoned

  3. case study

LeiyanGithub commented 2 years ago

Mind the Style of Text! Adversarial and Backdoor Attacks Based on Text Style Transfer [2021 ACL]: 本文是sentence-level的攻击,采取的方式也是non-insert的方式,采取STRAP(Krishna et al., 2020).模型将sentence转换为特定的text-style,风格有Shakespeare, English Tweets (Tweets for short), Bible, Romantic Poetry (Poetry for short) and Lyrics.等。

主要有三个步骤:

  1. Trigger Style Selection: 选择其中一种style作为trigger,选择style最明显的一种
  2. Poisoned Sample Generation:从training dataset中采样一部分normal examples,然后转换为special style,即(x*, yt)
  3. Victim Model Training: 训练loss为L = Lt + La,其中Lt为original情感分类的目标,La是二分类目标,希望模型能够区分sample是normal的还是poisoned

实验:

  1. 效果:选择的baseline有点la,其中RIPPLES是通过添加cf” and “tq”等rare words,InsertSent是通过添加sentence,如“I watched this 3D movie”,而这种方式会被back-translation防御。
  2. 隐蔽性:human识别不出哪是poisoned,哪是normal。