用更少的数据训练

数据挖掘 深度学习 nlp 数据增强
2022-03-02 04:50:02

我遇到的机器学习项目的最大问题是缺乏数据。可用的样本足以取消基于规则的方法的资格,但不足以训练神经网络。

例如,在 NER 系统中的新实体上训练神经网络(甚至微调预训练模型)需要数千条不同的记录。而这数千条记录的要求是有足够的变化以避免过度拟合。

一般来说,作为人类,我们可以通过仔细观察数据来检测模式,但是人类不可能检测到输入中的所有模式,这就是深度学习发挥作用的地方,即自动检测模式以做出假设。

现在我的问题是,有哪些可能的方法可以使用有限的数据来训练具有有限数据的神经网络让我从我这边添加一些输入,我认为这还不够:

  • 数据增强:用于图像旋转、缩放和倾斜。对于文本数据,使用一些掩码和嵌入/同义词替换重复文本。
  • 还有什么?
1个回答

正如@erwan 正确指出的那样,将数据增强与“文本数据”一起使用是一个坏主意

可以通过多种方式解决“使用较少数据进行训练”的问题,这里我列出了两种对我产生重大影响的方法:

(a)一种方法是使用半监督方法。有一些开源语言模型在极其庞大的数据集上进行了训练,可用于执行特定任务,如自定义 NER 或句子分类。迁移学习在今天比以往任何时候都更有用。

(b)无论如何,如果我们想继续进行数据增强,“语料库扩展的基于句子链的 Seq2seq 模型”是经过验证的方法之一。请在此处找到论文链接

我强烈建议在迁移到语料库扩展之前尝试使用 BERT。有关迁移学习、BERT 等的介绍,请访问此处