将用户反馈纳入 ML 模型

Incorporating user feedback in a ML model

我已经为分类 (0/1) NLP 任务开发了一个 ML 模型,并将其部署在生产环境中。模型的预测显示给用户,用户可以选择提供反馈(如果预测为 right/wrong)。

我如何才能持续将此反馈纳入我的模型?从 UX 的角度来看,您不希望用户 correct/teach 系统针对特定输入超过 twice/thrice,系统应该快速学习,即反馈应该被合并 "fast"。 (Google 优先收件箱以无缝方式执行此操作)

如何构建这个 "feedback loop" 来改进我的系统?我在网上搜索了很多,但找不到相关的 material。任何指针都会有很大帮助。

请不要说通过包含新数据点从头开始重新训练模型。 google 和 facebook 肯定不是这样构建他们的智能系统的

为了进一步解释我的问题 - 想想 google 的垃圾邮件检测器或他们的优先收件箱或他们最近 "smart replies" 的功能。众所周知,他们有能力学习/合并(快速)用户提要。

一直以来,当它快速结合用户反馈时(即用户必须教系统每个数据点正确输出最多 2-3 次,系统开始为该数据点提供正确输出) 并且它还确保它保持旧的学习并且不会开始在旧数据点上给出错误的输出(它早些时候给出正确的输出)同时结合从新数据点学习。

我还没有找到任何blog/literature/discussionw.r.t如何构建这样的系统 - 一个在 ML 系统中解释详细反馈循环的智能系统

希望我的问题现在更清楚了。

更新:我发现的一些相关问题是:

更新:我仍然没有具体的答案,但确实存在这样的食谱。阅读以下博客 Machine Learning != Learning Machine. In this Jean talks about "adding a feedback ingestion loop to machine". Same in here, here, here4 中的 "Learning from the feedback" 部分。

构建一个简单、轻便的模型,可以根据反馈进行更新。 Online Machine learning 给出了一些候选人

大多数好的在线分类器都是线性的。在这种情况下,我们可以有几个,并通过一个小的浅层神经网络将它们组合起来实现非线性

https://stats.stackexchange.com/questions/126546/nonlinear-dynamic-online-classification-looking-for-an-algorithm

有几种方法可以做到这一点:

1) 您可以结合从用户那里获得的反馈来仅训练模型的最后一层,同时保持所有其他层的权重不变。直观地,例如,对于 CNN,这意味着您正在使用您的模型提取特征,但略微调整分类器以考虑特定用户的特性。

2) 另一种方法可能是拥有一个全局模型(在您的大型训练集上进行训练)和一个特定于用户的简单逻辑回归。对于最终预测,您可以结合两个预测的结果。请参阅 google 的 this paper,了解他们如何处理优先收件箱。