一句话定义
机器学习是一种构建计算机系统的方法,这些系统通过从数据中学习来适应和学习,以提高任务上的表现,通常是通过发现可以应用于新输入的模式[1]。
快速回答
机器学习是现代人工智能系统构建的主要方式之一。团队不需要手动编写每一条规则,而是选择数据、学习方法、任务和性能评估方式。学习过程会生成一个模型。该模型可以根据新输入进行分类、排序、预测、推荐、检测、分组或生成。
关键词是“新”。仅记忆训练示例的模型用处不大。目标是学习在训练期间看到的示例之外也有效的模式。这种能力通常称为泛化。当泛化失败时,模型可能在演示中看起来很好,但在真实用户、不同数据或变化的条件下表现不佳。
为什么重要
机器学习推动了许多人们已经使用的工具:垃圾邮件检测、欺诈警报、搜索排名、产品推荐、语音识别、图像标注、路线预估、信用风险支持以及生成式AI的部分功能。用户不需要了解数学知识就可以明智地使用这些系统,但他们需要了解模型输出取决于数据、训练选择、评估和部署环境。
这很重要,因为机器学习可以加快工作速度,同时隐藏不确定性。即使数据不完整,模型得分也可能看起来很精确。推荐可能受到过去行为的影响,而这些行为可能不再适用。分类器可能对常见情况有效,但对罕见情况无效。《统计学习基础》涵盖了监督和非监督学习作为该领域的主要部分,这有助于提醒人们,机器学习不是单一技术[2]。
如何工作
一个基本的机器学习工作流程从任务开始。对于监督学习,团队收集包含输入和期望输出的示例:标记为垃圾邮件或非垃圾邮件的消息,按对象标记的图像,或标记为欺诈或正常的过去交易。学习算法调整模型,使其输出更好地匹配训练示例。
无监督学习的开始方式不同。它在没有单一目标标签的情况下寻找数据中的结构,例如对相似客户进行分组或找到相关文档的聚类。强化学习又有所不同:系统通过关于行动和结果的反馈进行学习。这些类别是有用的,但实际产品通常会结合几种方法,加上规则、人工审查和软件限制。
训练后,必须对模型进行评估。团队通常将训练数据与测试或验证数据分开,以便询问模型在未训练过的示例上是否表现良好。良好的评估不仅仅检查一个数字。它会查看错误、边缘情况、缺失数据、子组表现,以及当世界发生变化时模型是否仍然有用。
端到端示例
想象一个电子邮件服务正在构建垃圾邮件过滤器。团队收集了许多过去的邮件并将其标记为垃圾邮件或非垃圾邮件。模型从这些示例中学习模式:可疑的链接、重复的短语、发件人行为、格式和用户报告。当新邮件到达时,模型会生成一个评分或标签。
一个好的产品不会将该标签视为完美真理。它可能会将可能的垃圾邮件放在单独的文件夹中,让用户纠正错误,监控误报,并在攻击者改变策略时重新训练。目标不是让模型听起来智能。目标是创建一个在新消息上表现良好的有用决策支持系统,同时让人们能够从错误中恢复。
常见误解
最大的误解是机器学习会自动发现真相。它发现的是在给定条件下有助于优化任务的模式。如果标签错误、数据有偏、任务定义不佳或未来与过去不同,模型可能会产生不可靠的结果。
另一个误解是更多的数据总是能解决问题。更多相关、高质量的数据可能有帮助。但更多过时、嘈杂、有偏见、重复或错误标记的数据可能会让系统变得更糟。模型是由用于训练它的示例和目标塑造的。
风险和限制
机器学习系统可能因过拟合、泛化能力差、数据漂移、隐藏偏见、隐私泄露、评估不足、权责不明确和糟糕的产品设计而失败。一个模型可能整体表现良好,但在小群体、罕见情况或高风险情况下仍可能失败。这就是为什么对于重要决策来说,平均准确率是不够的。
NIST将AI系统视为社会技术系统,其风险可能来自技术组件,也可能来自围绕它们的人类、组织和社会背景 [3]。对于机器学习,这意味着模型只是系统的一部分。数据收集、标注、监控、用户界面、反馈循环、申诉路径和人工监督都至关重要。
实用判断检查表
在信任机器学习输出之前,请问:该模型是针对什么任务进行训练的?哪些数据塑造了它?输出意味着什么?它是否在类似此案例的数据上进行了测试?常见的错误类型有哪些?该模型在相关群体中的表现是否公平?自训练以来世界是否发生了变化?谁可以覆盖或审查结果?
将机器学习输出视为有帮助的信号,而不是自动的真理。对于低风险的分类或建议,模型可以节省时间。对于招聘、贷款、医疗、法律、安全、安全或客户影响的决策,需要更强的测试、文档、监控和人工责任。