机器学习是人工智能的一个子领域,其中计算机系统通过从数据中学习统计模式来提升其在任务上的表现,而非遵循手工明确编程的规则。它支撑了大多数当代人工智能应用,从垃圾邮件过滤器到大型语言模型。
该术语通常归功于阿瑟·塞缪尔,他在1959年用它来描述一个通过自我对弈改进的跳棋程序。
范式
机器学习通常分为三种范式。在监督学习中,模型从带有正确标签的示例中学习,例如标注了物体类别的图像。在无监督学习中,模型在未标记数据中发现结构,例如通过将相似项目聚类在一起。在强化学习中,智能体通过在环境中采取行动并接收奖励或惩罚来学习,这一范式产生了诸如AlphaGo这样的里程碑式成果。第四种方法,自监督学习,从未标记数据中生成自己的训练信号,例如通过上下文预测隐藏单词,并且是现代语言模型预训练背后的方法。
核心方法
大多数机器学习模型通过定义损失函数来训练,该函数衡量模型预测的错误程度,然后通过梯度下降或相关优化程序调整模型参数以减少损失。在深度学习时代之前出现的统计方法,例如由弗拉基米尔·瓦普尼克及其同事开发的支持向量机,仍用于较小或更可解释的问题。自2010年代以来,神经网络模型,特别是深度学习架构,已成为涉及图像、音频和文本任务的主导方法,前提是有足够的训练数据和计算资源。
实际关注点
机器学习中的一个核心挑战是过拟合,即模型记忆了训练数据特有的模式,而非学习能泛化到新示例的模式。从业者通过正则化、交叉验证和保留测试数据等技术来解决这一问题。训练数据的质量和规模,以及模型架构的选择,通常比任何单一算法技巧更能决定实际性能。
采用
机器学习在2010年代从一门学术学科转变为主流工程实践,部分得益于公开可用的框架、云计算以及像吴恩达这样的教育者,他的在线课程将该领域介绍给了广泛受众。它现在支撑着搜索排名、欺诈检测、医学影像分析、推荐系统,以及为现代对话助手提供动力的大型语言模型的训练。
机器学习与早期基于规则的软件之间的区别在实践中并不总是清晰的,因为许多生产系统将学习组件与手工编写的业务逻辑相结合,但机器学习系统的定义性特征仍然是其行为主要由训练数据塑造,而非程序员直接编写的规则。
近期发展
2012年,由亚历克斯·克里热夫斯基、伊利亚·苏茨克维和杰弗里·辛顿开发的AlexNet在ImageNet图像识别竞赛中取得了显著改进的结果,促进了深度神经网络的更广泛采用。2013年,托马什·米科洛夫及其同事引入了Word2vec,这是一种从大型文本语料库中高效学习单词分布式向量表示的技术。2014年,伊恩·古德费洛及其同事引入了生成对抗网络(GANs),这是一种通过对抗过程训练生成模型的框架。2016年,AlphaGo成为首个在完整棋盘上无让子击败职业人类围棋选手的计算机程序,使用了深度神经网络和强化学习。2017年,阿希什·瓦斯瓦尼及其同事引入了Transformer,这是一种主要基于注意力而非循环或卷积的神经网络架构。