什么是模型训练?

什么是模型训练?

什么是模型训练?

模型训练是使用与模型最终用例相关的样本任务的数据集,“教导”机器学习模型以优化性能的过程。如果训练数据与模型将要处理的实际问题非常相似,那么学习其模式和相关性就能让训练有素的模型对新数据做出准确预测。

对于诸多 AI 模型,无论是预测系统(基于基本线性回归算法构建),还是复杂神经网络(为生成式 AI 提供支持),训练过程是都是其生命周期中最关键的步骤。

模型训练是进行“学习”的机器学习 (ML) 步骤。在机器学习中,学习涉及调整 ML 模型的参数。这些参数包括构成其算法的数学函数中的权重和偏差。此次调整的目的是为了产生更准确的输出。这些权重和偏差的具体数值是模型训练的最终结果,是模型“知识”的切实体现。

从数学上讲,这种学习的目标是最大限度地减小损失函数;该函数可以量化训练任务中模型输出的误差。当损失函数的输出低于某个预定阈值时(意味着模型在训练任务上的误差足够小),该模型就被视为“经过训练”。在强化学习中,目标正好相反:优化模型参数不是为了最小化损失函数,而是为了最大化奖励函数。

在实践中,模型训练需要经历一个周期,即收集和整理数据,在训练数据上运行模型,衡量损失,相应地优化参数,并在验证数据集上测试模型性能。工作流程不断迭代进行,直到获得满意的结果。充分的训练可能还需要调整超参数(影响学习过程但本身不可“学习”的结构选择),这个过程称为超参数调整。

有时,可以通过进一步学习新的训练数据对已经训练好的模型进行微调,以适应更具体的任务或领域。尽管最初的从头训练和随后的微调都是“训练”,但在这种情况下,前者通常被称为“预训练”,以便区分两者。微调是迁移学习的几种类型之一;迁移学习是指使预训练模型适应新用途的机器学习技术的总称。

行业时事通讯

专家为您带来最新的 AI 趋势

获取有关最重要且最有趣的 AI 新闻的精选洞察分析。订阅我们的每周 Think 时事通讯。请参阅 IBM 隐私声明。

谢谢!您已订阅。

您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此处管理您的订阅或取消订阅。有关更多信息,请参阅我们的 IBM 隐私声明。

模型与算法

虽然“模型”和“算法”这两个词在人工智能领域经常互换使用,但它们并不是一回事。区别主要在于每个术语与模型训练的关系。

算法是通常用数学语言或伪代码描述的过程,用于根据提供的输入输出预测结果或做出决策。

模型是对算法参数进行优化的结果,目的是提高算法在特定数据集上的性能,然后再在与这些训练示例相似的新数据上进行优化。用数据科学术语来说,这个过程被称为使算法“拟合”数据集。

换句话说,AI 模型用于进行预测或决策,而算法则是该模型运行所依据的数学逻辑。两个模型可能使用相同的基础算法,但在该算法中具有不同的权重和偏差值,因为它们使用不同的数据进行训练。

深度学习是机器学习的一个子集,其模型是具有许多层的神经网络,因此被称为“深度”,而不是逻辑回归或朴素贝叶斯这样明确设计的算法。两个深度学习模型可能具有相同的结构,例如标准自动编码器,但在层数、每层的神经元数量或每个神经元的激活函数方面有所不同。

Mixture of Experts | 12 月 12 日,第 85 集

解码 AI:每周新闻摘要

加入我们世界级的专家小组——工程师、研究人员、产品负责人等将为您甄别 AI 领域的真知灼见,带来最新的 AI 资讯与深度解析。

观看 Mixture of Experts 所有剧集

模型训练的类型

在大多数情况下,训练几乎与学习同义:数据科学家进行训练;模型进行学习。学习需要调整机器学习算法的参数,直到最终模型的输出满足准确性或实用性的某些指标。训练需要收集训练数据和调整超参数(例如选择损失函数、设置参数的更新率或改变神经网络的架构)以促进学习。

AI 模型通常被归类为属于三种不同的机器学习范式之一:监督学习、无监督学习或强化学习。每种类型的机器学习都有自己独特的用例、超参数、算法和训练过程。

当训练模型来预测输入的“正确”输出时,使用监督学习。它适用于需要相对于某些外部“基本事实”具有一定准确度的任务,例如分类或回归。

无监督学习用于对模型进行训练,以识别数据中的内在模式和相关性。与监督学习不同,无监督学习并不假定存在任何外部基本事实,其输出结果也不需要与之进行比较。

强化学习用于训练模型评估环境,并采取能获得最大奖励的行动。

值得注意的是,每种机器学习范式的定义和区别并不总是正式的或绝对的。例如,自监督学习 (SSL) 可以分为监督学习或无监督学习,具体取决于关注这些术语定义的哪个方面。半监督学习结合了无监督学习和监督学习。

另外值得注意的是,有时可使用多种类型的机器学习来训练单个 AI 系统。例如,大型语言模型 (LLM)(用于聊天机器人等会话应用)版本通常要经过自监督预训练,然后进行监督微调,最后再进行基于人类反馈的强化学习 (RLHF)。

监督学习

作为构成深度学习模型的神经网络的主要训练形式,监督学习是当今最先进的 AI 模型的基础。监督学习是需要准确性的任务(例如分类或回归)的主要训练范式。

训练模型的准确性需要将其对特定输入的输出预测与该输入的“正确”预测(通常称为基本事实)进行比较。在传统的监督式学习中,该基本事实由标记的数据对提供。例如,对象检测模型的训练数据将原始图像(输入)与图像的注释版本配对,注释版本指示其中每个对象的位置和分类(输出)。

因为这种训练方法需要一个人在循环中提供基本事实,所以它被称为“监督式”学习。但监督学习的决定性特征不是人类的参与,而是使用一些基本事实并确保衡量与其背离度的损失函数最小化。随着创新的新学习技术设计出从未标记数据中隐式推断“伪标签”的方法,这种区别变得很重要。

为了适应更加泛用的监督学习概念,现代 ML 术语使用“监督”或“监督信号”来指代任何基本事实来源。在自监督学习中,由于它使用未标记的数据,因此名义上是“无监督的”,监督信号源自未标记数据本身的结构。例如,LLM 通过 SSL 进行预训练,方法是预测文本样本中的遮蔽词,并将原始文本用作基本事实。

无监督学习

与监督学习不同,无监督学习不假设“正确”答案预先存在,因此不涉及监督信号或传统损失函数。无监督学习算法试图发现未标记数据中的内在模式,例如相似性、相关性或潜在分组,并且在这些模式对人类观察者来说不一定明显的情况下最有用。

无监督学习算法的主要类别包括:

聚类算法根据彼此的接近度或相似性将未标记的数据点划分为“聚类”或分组。例如,k-means 聚类是一种流行的聚类算法,用于市场细分,可将具有相似属性的客户分到 k组。

关联算法可识别相关性,例如特定操作和某些条件之间的相关性。例如,像 Amazon 这样的电子商务企业使用无监督关联模型来支持推荐引擎。

降维算法旨在通过使用较少数量的特征来表示数据(即,以更少的维度来表示数据)以便降低数据的复杂性,同时保留其有意义的特征。它们有多个用例,包括数据压缩、数据可视化和特征工程。

顾名思义,无监督学习算法可以被广泛理解为某种程度上的“自我优化”。例如,犹他大学教授 Andrey Shabalin 博士的这段动画演示了 k-means 聚类算法如何迭代优化每个聚类的质心。

因此,使用无监督学习算法训练 AI 模型通常是超参数调整的问题。例如,在聚类算法中,理想的聚类数 (k) 并不总是显而易见的,可能需要手动实验才能产生最佳结果。

强化学习

监督学习通过优化模型使其与理想的样例拟合来进行训练,无监督学习算法则使自己拟合数据集,而强化学习模型则是通过反复试验进行整体训练的。强化问题不涉及单一的“正确”答案;相反,它们涉及“好”的决定和“坏”的(或许是中性的)决定。

强化学习 (RL) 不使用监督学习中使用的独立的输入-输出数据对,而是对相互依赖的状态-动作-奖励数据元组进行运算。强化学习的数学框架主要建立在以下组件之上:

状态空间包含与模型可能做出的决策相关的所有可用信息。它通常会随着模型采取的每个操作而变化。

行动空间包含模型在某一时刻可以做出的所有决定。在棋盘游戏中,动作空间包含当时可用的所有合法移动。在文本生成中,动作空间包括 LLM 可用的整个“词汇表”中的词元。

奖励函数决定了每次行动后向模型提供的正反馈(或负反馈),并将其转化为奖励信号:即反馈的标量量化。例如,在使用 RL 训练国际象棋程序时,奖励函数可能会激励提高获胜概率的移动,而抑制降低获胜概率的移动。在训练自动驾驶汽车时,奖励函数可能会抑制违反法律或降低安全可能性的操纵。

策略是驱动 RL 智能体行为的“思维过程”。从数学上来说,一项策略 (π) 是一个函数,它接受一个状态 (s) 作为输入并返回一个动作 (a):π(s)→a.

RL 算法的目标是优化策略以产生最大奖励。在深度强化学习中,策略表示为一个神经网络,其参数不断更新,以最大化奖励函数(而不是最小化损失函数)。

如何训练机器学习模型

模型开发生命周期由多个过程组成,其中一些过程以迭代方式周期性重复,直到取得满意的结果。

虽然强化学习、监督学习和无监督学习各自都有其独有的训练元素,但训练模型所需的一般工作流通常包括以下步骤:

模型选择

数据收集

数据准备

选择超参数

在训练数据上的表现

计算损失(或奖励)

优化参数

模型评估

模型选择

正确的算法(或神经网络架构)不仅仅取决于您需要解决的问题和模型将处理的数据类型。理想模型类型还取决于您是否较之准确性和性能更优先考虑速度和效率(或相反),以及预算和您可用的硬件或计算资源。例如,训练或微调 LLM 通常需要多个图形处理单元 (GPU)。

数据收集

为用例获取高质量的训练数据并非易事,尤其是对于深度学习模型,它们通常需要数千甚至数百万的示例才能进行充分训练。尽管专有数据管道为定制和竞争优势提供了独特的机会,但大多数领域和任务都有可靠的开源数据集可用。在某些领域,特别是自然语言处理 (NLP),生成合成数据是一种日益可行的选择。

数据准备

要用于训练,原始数据(尤其是直接收集或从多个数据源整理而来的数据)通常需要进行一些预处理,其中可能包括清理数据、规范化值和标准化格式。有许多服务可以将该过程部分或全部自动化,例如 Docling,这是一种开源代码工具,可将 PDF 和其他文件格式转换为更具机器可读性的文本,同时保留重要的结构元素。

对于监督学习,必须对数据进行标记,有时还要注明重要的细节。例如,用于训练图像分割模型的图像必须标注到像素级别。这种标记可能需要大量的时间和人力,这两点都应在时间表和预算中加以考虑。

选择超参数

即使选择了算法或模型架构,您仍有更多的选择要做。传统的 ML 算法很少是千篇一律的,而神经网络则更加不标准化。选择正确的超参数(参数优化之外的算法的模块化元素)对于高效和成功的训练至关重要。

当训练进展不顺利时,或者使用无监督学习算法或非参数监督学习算法(如决策树)时,可以通过超参数调整来改进和增强模型的性能。可能需要进行一些反复试验才能找到最佳的学习率、分批大小、损失函数(和正则化项)或优化算法。

其中一个参数是可学习参数的初始化。它们通常是随机的,但即使是参数的随机化也有多种策略。最佳初始参数也可以通过一种称为元学习的技术来“学习”。

在训练数据上的表现

设置初始参数和超参数后,模型将处理从训练数据集中提取的一批输入数据示例。由于初始参数是随机的,因此模型通常不会产生“良好”的输出。首个训练轮次的目标只是建立一个基线,然后进行优化。批量大小(在计算损失和优化参数之前在每个“批次”中处理的示例数量)本身就是一个重要的超参数。

有许多开源框架用于配置和运行机器学习模型进行训练,例如 PyTorch、Keras 或 TensorFlow。大多数都基于 Python 或 JavaScript 运行,并且作为社区驱动的项目,为初学者提供了丰富的教程内容库。

计算损失(或奖励)

当您的模型通过训练示例进行工作时,您选择的损失函数会跟踪模型的输出与每个输入的“正确”更新之间的差异。在深度学习中,模型是由相互嵌套的各种方程组成的神经网络,反向传播用于计算神经网络的每个节点对整体损失的贡献。

在监督学习中,训练的正式目标通常是最小化该损失函数。而一些模型架构,例如变分自编码器 (VAE),通过最大化损失函数的某些代理来重新表述问题。RL 算法通常寻求最大化奖励函数,有时同时最小化惩罚不良行为的正则化项。

优化参数

ML 算法的优化通常由单独的算法执行。在数学中,优化算法旨在通过确定该函数中变量的最优值来最小化或最大化某些其他函数(在本例中为损失函数或奖励函数)。在 ML 中,这些变量是算法中的权重和偏差,或神经网络不同节点之间的权重和偏差。

理想的优化算法取决于正在训练的模型的类型。许多 ML 算法,尤其是基于神经网络的模型,都使用梯度下降的变体。二次函数的某些算法,如支持向量机 (SVM),可能更适合二次规划。线性回归算法通常通过最小二乘法进行优化。强化学习有自己的优化算法,例如近端策略优化 (PPO)、直接策略优化 (DPO) 或优势演员-评论家 (A2C)。

这一系列训练步骤(调整超参数、在一批训练数据上运行模型、计算损失和优化参数)将在多次迭代中重复,直到损失充分最小化。

模型评估

训练数据上的优异表现本身并不能成为模型已成功训练并准备好进行实际部署的确凿证据。必须小心避免过拟合,这种情况下模型基本记住了训练数据,但不能很好地推广到新数据(从而违背了训练的目的)。过拟合可以理解为机器学习中的“应试教育”。

为了避免过拟合,标准做法是在称为交叉验证的过程中留出一部分训练数据集。这样就可以使用模型从未见过的新数据进行测试,确保它得到了适当的训练。

相关内容

右边的任务不显示
365beat提现流程

右边的任务不显示

⌛ 09-18 👁️ 4102
《魔兽世界》解救驯鹿梅森流程图文攻略
365beat提现流程

《魔兽世界》解救驯鹿梅森流程图文攻略

⌛ 09-16 👁️ 6327
康佳40寸电视
game365备用网址

康佳40寸电视

⌛ 09-25 👁️ 2718