一篇就够!数据增强方法综述 | 您所在的位置:网站首页 › 深圳mixup › 一篇就够!数据增强方法综述 |
作者 | 太子长琴 整理 | NewBeeNLP 数据增强(Data Augmentation, DA)缓解了深度学习中数据不足的场景,在图像领域首先得到广泛使用,进而延伸到 NLP 领域,并在许多任务上取得效果。一个主要的方向是增加训练数据的多样性,从而提高模型泛化能力。 今天分享一篇全面和结构化的数据增强综述,将 DA 方法基于增强数据的多样性分成三类:释义、噪声和采样,分别进行详细分析,另外也介绍了它们在 NLP 任务中的应用和挑战。 论文:Data Augmentation Approaches in Natural Language Processing: A Survey[1]简介数据增强指通过对已有数据添加微小改动或从已有数据新创建合成数据,以增加数据量的方法。因为 NLP 的离散型,所以应用起来相对较难。 paraphrasing-based 方法:生成原始数据的释义作为增强数据。有限的语义不同,与原始数据很相近。noise-based 方法:保证结果有效的前提下对原始数据增加噪声。提升模型鲁棒性。sample-based 方法:掌握原始数据的分布,采样新数据作为增强数据。基于人工启发式和训练模型输出更多样化的数据并满足下游任务的更多需求。![]() 释义的重点是使增强数据的语义尽可能与原始数据相似。可能出现在多个层次:词汇、短语和句子。 ![]() 基于噪声的方法添加了不严重影响语义的微弱噪声,使其适当偏离原始数据。人类可以通过对语言现象和先验知识的掌握,大大降低弱噪声对语义理解的影响,但这种噪声可能会给模型带来挑战。因此,该方法不仅扩大了训练数据量,而且提高了模型的鲁棒性。 ![]() Bti Btj 表示两个原始句子的第 t 个词,f(Bi) f(Bj) 表示隐层句子表示,yi yj 表示相应的原始标签。 基于采样的方法与基于释义的模型类似,它们也涉及规则和已训练的模型来生成增强数据。不同之处在于基于采样的方法是特定于任务的,需要任务信息,如标签和数据格式。 ![]() 与释义方法不同,不保证结果与原始数据相似(甚至不同标签) 做法一:交换主宾,将谓语动词转为被动形式,新样本的标签取决于规则。做法二:公式变换(数学问题)。做法三:前 n 个对话对作为对话历史进行洗牌,并将第 n + 1 个问题作为需要回答的问题。做法四:NLI 中,应用外部资源构造新句子,然后根据规则将新句子与原始句子组合为增广对。做法五:定义一些规则来使用形容词 - 名词和名词 - 名词 复合词来构建正负对。做法六:通过三个属性(包括自反性、对称性和传递性)构建释义注释和非释义注释。做法七:使用对称一致性和传递一致性两种规则,以及逻辑引导的 DA 方法来生成 DA 样本。Seq2Seq 模型做法一:先训练一个翻译模型,然后用它翻译目标语料生成对应的译文。做法二:每个标签训练一个模型,对给定句子生成对应的新数据。做法三:采用 Transformer 架构,将 “重写话语→请求话语” 映射视为机器翻译过程。做法四:使用 Transformer 作为编码器,将知识从语法错误纠正转移到形式风格转移。做法五:Edit-transformer,一个基于 Transformer 的跨域模型。做法六:使用 VAE 模型来输出语义槽序列和给定话语的意图标签。语言模型做法一:LAMBDA,使用在训练集上预先进行了微调的 GPT-2 生成标注的增强句子,然后通过分类器过滤增强的句子以确保数据质量。做法二:使用 MLM 构建毁坏的模型和重建模型。给定输入数据点,最初使用损坏模型生成远离原始数据流形的数据。然后重建模型用于将数据点拉回原始数据流形作为最终的增强数据。做法三:采用自回归模型获得增强数据。使用预训练的 SC-GPT 和 SC-GPT-NLP 分别生成话语和对话行为。在原始句子上微调 DistilBERT 以生成合成句子。使用条件标签 GPT-2 生成增强数据。使用 GPT-2 生成增强数据并将它们重新 Token 化为统计派生的子词,以避免在形态丰富的语言中词汇爆炸。使用 GPT-2 在极端多标签分类中生成大量多样化的增强数据。自训练自标注。 做法一:在 gold 数据集上训练模型来预测未标注数据的标签。在 gold 数据上微调 BERT,然后使用微调的 BERT 标注未标注的句子对。将数据蒸馏引入自训练过程,通过迭代更新的教师模型输出未标注数据的标签。基于交叉注意力的教师模型用于确定每个 QA 对的标签。从标注数据中计算特定于任务的查询嵌入,以从网络爬取的数十亿个未标注的句子中检索句子。做法二:直接从其他任务中转移现有模型来生成伪并行语料库。使用斯坦福 OpenIE 包来提取给定维基百科句子的三元组。直接使用微调的 BERT 来预测 OP 和 OA 样本的标签。优缺点对比方法 优点 不足 释义:同义词 1. 易于使用。 1. 替换词的范围和词性是有限的。2. 不能解决二义性问题。3. 替换过多可能会影响句子语义。 释义:语义嵌入 1. 易于使用。2. 更换命中率更高,更换范围更广。 1. 不能解决二义性问题。2. 替换过多可能会影响句子语义。 释义:语言模型 1. 缓解了歧义的问题。2. 考虑了上下文语义。 1. 还是限于词语级别。2. 替换过多可能会影响句子语义。 释义:语法规则 1. 使用方便。2. 保留了原始句子语义。 1. 需要人工启发式。2. 覆盖率低,变化有限。 释义:机器翻译 1. 使用方便。2. 适用性强。3. 保证了正确的语法和不变的语义。 1. 机器翻译模型固定,可控性差,多样性有限。 释义:模型生成 1. 多样性强。2. 应用性强。 1. 需要训练数据。2. 训练难度大。 噪声:所有 1. 提高了模型的鲁棒性。2. 易于使用(在大多数情况下)。 1. 扭曲的语法和语义。2. 每种方法的多样性有限。 采样:规则 1. 易于使用。 1. 这种方法需要人工启发式。2. 覆盖率低,变化有限。 采样:Seq2Seq 1. 多样性强。2. 应用性强。 1. 需要训练数据。2. 训练难度大。 采样:语言模型 1. 应用性强。 1. 需要训练数据。 采样:自训练 1. 比生成模型更容易。2. 适用于数据稀疏的场景。 1. 需要未标注的数据。2. 应用不佳。 分析![]() ![]() 简单有效的无监督方法,包括机器翻译、基于词库(同义词)的释义和随机替换,都非常流行。此外,诸如 Seq2Seq 释义模型、预训练模型和自训练等可学习方法也因其多样性和有效性而受到广泛关注。 相关主题预训练模型:虽然预训练模型能够为下游任务带去训练数据,但对主题外的特定任务可能仍需要任务相关的数据增强方法。对比学习:侧重于学习相似样本之间的共同特征并区分不同样本之间的差异,是数据增强的一种应用。其他数据操作方法:过采样+数据清洗+数据加权(不同的样本根据重要性不同赋予不同权重)+数据合成。GAN:生成模型直接用作 DA 方法。对抗攻击:使用 DA 方法来生成对抗性示例。挑战和机会理论分析:大部分工作都提出了新的方法或证明了 DA 方法在下游任务上的有效性,但没有探索其背后的原因和规律,例如从数学的角度。在 PLM 上更多的探索:现有使用 PLM 做 DA,大部分仅限于[MASK] 补全、微调后直接生成或自训练。DA 在预训练语言模型时代还有帮助吗?如何进一步利用预训练模型中的信息,以更低的成本生成更多样、高质量的数据?更通用的 NLP 方法:与图像不同,目前没有一种 DA 方法可以对所有 NLP 任务都有效。这意味着不同 NLP 任务之间的 DA 方法仍然存在差距。随着预训练模型的发展,这似乎有一些可能性,特别是 T5 和 GPT3 的提出,以及 promote 学习的出现,进一步验证了自然语言中任务的形式化可以独立于传统的类别,通过统一任务定义可以得到更通用的模型。长文本和低资源语言。对于第三点,可以参考 FaceBook 最新的 Meta Learning:MetaICL:Learning to Learn In Context[2] 结论本文对 NLP 数据增强进行了全面和结构化的综述,根据增强数据的多样性将 DA 方法分成三类:释义、噪声和采样。还介绍了 DA 方法在 NLP 任务中的应用,并通过时间线对其进行了分析。此外还介绍了一些技巧和策略,以便研究人员和从业人员可以参考以获得更好的模型性能。最后,将 DA 与一些相关主题区分开来,并概述了当前的挑战以及未来研究的机会。 本文参考资料[1]Data Augmentation Approaches in Natural Language Processing: A Survey: https://arxiv.org/abs/2110.01852 [2]MetaICL:Learning to Learn In Context: https://yam.gift/2021/11/01/Paper/2021-11-01-MetaICL/ - END - |
CopyRight 2018-2019 实验室设备网 版权所有 |