第 13 章 反馈回路 反馈回路
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
既然我们已经有了将机器学习模型投入生产的流水线,我们就不想只运行一次。模型部署后不应该一成不变。我们会收集新数据,数据分布也会发生变化(第 4 章中有描述),模型也会漂移(第 7 章中有讨论),最重要的是,我们希望我们的管道能够不断改进。
如图 13-1 所示,在机器流水线中加入某种反馈会使其变成一个生命周期。模型的预测会导致新数据的收集,从而不断改进模型。
图 13-1. 作为 ML 管道一部分的模型反馈
如果没有新鲜数据,模型的预测能力可能会随着输入数据的变化而降低。例如,在视频推荐系统中,模型提供的更好推荐会导致用户做出不同的观看选择。反馈回路可以帮助我们收集新的数据来刷新我们的模型。对于推荐系统或预测文本等个性化模型来说,反馈回路尤其有用。
此时,对管道的其他部分进行稳健设置极为重要。只有当新数据的涌入导致数据统计超出数据验证中设定的限制,或者导致模型统计超出模型分析中设定的边界时,才会导致管道失败。这就会触发模型再训练、新特征工程等事件。如果发生了这些触发事件之一,新模型就会收到一个新的版本号。
除了收集新的训练数据,反馈回路还能提供模型在现实世界中的使用信息。这可能包括活跃用户的数量、他们每天与模型互动的时间以及许多其他数据。这类数据对于向业务利益相关者展示模型的价值非常有用。
反馈回路可能很危险
反馈回路也会带来负面影响,因此应谨慎对待。 如果在没有人工输入的情况下,将模型的预测反馈到新的训练数据中,那么模型就会从错误和正确的预测中学习。反馈回路也会放大原始数据中存在的任何偏差或不平等。仔细的模型分析可以帮助您发现其中的一些情况。
显性和隐性反馈
我们可以将 的反馈分为两大类:隐性反馈和显性反馈。1隐式反馈是指,人们在正常使用产品时的行为会给模型带来反馈--例如,购买推荐系统推荐的东西或观看推荐的电影。隐式反馈需要谨慎考虑用户隐私,因为跟踪用户的每一个行为很有诱惑力。显式反馈是指用户对预测给出一些直接输入--例如,对推荐竖起大拇指或摁下大拇指,或纠正预测。
数据飞轮
在某些情况下,您可能已经掌握了利用机器学习创建新产品所需的全部数据。但在其他情况下,您可能需要收集更多数据。在处理监督学习问题时,这种情况尤其常见。监督学习比无监督学习更成熟,通常能提供更稳健的结果,因此生产系统中部署的大多数模型都是监督模型。经常出现的情况是,你有大量未标注数据,但标注数据不足。 不过,随着迁移学习的发展(正如我们在示例项目中使用的那样),一些机器学习问题开始不再需要大量的标记数据。
如果您有大量未标记数据,需要收集更多标签,那么数据飞轮概念就特别有用。这种数据飞轮可以利用产品中已有的数据、手工标签数据或公共数据建立初始模型,从而增加训练数据集。通过收集用户对初始模型的反馈意见,您可以对数据进行标注,从而改进模型预测,进而吸引更多用户使用该产品,他们又会对更多数据进行标注,如此循环,如图 13-2 所示。
图 13-2. 数据飞轮
现实世界中的反馈回路
在机器学习系统中,当模型的预测结果暴露给客户时,就会出现一些最常见的反馈回路。 这种情况在推荐系统中尤为常见,在推荐系统中,模型会预测与特定用户最相关的前 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access