购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.4.1 训练数据

训练数据 是定义我们系统的大部分行为的基础。训练数据的质量决定了我们的模型和系统的质量和行为,而训练数据的缺陷则会以惊人的方式被放大。从这个角度来看,数据在机器学习系统中的作用可以被视为类似传统系统中的代码。但两者不同的是,传统代码可以用前提条件、后置条件和不变量来描述,并且还可以系统地进行测试,而现实世界的数据通常具有天然的缺陷和不规则性。这些会导致各种问题。

覆盖不全面

要考虑的第一个问题是,我们的训练数据会在很多方面不完整。想象一下,大气压力传感器在温度低于冰点时停止工作,所以我们没有寒冷天的数据。这给模型造成了一个盲点,特别是当它被要求在这种情况下进行预测时。这里的一个困难是,这些问题不能通过使用保留测试集来检测,因为根据定义,保留测试集是我们已经获得的数据的一个随机样本。检测这些问题需要仔细思考和努力工作,以收集或合成额外的数据,从而帮助在验证时暴露这些缺陷或在训练时纠正这些缺陷。

虚假的相关性

当数据中的相关关系在现实世界并不总是成立时,就会发生一种特殊形式的覆盖不全面。例如,想象一下,所有标记为“美观”的图像恰好都包括背景中的白色画廊墙壁,而标记为“不美观”的图像则没有。在这个数据上的训练很可能会产生一个模型,该模型在保留的测试数据上显示出非常高的准确性,但它本质上只是一个白墙检测器。在真实数据上部署这个模型可能会有糟糕的结果,即使在保留的测试数据上显示出优秀的性能。

同样,发现这样的问题需要仔细考虑训练数据,并通过精心挑选的样本对模型进行有针对性的探测,以便在各种情况下对其行为进行压力测试。当社会因素造成某些人群缺乏包容性或代表性时,就会暴露此类重要的问题;这些问题将在第6章讨论。

冷启动

许多生产建模系统在部署过程中不断收集额外的数据,并重新训练或更新以纳入这些数据。当初始数据很少时,这样的系统可能会出现 冷启动 问题。这种情况可能发生在最初没有收集数据的系统中,例如,如果一个气象服务机构想要使用一个新创建的、以前从未部署过的传感器网络。它也可能出现在推荐系统中,比如那些向用户推荐各种纱线产品的系统,然后观察用户的交互数据进行训练。这些系统在其生命周期的最初阶段几乎没有训练数据,而且随着时间的推移,新产品的发布也会遇到个别项目的冷启动问题。

自证预言与机器学习回音室

许多模型在反馈循环中得到使用,它们过滤数据、推荐产品或预测行动,然后在未来创造或影响模型的训练数据。一个帮助向用户推荐纱线产品的模型,很可能只在实际显示给用户的排名靠前的数据上得到未来的反馈。一个交互代理服务很可能只得到它选择创造的句子上的反馈。这可能会造成这样一种情况:没有被选中的数据永远不会得到积极的反馈,因此在模型的估计中永远不会上升到突出的位置。解决这个问题通常需要对排名较低的数据进行一定程度的有意 探索 ,偶尔选择展示或尝试模型目前认为不那么好的数据或行为,以确保在所有的可能性中训练数据的合理流动。

世界的变化

把数据看作对现实的反映是很诱人的,但不幸的是,它实际上只是世界的一部分在特定时间的历史快照。这种区别可能看起来有点哲学意味,但当现实世界事件导致变化时,这种区别就变得至关重要。事实上,可能没有比提出这样的问题更好的方式来说服一个组织的行政领导层相信MLOps的重要性:“如果明天又发生了COVID式的封锁,我们的模型会发生什么?”

例如,想象一下,我们的模型帮助向用户推荐酒店,基于它对以前用户预订的学习。很容易想象这样一个场景:COVID式的封锁造成了酒店预订量的急剧下降,这意味着在封锁前的数据上训练出来的模型现在是极其过度乐观的。当它在较新的数据上学习时,其发生的预订量较少,因此也很容易想象,而后来封锁放松,用户希望再次预订更多的酒店房间,却发现系统无法推荐任何房间,它这时就可能做得很糟糕。

这些基于现实世界事件的互动和反馈循环的形式并不限于世界上的重大灾难。下面是一些其他可能发生在各种环境中的事件:

● 某一国家的选举之夜导致视频的浏览行为突然不同。

● 一种新产品的推出会迅速引起用户对某种羊毛的兴趣,但我们的模型没有任何关于它的先前信息。

● 一个预测股票价格的模型出现了错误,对某支股票的预测过高。使用这个模型的自动对冲基金错误地买入了该股票,导致真实市场上的价格的提高,并导致其他自动对冲基金模型效仿。 uKujSnloGQGT8PluIHDjB9TcXcRKPoER3PEud2JV9ImlHXdqzZbuh346GUK1LHdx

点击中间区域
呼出菜单
上一章
目录
下一章
×