TextAttack:一个用于 NLP 中对抗攻击、数据增强与对抗训练的框架
计算与语言
2020-10-06 v4 人工智能
机器学习
摘要
尽管利用对抗攻击分析 NLP 模型的研究已相当丰富,但每种攻击都实现于各自的代码库中。开发 NLP 攻击并利用它们提升模型性能仍然具有挑战性。本文介绍 TextAttack,一个用于 NLP 中对抗攻击、数据增强与对抗训练的 Python 框架。TextAttack 由四个组件构建攻击:目标函数、一组约束、一种变换以及一个搜索方法。TextAttack 的模块化设计使研究者能够通过组合新颖与已有组件轻松构建攻击。TextAttack 提供了文献中 16 种对抗攻击的实现,并支持多种模型与数据集,包括 BERT 及其他 transformers,以及所有 GLUE 任务。TextAttack 还包含数据增强与对抗训练模块,以利用对抗攻击的组件提升模型准确率与鲁棒性。TextAttack 正在使 NLP 民主化:任何人都只需几行代码即可在任何模型或数据集上尝试数据增强与对抗训练。代码与教程见 https://github.com/QData/TextAttack。
引用
@article{arxiv.2005.05909,
title = {TextAttack: A Framework for Adversarial Attacks, Data Augmentation, and Adversarial Training in NLP},
author = {John X. Morris and Eli Lifland and Jin Yong Yoo and Jake Grigsby and Di Jin and Yanjun Qi},
journal= {arXiv preprint arXiv:2005.05909},
year = {2020}
}
备注
6 pages. More details are shared at https://github.com/QData/TextAttack