人工智能模型是一种经过特定数据集训练的程序,能够在无需进一步人工干预的情况下识别某些模式或做出某些决策。人工智能模型将不同的算法应用于相关数据输入,以实现其编程设定的任务或输出。
简单来说,人工智能模型的定义在于其能够自主做出决策或预测,而非模拟人类智能。20 世纪 50 年代初,国际跳棋和国际象棋程序是首批成功的 AI 模型:这些模型使程序能够直接根据人类对手的走法做出回应,而非遵循预先设定的一系列走法。
不同类型的 AI 模型更适合特定的任务或领域,因为它们各自的决策逻辑在这些方面最为有用或相关。复杂的系统通常会同时使用多个模型,并采用诸如装袋法、提升法或堆叠法等集成学习技术。
随着人工智能工具变得越来越复杂和多样化,它们在训练和执行过程中需要的数据量和计算能力也愈发庞大。对此,专门用于单一领域执行特定任务的系统正逐渐被基础模型所取代,这些基础模型预先在大量未标注的数据集上进行训练,能够应用于广泛的场景。然后,这些多功能的基础模型可以针对特定任务进行微调。
算法与模型
尽管这两个术语在这种情况下经常互换使用,但它们的意思并不完全相同。
- 算法是通常用数学语言或伪代码描述的程序,用于对数据集进行操作以实现某种功能或目的。
- 模型是算法应用于数据集后的输出结果。
简单来说,人工智能模型用于做出预测或决策,而算法则是该人工智能模型运行所依据的逻辑。
人工智能模型能够实现决策自动化,但只有具备机器学习(ML)能力的模型才能随着时间的推移自主优化其性能。
虽然所有机器学习模型都是人工智能,但并非所有人工智能都涉及机器学习。最基础的人工智能模型是一系列的“如果-那么-否则”语句,其规则由数据科学家明确编写。这类模型也被称为规则引擎、专家系统、知识图谱或符号人工智能。
机器学习模型使用的是统计型人工智能而非符号型人工智能。与必须明确编程的基于规则的人工智能模型不同,机器学习模型是通过将其数学框架应用于一个样本数据集来“训练”的,该数据集中的数据点成为模型未来对现实世界进行预测的基础。
机器学习模型技术通常可以分为三大类:监督学习、无监督学习和强化学习。
- 监督学习:也被称为“传统”机器学习,监督学习需要人类专家对训练数据进行标注。一位数据科学家在训练一个用于识别狗和猫的图像识别模型时,必须将样本图像标注为“狗”或“猫”,以及诸如大小、形状或毛发等关键特征,这些特征有助于确定主要标签。然后,在训练过程中,模型可以利用这些标签来推断“狗”和“猫”的典型视觉特征。
- 无监督学习:与有监督学习技术不同,无监督学习不假定存在外部的“正确”或“错误”答案,因此不需要标注。这些算法检测数据集中的内在模式,将数据点聚类成组,并为预测提供信息。例如,亚马逊等电子商务企业使用无监督关联模型来驱动推荐引擎。
- 强化学习:在强化学习中,模型通过反复试验和错误,系统性地奖励正确输出(或惩罚错误输出)来整体学习。强化模型被用于为社交媒体建议、算法股票交易,甚至自动驾驶汽车提供信息。
深度学习是无监督学习的一个进一步发展的子集,其神经网络结构试图模仿人脑。多个相互连接的节点层逐步摄取数据、提取关键特征、识别关系并优化决策,这一过程被称为前向传播。另一个被称为反向传播的过程应用模型来计算误差,并相应地调整系统的权重和偏差。大多数先进的人工智能应用,如现代聊天机器人所依赖的大语言模型(LLM),都利用了深度学习。它需要巨大的计算资源。
区分机器学习模型的一种方法是根据其基本方法:大多数模型可以归类为生成式或判别式。这种区别在于它们在给定空间中对数据进行建模的方式。
生成模型(Generative models)
生成算法通常涉及无监督学习,它对数据点的分布进行建模,旨在预测给定数据点出现在特定空间中的联合概率 P(x,y)。因此,生成式计算机视觉模型可能会识别出诸如“看起来像汽车的东西通常有四个轮子”或“眼睛不太可能出现在眉毛上方”这样的关联。
这些预测能够为模型认为极有可能生成的输出提供信息。例如,基于文本数据训练的生成模型可以为拼写和自动补全建议提供支持;在最复杂的层面上,它能够生成全新的文本。本质上,当一个大型语言模型输出文本时,它已经计算出该词序列在给定提示的情况下被组合出来的概率很高。
生成模型的其他常见应用场景包括图像合成、音乐创作、风格转换和语言翻译。
生成模型的例子包括:
- 扩散模型:扩散模型会逐渐向训练数据添加高斯噪声,直至其无法辨认,然后学习一个相反的“去噪”过程,从而能够从随机种子噪声中合成输出(通常是图像)。
- 变分自编码器(VAEs):VAEs 由一个压缩输入数据的编码器和一个学习逆转该过程并映射可能数据分布的解码器组成。
- Transformer 模型:Transformer 模型运用被称为“注意力”或“自注意力”的数学技术来识别一系列数据中的不同元素如何相互影响。OpenAI 的 Chat-GPT 中的“GPT”代表“生成式预训练 Transformer”。
判别模型(Discriminative models )
Discriminative 算法通常涉及监督学习,它对数据类别之间的边界(或“决策边界”)进行建模,旨在预测给定数据点(x)属于某一类别(y)的条件概率 P(y|x)。判别式计算机视觉模型可能会通过辨别一些关键差异(比如“如果没有轮子,那它就不是汽车”)来学习“汽车”和“非汽车”之间的区别,从而能够忽略生成式模型必须考虑的许多相关性。因此,判别式模型往往需要较少的计算能力。
Discriminative 模型自然很适合诸如情感分析之类的分类任务,但它们的用途广泛。例如,决策树和随机森林模型将复杂的决策过程分解为一系列节点,在每个节点上,每个“叶子”都代表着一种潜在的分类决策。
用例
虽然判别式模型或生成式模型在某些实际应用场景中可能各有优劣,但很多任务都可以用这两种类型的模型来完成。例如,判别式模型在自然语言处理(NLP)中有诸多应用,并且在诸如机器翻译(这涉及生成翻译后的文本)等任务中往往优于生成式人工智能。
同样,生成模型也可以通过贝叶斯定理用于分类。与判别模型确定实例位于决策边界的哪一侧不同,生成模型可以确定每个类别生成该实例的概率,并选择概率较高的类别。
许多人工智能系统会同时使用这两种模型。例如,在生成对抗网络中,生成模型生成样本数据,而判别模型则判断这些数据是“真实”的还是“伪造”的。判别模型的输出用于训练生成模型,直到判别器无法区分“伪造”的生成数据为止。
另一种对模型进行分类的方法是根据它们所用于的任务的性质。大多数经典的 AI 模型算法要么执行分类任务,要么执行回归任务。有些模型两种任务都适用,而大多数基础模型则同时利用这两种功能。
这种术语有时可能会令人感到困惑。例如,逻辑回归是一种用于分类的判别模型。
回归模型(Regression models )
回归模型用于预测连续值(如价格、年龄、大小或时间)。它们主要用于确定一个或多个自变量(x)与因变量(y)之间的关系:给定 x,预测 y 的值。
- 诸如线性回归之类的算法以及相关的变体(如分位数回归),对于诸如预测、分析价格弹性以及评估风险等任务很有用。
- 多项式回归和支持向量回归(SVR)等算法能够对变量之间的复杂非线性关系进行建模。
- 某些生成模型,如自回归模型和变分自编码器,不仅能解释过去值与未来值之间的相关关系,还能解释因果关系。这使得它们在预测天气状况和极端气候事件方面特别有用。
分类模型(Classification models)
分类模型预测离散值。因此,它们主要用于确定适当的标签或进行分类(即分类)。这可以是二元分类,比如“是或否”、“接受或拒绝”,也可以是多类别分类(比如推荐引擎推荐产品 A、B、C 或 D)。
分类算法用途广泛,从简单的分类到深度学习网络中特征提取的自动化,再到医疗保健领域的进步,如放射学中的诊断图像分类等。
常见的例子包括:
- 朴素贝叶斯:一种生成式监督学习算法,常用于垃圾邮件过滤和文档分类。
- 线性判别分析:用于解决影响分类的多个特征之间相互矛盾的重叠问题。
- 逻辑回归:预测连续概率,然后将其用作分类范围的替代指标。
机器学习中的“学习”是通过在样本数据集上训练模型来实现的。在这些样本数据集中发现的概率趋势和相关性随后会被应用于系统功能的执行。
在有监督和半监督学习中,这些训练数据必须由数据科学家仔细标注,以优化结果。在特征提取恰当的情况下,有监督学习所需的总体训练数据量通常比无监督学习少。
理想情况下,机器学习模型应基于真实世界的数据进行训练。直观地说,这最能确保模型反映其旨在分析或复制的真实世界情况。但仅仅依赖真实世界的数据并非总是可行、实用或最优的选择。
增大模型的规模和复杂度
模型的参数越多,训练它所需的数据就越多。随着深度学习模型规模的扩大,获取这些数据变得越来越困难。这一点在大型语言模型(LLM)中尤为明显:无论是 OpenAI 的 GPT-3 还是开源的 BLOOM,其参数都超过了 1750 亿。
尽管使用公开数据很方便,但可能会带来监管方面的问题,比如数据必须匿名化处理,同时也会出现实际操作上的问题。例如,基于社交媒体帖子训练的语言模型可能会“习得”一些不适合企业使用的习惯或不准确的内容。
合成数据提供了一种替代方案:利用少量的真实数据生成与原始数据极为相似的训练数据,从而避免了隐私方面的顾虑。
消除偏见
在真实世界数据上训练的机器学习模型不可避免地会吸收数据中反映的社会偏见。如果不加以消除,这种偏见将在任何此类模型提供信息的领域(如医疗保健或招聘)中延续并加剧不平等。数据科学研究已经产生了诸如 FairIJ 之类的算法和诸如 FairReprogram 之类的模型改进技术,以解决数据中固有的不平等。
过拟合与欠拟合
当机器学习模型对训练数据拟合得过于紧密时,就会出现过拟合现象,这会导致样本数据集中不相关的信息(或“噪声”)影响模型的性能。与之相反的是欠拟合,即训练不当或训练不足。
基础模型,也称为基模型或预训练模型,是基于大规模数据集进行预训练的深度学习模型,旨在学习通用特征和模式。它们作为起点,可被微调或适配以用于更具体的 AI 应用。
开发者无需从零开始构建模型,而是可以修改神经网络层、调整参数或调整架构以适应特定领域的需要。在大型且经过验证的模型所具备的广度和深度的知识与专长基础上,这节省了大量模型训练的时间和资源。因此,基础模型能够加快人工智能系统的开发和部署。
针对特定任务对预训练模型进行微调的方法近来已被提示微调技术所取代,该技术在模型前端引入提示信息,以引导模型做出期望类型的决策或预测。
据麻省理工学院 - IBM 沃森人工智能实验室的联合主任大卫·考克斯称,重新部署一个训练好的深度学习模型(而非训练或重新训练一个新模型)能够将计算机和能源使用量减少 1000 多倍,从而节省大量成本。
复杂的测试对于优化至关重要,因为它能衡量一个模型是否训练良好以完成其预期任务。不同的模型和任务适合采用不同的指标和方法。
交叉验证(Cross-validation)
测试模型的性能需要一个对照组来进行对比,因为用模型训练所用的数据来测试它可能会导致过拟合。在交叉验证中,会将部分训练数据保留下来或重新抽样以创建该对照组。其变体包括非穷举方法,如 k 折交叉验证、留出法交叉验证和蒙特卡罗交叉验证,以及穷举方法,如留 p 个样本交叉验证。
分类模型指标(Classification model metrics)
这些常见的度量标准包含离散的结果值,例如真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)。
- 准确率是正确预测数与总预测数的比率:(真阳性数 + 真阴性数)/(真阳性数 + 真阴性数 + 假阳性数 + 假阴性数)。它在处理不平衡数据集时效果不佳。
- 精确度衡量的是正向预测准确的频率:真阳性数除以(真阳性数加假阳性数)。
- 召回率衡量的是成功捕获的正例的频率:真阳性数/(真阳性数 + 假阴性数)。
- F1 值是准确率和召回率的调和平均值:(2×准确率×召回率)/(准确率 + 召回率)。它平衡了准确率(倾向于出现假阴性)和召回率(倾向于出现假阳性)之间的权衡。
- 混淆矩阵直观地展示了您的算法对每个潜在分类的置信度(或混淆程度)。
回归模型指标(Regression model metrics)
由于回归算法预测的是连续值而非离散值,因此它们的评估指标也有所不同,其中“N”代表观测值的数量。以下是一些用于评估回归模型的常见指标。
- 平均绝对误差(MAE)衡量的是预测值(y0)与实际值(y1)之间绝对差值的平均值:∑|y2 - y3| / N 。
- 均方误差(MSE)将平均误差平方,以严厉惩罚异常值:∑(y0 - y1)2 / N 。
- 均方根误差(RSME)以与结果相同的单位衡量标准差:√(∑(y0 - y1)2 / N)。
- 平均绝对百分比误差(MAPE)以百分比形式表示平均误差。
部署和运行人工智能模型需要具备足够处理能力和存储容量的计算设备或服务器。如果未能充分规划人工智能流程和计算资源,那么原本成功的原型可能会无法从概念验证阶段推进。
- 像 PyTorch、TensorFlow 和 Caffe2 这样的开源机器学习框架只需几行代码就能运行机器学习模型。
- 对于不需要大量并行计算的学习算法而言,中央处理器(CPU)是高效的计算能力来源。
- 图形处理单元(GPU)具有更强的并行处理能力,这使它们更适合深度学习神经网络中庞大的数据集以及复杂的数学运算。