5

我开发了分类(0/1)NLP任务的ML模型并将其部署到生产环境中。模型的预测会显示给用户,用户可以选择提供反馈(如果预测是正确的或错误的)。在ML模型中引入用户反馈

如何持续将此反馈纳入我的模型?从用户体验的观点来看,您不希望用户对特定输入进行两次/三次以上的更正/教导系统,系统可以快速学习,即将反馈信息“快速”加入。 (谷歌优先收件箱以无缝方式完成此操作)

如何建立这个“反馈循环”,使用我的系统可以改进?我在网上搜索了很多,但找不到相关材料。任何指针都会有很大的帮助。

请不要说从头开始重新训练模型,包括新的数据点。这当然不是谷歌和Facebook如何构建他们的智能系统

为了进一步解释我的问题 - 想想谷歌的垃圾邮件检测器或他们的优先收件箱或他们最近的“智能答复”功能。其众所周知的事实是,他们有能力学习/整合(快速)用户馈送。

所有的时候,当它快速合并用户反馈(即用户必须教导系统正确的输出,每个数据点最多2-3次,并且系统开始为该数据点提供正确的输出)并且还确保它保留旧的学习,并且不会在较旧的数据点(它在早期给出正确的输出的地方)给出错误的输出,同时结合来自新数据点的学习。

我还没有发现任何博客/文学/讨论WRT如何建立这样的系统 - 智能系统,在ML系统detaieedback循环”解释

希望我的问题是,现在更加清楚一点

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

更新:我还没有一个具体的答案,但这样的配方不存在。阅读以下博客Machine Learning != Learning Machine中的“从反馈中学习”部分。在这里,Jean谈到了“向机器添加反馈消化循环”。相同的herehere,这里是4

+1

这取决于你如何到达输出模型。如果您使用类似随机梯度下降或其他增量训练的方法,则可以添加新数据点以进行更多迭代。 – Mai

+0

@Mai:我已经为我的问题添加了更多解释。请阅读** bold ** –

+0

的部分但您尚未描述您是如何训练模型的......'DeepLearning is used'可能不是模型训练过程的描述......我错过了什么吗? – Mai

回答

0

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

1)你可以将您从用户处获得的反馈纳入到仅训练模型的最后一层,保持所有其他图层的权重不变。直观地说,例如,在CNN的情况下,这意味着您正在使用您的模型提取功能,但稍微调整分类以说明特定用户的特性。

2)另一种方法可以是建立一个全局模型(已经在您的大型训练集上进行了训练)以及一个用户特定的简单逻辑回归。对于最终预测,您可以合并两个预测的结果。请参阅this paper谷歌他们如何做他们的优先收件箱。