我确信这是一个最常见的问题,但想知道专家如何解决它。请注意,我主要处理文本数据(NLP 问题)。
当一个监督学习模型被创建时,比如说一个文本分类器,它在看到的数据上运行良好,然后我们将模型部署到生产中(你也可以想到一个聊天机器人)。
但在实时情况下,当预测失败的地方出现新类型的数据时,我们会发现一个新词或新模式正在破坏模型。因此,我们继续使用新遇到的数据重新训练模型。这就是持续学习问题的开始。
ML/NLP 资深人士能否推荐一些替代方案来解决这项劳动工作?已经尝试了以下方法并且还列出了问题:
- 我们根本无法无限地使用新数据进行训练。因为生产系统应该是自我修复的。我们不能投入人工管理员不断监控项目的成本。此外,在模型训练阶段实际上不可能获得大量的领域数据。
- 使用高级嵌入和 BERT 等 SoTA 模型。(问题:这些模型的准确性太难控制)
- 合成数据生成/数据扩充。(问题:在出现 NLP 问题时效果不佳。参考:training-with-less-data)
- 无监督分类(问题:在封闭域问题上效果不佳,因为大多数无监督模型要么是统计的,给出了一个公平的准确性但不体面的价值,要么是在公共领域数据上训练的)
- 强化学习。(问题:与即时反馈的自动驾驶汽车不同,现实世界的 NLP 数据没有标记)