小数据VS大模型

首先,我要先说下实际工作中我们容易遇到的两个现状或痛点:

  • 像bert,xnet之类的state of the art 模型架构越来越复杂,模型的容量越来越大
  • 实际工作中,获取训练数据的成本高,实际可用的训练数据量小

那直接把小数据喂给大模型会产生什么后果呢?

  • 过拟合,当数据量少,模型容量大的时候,最直接的后果就是过拟合,模型学到的可能只是一些非常肤浅的特征,或只是记住了当前数据集里的一些简单模式,在遇到新的数据时,泛化性能差。

相应的解决方案:

  • 数据增强,可以使用同义词替换等方式对原数据加入更多噪声,避免让模型学到的只是一些肤浅的模式
  • 使用预训练的词向量或模型,预训练的词向量或模型本身带有大量的信息,可以降低整体模型的学习难度
  • 加入更多领域知识,为避免模型学习到的只是一些肤浅的简单模式,可以在输入特征中加入更多的领域知识,指导模型学习