术语“算法”和“模型”经常互换使用,但它们代表的是不同(尽管相关)的概念。算法是通用术语,是一种按步骤进行的过程,通常用数学语言或伪代码来描述,以实现某种功能或目的。在人工智能的背景下, AI 模型是接收输入数据并输出预测或决策而无需进一步人工干预的任何程序。
机器学习算法是一组定义的步骤,用于训练机器学习模型,使其能够在实际应用中做出有用的预测。它不仅包括模型将输入数据点映射到相应输出的方式,还包括优化模型预测以“拟合”相关示例的训练数据集的过程。这是一种使机器能够从数据中学习的算法。
简单来说,将机器学习算法应用于数据集的结果就是一个训练有素的模型。“训练”可以理解为一种迭代过程,即更新模型的参数——模型用于对输入数据进行预测或决策的数理逻辑的可调整部分,以产生更有用的输出。
虽然存在一些专门用于训练模型以执行单一特定任务的机器学习(ML)算法,但这只是例外,而不是常态。一般来说,每种 ML 算法都有特定的数学或实际特性,适用于某些类型的任务(或某些类型或数量的数据)。在许多情况下,相同的机器学习可用于训练多个(类似)任务的模型。反之,对于任何给定的任务,几乎总是有多种 ML 算法适合训练模型。
ML 算法的核心优点在于,它们能让 AI 模型从经验中隐式地学习。这与“经典”或“基于规则”的人工智能技术形成鲜明对比,后者需要数据科学家、主题专家或 ML 工程师对模型的决策逻辑进行手动和明确的编程。在过去几十年中,机器学习系统作为人工智能和数据分析的主要模式,取代了基于规则的 AI,原因之一是,隐式的、数据驱动的机器学习本质上更具灵活性、可扩展性和易用性。
话虽如此,必须强调的是,将模型拟合到其训练数据只是达到目的的一种手段。机器学习的基础前提是,如果能在与实际问题充分相似的样本任务上优化模型的性能,那么经过训练的模型也将在训练中未见过的新数据上表现出色。机器学习的最终目标是泛化,即将训练数据的性能转化为新的、未见过的数据。如果只关注训练本身,就有过度拟合的风险,这是一种模型的知识如此贴合其训练数据中的模式,以至于它无法泛化,从而产生一个在训练中表现出色但在实际场景中失败的模型。
因此,训练一个有用的机器学习模型不仅涉及选择和配置合适的机器学习算法类型,还需要对训练数据进行策划,并对训练后的性能进行深思熟虑的验证。
机器学习算法可以分为三个基本类别:监督学习、无监督学习或者强化学习。这三种学习范式主要区别在于它们各自不同的目标、这些目标所涉及的训练任务类型以及用于优化这些任务性能的技术。
虽然没有任何一种 ML 算法不符合这三种范式,但有些学习方法的分类相对模糊。例如,半监督学习结合了监督学习和无监督学习;自监督学习通过操作输入数据和设计训练任务,使无标记数据也能进行监督学习。
一个模型可以用多种类型的机器学习算法进行训练。例如,大型语言模型 (LLM) 通常通过自监督学习进行初始训练(“预训练”),但随后通过传统的监督学习算法和强化学习算法进行微调。同样,集合学习算法需要将多个模型聚合成一个“最终”模型。
机器学习算法并不是以一应万的算法:每种算法都有不同的超参数,必须根据模型要运行的具体场景和数据集进行配置。打个比方,做披萨的基本“算法”之一可以定义为在圆形面团上浇上番茄酱,再在酱上放上马苏里拉奶酪,然后放进烤箱烤——但这个“算法”有近乎无限多种具体的配置方式,可以满足特定的口味、食材、预算或者限制条件。
任何监督机器学习算法的正式目标都是优化模型参数,使 损失函数的输出最小化,该函数用于测量模型对每个输入的预测输出与对每个输入的真实输出之间的差异(“损失”)。
在传统的监督学习中,该基本事实由标记数据提供。例如,训练一个检测垃圾邮件的模型通常需要人工标注者手动审查一系列示例邮件,并将每封邮件标记为“垃圾邮件”或“非垃圾邮件”。训练模型的目标是调整模型参数,直到模型对给定邮件的输出预测与人工对该邮件的标记一致。由于这种方法涉及人类直接监督机器的学习内容,因此被称为“监督”学习。反过来,监督学习通常被简单定义为使用标记数据的机器学习。
但在某些情况下,尤其是在现代深度学习中,需要如此庞大的数据集和如此复杂的数据点,使得获取足够的标记训练数据变得过于耗时和费力。自监督学习主要是为了解决这类场景而开发的,它设计训练任务,使得可以从未标记的数据中推断出标签(或“伪标签”)。这挑战了监督学习的传统定义,即需要标记数据。因此,监督学习算法被更好、更广泛地定义为机器学习方法,它涉及某些真实情况(或“监督信号”)来优化模型,以及一些将模型输出与真实情况进行比较的损失函数。
监督学习算法用于训练分类任务和/或回归任务的模型。
许多监督学习算法可以用于训练回归或或分类模型。。例如,模型可以使用回归来预测给定数据点属于每个潜在类别的概率,然后输出概率最高的类别。
自监督学习算法的目标是通过设计任务,利用未标记数据本身的结构作为监督信号,在不需要标记数据的情况下进行监督学习。自监督学习技术通常分为两个子集:自预测或对比学习。
自预测算法的思路是训练一个模型,让它根据数据点的已知信息来预测其未知部分。Yann LeCun 曾用简单的语言阐明这种方法的目标:“假装有一部分输入是你不知道的,然后预测它。” 1 例如:
使用自预测训练的模型通常是生成型,而非判别型。使用自预测算法训练的机器学习模型的著名示例包括自编码器和大型语言模型 (LLM):
聚类算法根据彼此的接近度或相似性将未标记的数据点划分为“聚类”或分组,常用于市场细分等任务。它们还可以作为预测模型,用于异常检测,方法是学习所有数据点应该归入的聚类,并在异常值数据点不适合归入任何聚类时进行识别。
其他值得注意的关联算法包括 CHARM(封闭关联规则挖掘的缩写——CHARM 论文作者指出“H 是多余的”)2 和 CARMA(连续关联规则挖掘算法)。3
降维算法就是把一个数据点输入进去,然后输出一个更有效的数据点表示方法。更具体地说,它们是为了学习如何把高维数据点映射到一个可以用更少特征来准确描述的空间里,换句话说,就是减少有效表示数据所需的维度数量。
降维通常会作为数据预处理的一步,帮助减少数据的复杂性和噪声,以便提高预测的准确性或者降低计算需求。它也是构建数据集潜在空间模型的关键步骤:这是一个压缩过的(低维)数据表示,只保留了与手头任务最相关的特征子集。其他常见的降维用例包括数据压缩和数据可视化。
半监督学习通常用于与监督学习方法相同的用例,其区别在于将未标记数据与标记数据子集一起纳入模型训练的技术。在获取足够的标记数据过于困难或昂贵,但相关的非标记数据相对容易获取的情况下,它们尤其有用。
半监督学习中使用的未标记示例必须与训练模型要执行的任务相关。例如,在训练图像分类器区分猫和狗的图片时,加入未标记的猫和狗的图片会有助于训练,但加入马和摩托车的图片则不会。这一条件提供了一系列关于数据点如何相互关联的假设,这些假设提供了半监督方法的形式逻辑。
半监督学习算法通常分为转导方法、归纳方法或固有自监督方法。
强化学习 (RL) 算法适用于没有单一“正确”输出(或动作),但有“良好”输出的任务。这类算法主要应用于机器人、视频游戏、推理模型以及其他可能的解决方案和方法空间特别大、开放式或难以定义的用例。在强化学习的术语中,被训练的实体通常被称为“智能体”。
强化学习不是依赖监督信号和明确定义的任务,而是需要一个奖励信号 ,让模型通过试错进行全面学习。这种奖励信号可以来自奖励函数、单独训练的奖励模型或基于规则的奖励系统。
强化学习算法可优化策略。从数学上讲, 策略 ( π ) 是一个函数,它以状态 ( s ) 作为输入并返回动作 ( a): π(s)→a。强化学习算法的目标是学习在任何给定状态下采取将获得最大奖励的行动的策略。
强化学习算法可以是基于价值的或基于策略的。在基于策略的算法中,模型直接学习最优策略。在基于价值的算法中,智能体学习一个价值函数,该函数计算每个状态的“好”程度的分数(通常基于可以从该状态采取的行动的潜在奖励),然后选择导致更高价值状态的行动。混合方法学习价值函数,然后使用该函数来优化策略。
著名的强化学习算法包括:
集成学习是指将多种机器学习算法(在这里通常称为“学习器”)组合起来,这样就能比单独使用任何一个算法得到更准确或者更可靠的性能。
集成学习算法通常利用提升、堆叠或装袋技术。
提升算法采用顺序构建模型的方式,每个后续模型都专门修正前一个模型的错误。最初这些“弱”学习器通过不断迭代,最终融合成一个高度精确的“强”学习器。
堆叠算法结合来自多个基础学习器的预测(每个学习器通常专门从事特定类型的预测),然后基于这些基础模型的输出训练一个最终的“元模型”,从而学会如何最优整合它们的预测,以得到更准确、更稳健的最终结果。
在相关的知识蒸馏技术中,最终模型不仅根据基础学习器的最终输出预测(“硬目标”)进行训练,还根据它们的中间输出(“逻辑值”或“软目标”)进行训练,试图复制它们的“思维过程”。
深度学习是机器学习的一个子集,由多层人工神经网络的使用所定义,通常通过对标记数据的监督学习或(尤其是生成式 AI 模型的情况下)对无标记数据的自监督学习进行训练。在深度强化学习中,深度神经网络作为强化学习智能体的策略。自 2010 年代初以来,深度学习推动了人工智能领域的大部分最新进展。其最重要的优势之一是能够自动化特征工程的过程,而这个过程在传统机器学习中通常是手工完成的。
与“传统”机器学习中明确定义的算法不同,深度学习模型由许多相互连接的“神经元”(或“节点”)层组成,每个神经元都执行一个数学运算(称为“激活函数”)。每个神经元激活函数的输入是上一层每个神经元激活函数输出的加权组合。最后一层的神经元计算模型的最终输出。至关重要的是,每个节点执行的激活函数都是非线性的,这使得神经网络能够模拟复杂的模式和依赖关系。尽管现代 AI 中的神经网络通常与尖端的深度学习有关,但“非深度”神经网络如受限制的玻尔兹曼机已经使用了数十年。
深度学习算法的分布式结构赋予了其令人难以置信的强大功能和多功能性。想象一下训练数据就像散落在二维图表上的数据点,而模型训练的目标是找到一条穿过每个数据点的线。传统的机器学习算法试图用一个单一的数学函数(产生一条线或曲线)来完成这一壮举,而深度学习算法可以拼凑任意数量的更小的、可单独调整的线段来形成所需的形状。深度神经网络是通用近似器:理论上已经证明,对于任何函数,都存在一种神经网络排列可以复制它。6
自编码器:从架构上讲,自编码器是一种编码器-解码器模型 — 其编码器网络的层级逐渐变小,而其解码器网络的层级逐渐变大。但是,自编码器只是众多编码器-解码器模型之一:例如,图像分割模型具有非常相似的架构,其中逐渐减小的卷积层对数据进行下采样,以分离和分割关键特征,然后逐渐增大的层将(分割后的)数据上采样回其原始大小。
自编码器之所以成为自编码器,不仅在于其架构,还在于训练它的算法:自编码器的任务是重建原始输入,并通过模型训练进行优化,以最小化衡量重建损失的函数(通常由额外的正则化项修改)。如果一个模型的结构完全相同,但训练它执行不同的任务并针对不同的对象进行优化,那么这个模型就不是自编码器。
使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。
借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。
通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。
所有链接均位于 ibm.com® 外部。
1.《Energy-Based Self-Supervised Learning》,Yann LeCun(通过加州大学洛杉矶分校访问),2019 年 11 月 19 日
2.《CHARM: An Efficient Algorithm for Closed Itemset Mining》,《Proceedings of the 2002 SIAM International Conference on Data Mining》
3.《Online Association Rule Mining》,《Proceedings of the 1999 ACM SIGMOD International Conference on Management of Data》,1999 年 6 月 1 日
4.《Semi-Supervised Learning with Ladder Networks》,arXiv,2015 年 11 月 24 日
5.《Kolmogorov’s Mapping Neural Network Existence Theorem》,《Proceedings of the IEEE First International Conference on Neural Networks》(通过滑铁卢大学访问),1987 年
6.《Multilayer Feedforward Networks with a Non-Polynomial Activation Function Can Approximate Any Function》,Center for Research on Information Systems(纽约大学),1992 年 3 月