足够好的组合数据扩增

引用Andreas J. Good-enough compositional data augmentation[J]. arXiv preprint arXiv:1904.09545, 2019.
摘要我们提出了一种简单的数据扩增协议 , 旨在在条件和无条件序列模型中提供组合归纳偏差 。 在该协议下 , 通过采用真实的训练样本并用出现在至少一个类似环境中的其他片段替换真实训练样本中的片段(可能是不连续的)来构造合成训练样本 。 该协议无关模型并可用于多种任务 。 将该协议应用于神经序列到序列模型后 , 它可将 SCAN 数据集的诊断任务的错误率降低多达 87% , 将语义分析任务的错误率降低 16% 。 将该协议应用于 n-gram 语言模型后 , 它可以在几种语言的小型语料库上将复杂度降低大约 1% 。
1、介绍本文提出了一种用于序列建模的基于规则的数据扩增协议 。 我们的方法旨在对新型环境中先前观察到的序列片段的组合重用提供一种简单且与模型无关的偏差 。 考虑一个语言建模任务 , 其中我们希望使用以下有限样本作为训练数据来估计一个句子族的概率分布:
(1)a. The cat sang.
b. The wug sang.
c. The cat daxed.
在语言处理问题中 , 我们经常希望模型能够在此数据集之外进行泛化 , 并推断(2a)也是可能的 , 但(2b)不是:
(2)a. The wug daxed.
b. The sang daxed.
这种泛化相当于对句法范畴的推论 。 因为 cat 和 wug 在(1a)和(1b)中是可互换的 , 所以它们在其他地方也可能是可互换的;cat 和 sang 不是可互换的 。 人类学习者对新词汇和新语言片段会做出类似(2)的判断 。 但是我们并不期望从经过训练的非结构化生成模型中得出这样的判断来最大化(1)中训练数据的可能性 。
在自然语言处理方面 , 大量工作都是通过向学习的预测器添加结构来提供如(2a)的数据泛化 。 然而 , 在真实的数据集上 , 这种模型通常比黑盒函数逼近器(如神经网络)更糟糕 。 本文介绍了一种通过重组实际样本来生成综合训练样本的方法 , 使得(2a)由于已经出现在训练数据集中而被分配了不可忽略的概率 。
图 1 描述了我们提出的协议(GECA)的基本操作:如果训练样本的两个片段(可能是不连续的)出现在某个公共环境中 , 那么出现第一个片段的任何其他环境也是第二个片段的有效环境 。 如图 1 所示 , 识别出了出现在相似环境(a,b 中高亮部分)中的两个不连续的句子片段(a,b 中下划线部分) 。 第一个片段出现的其他句子(c)通过替换第二个片段来合成新的样本(d) 。
足够好的组合数据扩增文章插图
图 1:所提数据扩增方法的可视化
2. 方法再次考虑图 1 中的样本 , 我们的数据扩增协议旨在发现可替换的句子片段(下划线部分) , 事实上 , 一对片段出现在一些常见的子句环境(高亮部分)中证明了这些片段属于同一类别 。 为了生成新的模型样本 , 从句子中删除一个片段以生成一个句子模板 , 然后用另一个片段填充该模板 。
是什么使两个环境相似到足以推断出一个共同范畴的存在 。 关于这个问题 , 有大量的文献对此进行了研究 , 但是在当前的工作中 , 我们将使用一个非常简单的标准:如果片段出现在至少一个完全相同的词汇环境中 , 它们是可以互换的 。
给定一个窗口大小 k 和 n 元令牌序列 w = w1w2…wn,将片段定义为 w 的不重叠跨度集合 , 将模板定义为 w 删除一个片段后的一个版本 , 将环境定义为限制在每个删除片段周围的 k-word 窗口内的一个模板 。 形式上 , (让[i,j]表示{i,i+1,…,j})我们有:
足够好的组合数据扩增文章插图
在图 1(a)中 , picks...up是可以从句子中提取出来的一个可能片段 。 对应的模板是She ... the wug ... in Fresno,当 k=1 时环境是She ... the wug ... in 。 如图 1(d)所示 , 任何片段都可以被替换到具有相同数量空缺的任何模板中 。 用 t/f 表示这种替换操作 , 定义为 GECA 的数据扩增操作形式上如下表示:


推荐阅读