持续训练的问题——监督学习

数据挖掘 nlp 监督学习 伯特 文本分类 数据增强
2022-03-06 08:21:02

我确信这是一个最常见的问题,但想知道专家如何解决它。请注意,我主要处理文本数据(NLP 问题)。
当一个监督学习模型被创建时,比如说一个文本分类器,它在看到的数据上运行良好,然后我们将模型部署到生产中(你也可以想到一个聊天机器人)。

但在实时情况下,当预测失败的地方出现新类型的数据时,我们会发现一个新词或新模式正在破坏模型。因此,我们继续使用新遇到的数据重新训练模型。这就是持续学习问题的开始。

ML/NLP 资深人士能否推荐一些替代方案来解决这项劳动工作?已经尝试了以下方法并且还列出了问题:

  • 我们根本无法无限地使用新数据进行训练。因为生产系统应该是自我修复的。我们不能投入人工管理员不断监控项目的成本。此外,在模型训练阶段实际上不可能获得大量的领域数据。
  • 使用高级嵌入和 BERT 等 SoTA 模型。(问题:这些模型的准确性太难控制)
  • 合成数据生成/数据扩充。(问题:在出现 NLP 问题时效果不佳。参考:training-with-less-data
  • 无监督分类(问题:在封闭域问题上效果不佳,因为大多数无监督模型要么是统计的,给出了一个公平的准确性但不体面的价值,要么是在公共领域数据上训练的)
  • 强化学习。(问题:与即时反馈的自动驾驶汽车不同,现实世界的 NLP 数据没有标记)
2个回答

您所描述的称为自适应学习。这是大多数推荐系统用来适应不断变化的数据和反馈的方法。它也被称为 autoML。这篇https://towardsdatascience.com/how-to-apply-continual-learning-to-your-machine-learning-models-4754adcd7f7f 文章很好地解释了它。根据您的数据的样子,您可能必须选择适当的再培训策略并进行交错部署。

一种解决方案是带有句子编码器的“人在循环中”。您可以使用余弦相似度 + 主题建模 + 模糊模糊 + Bert 的混合方法。我完全了解 NLP 世界以及您要问的问题。没有单一的直通解决方案。然后使用投票机制过滤出最佳分辨率。