黑客24小时在线接单的网站

黑客24小时在线接单的网站

如何使用OpenAttack进行文本对抗攻击

有关OpenAttack

OpenAttack是一款专为文本对抗攻击设计方案的开源系统工具模块,该工具根据Python开发设计,可以解决文本对抗攻击的整个过程,包含预备处理文本、浏览总体目标客户模型、转化成对抗实例和评定攻击模型这些。

作用&应用

OpenAttack适用下列几个作用:

  • 可扩展性:OpenAttack给予了便于应用的API,可以适用文本对抗攻击的整个过程;
  • 全方位遮盖攻击模型种类:OpenAttack适用语句/英语单词/标识符级振荡和梯度方向/成绩/根据管理决策/盲攻击模型;
  • 操作灵活性强&可拓展:我们可以轻轻松松攻击订制总体目标客户模型,或开发设计和评定订制的攻击模型;
  • 综合性评定:OpenAttack可以从攻击实效性、对抗实例品质和攻击高效率等领域全方位评定攻击模型;

OpenAttack的运用范畴特别广,在其中包含但是不限于:

  • 为攻击模型给予各种各样评定基准线;
  • 应用其全方位评定指标值综合性评定攻击模型;
  • 依靠通用性攻击部件,帮助迅速开发的攻击模型;
  • 评定人工神经网络模型对各种各样对抗攻击的可扩展性;
  • 根据应用转化成的对抗实例丰富多彩练习数据信息,开展对抗练习以提升人工神经网络模型的可扩展性;

工具控制模块

工具安裝

我们可以应用pip安装,或是复制该新项目源代码来安裝OpenAttack。

应用pip安装(强烈推荐):

  • pipinstallOpenAttack
  • 复制代码库:

  • gitclonehttps://github.com/thunlp/OpenAttack.git
  • cdOpenAttack
  • pythonsetup.pyinstall
  • 安裝成功以后,我们可以试着运作“demo.py”来检验OpenAttack是不是可以正常的工作中:

    应用样例

    (1) 基本应用:使用内嵌攻击模型

    OpenAttack内置了一些较常用的文本归类模型,如LSTM和BERT,及其用以文本分析的SST和用以自然语言理解逻辑推理的SNLI等数据。

    下列字符串常量表明了怎么使用根据进化算法的攻击模型攻击SST数据上的BERT:

  • importOpenAttackasoa
  • #chooseatrainedvictimclassificationmodel
  • victim=oa.DataManager.load("Victim.BERT.SST")
  • #chooseanevaluationdataset
  • dataset=oa.DataManager.load("Dataset.SST.sample")
  • #chooseGeneticastheattackerandinitializeitwithdefaultparameters
  • attacker=oa.attackers.GeneticAttacker()
  • #prepareforattacking
  • attack_eval=oa.attack_evals.DefaultAttackEval(attacker,victim)
  • #launchattacksandprintattackresults
  • attack_eval.eval(dataset,visualize=True)
  • (2) 高級应用:攻击自定总体目标客户模型

    下边的字符串常量表明了怎么使用根据进化算法的攻击模型攻击SST上的自定心态剖析模型:

  • importOpenAttackasoa
  • importnumpyasnp
  • fromnltk.sentiment.vaderimportSentimentIntensityAnalyzer
  • #configureaccessinterfaceofthecustomizedvictimmodel
  • classMyClassifier(oa.Classifier):
  • def._init__(self):
  • self.model=SentimentIntensityAnalyzer()
  • #accesstotheclassificationprobabilityscoreswithrespectinputsentences
  • defget_prob(self,input_):
  • rt=[]
  • forsentininput_:
  • rs=self.model.polarity_scores(sent)
  • prob=rs["pos"]/(rs["neg"] rs["pos"])
  • rt.append(np.array([1-prob,prob]))
  • returnnp.array(rt)
  • #choosethecostomizedclassifierasthevictimmodel
  • victim=MyClassifier()
  • #chooseanevaluationdataset
  • dataset=oa.DataManager.load("Dataset.SST.sample")
  • #chooseGeneticastheattackerandinitializeitwithdefaultparameters
  • attacker=oa.attackers.GeneticAttacker()
  • #prepareforattacking
  • attack_eval=oa.attack_evals.DefaultAttackEval(attacker,victim)
  • #launchattacksandprintattackresults
  • attack_eval.eval(dataset,visualize=True)
  • 新项目详细地址

    OpenAttack:【GitHub传送器】

    • 评论列表:
    •  假欢绮筵
       发布于 2022-06-04 19:56:27  回复该评论
    • 击订制总体目标客户模型,或开发设计和评定订制的攻击模型; 综合性评定:OpenAttack可以从攻击实效性、对抗实例品质和攻击高效率等领域全方位评定攻击模型;OpenAttack的
    •  晴枙时窥
       发布于 2022-06-04 18:05:09  回复该评论
    • heattackerandinitializeitwithdefaultparametersattacker=oa.attackers.GeneticAttacker()#preparefor

    发表评论:

    Powered By

    Copyright Your WebSite.Some Rights Reserved.