规范化
利用 L1、L2、Dropout 和早期停止等正则化技术防止过拟合,提高模型泛化能力。了解更多
正则化是机器学习(ML)中使用的一套技术,用于防止被称为 "过拟合"的常见问题。当模型过拟合时,它对训练数据的学习效果太好,包括噪声和随机波动,这对其泛化和对新的未见数据进行准确预测的能力产生了负面影响。正则化的原理是在损失函数中加入对模型复杂性的惩罚,阻止模型学习过于复杂的模式。这有助于创建一个更简单、更具泛化能力的模型,使其在训练数据和验证数据上都有更好的表现。
常用正则化技术
有几种广泛使用的正则化技术有助于提高模型的性能和鲁棒性:
- L1 和 L2 正则化:这是最常见的正则化形式。它们根据模型权重的大小对损失函数进行惩罚。L1 正则化(Lasso)倾向于将不太重要的特征权重缩减为零,从而有效地进行特征选择。L2 正则化(Ridge 或 Weight Decay)则迫使权重变小,但很少为零。斯坦福 CS229 课程笔记等资源中可以找到更深入的数学差异。
- 辍学层:这种技术是神经网络特有的。在训练过程中,它会在每个更新步骤中随机将一部分神经元激活设置为零。这可以防止神经元过多地共同适应,并迫使网络学习更稳健的特征。这一概念是在一篇极具影响力的研究论文中提出的。
- 数据扩充:通过人为地扩大训练数据的大小和多样性,数据扩充有助于模型对细微变化的不变性。常见的技术包括旋转、裁剪、缩放和改变图像的颜色。Ultralytics 提供内置的YOLO 数据增强方法,以提高模型的稳健性。
- 早期停止:这是一种实用的方法,即在训练过程中监控模型在验证集上的表现。当验证性能停止提高时,训练过程就会停止,以防止模型在以后的历时中开始过拟合。PyTorch 文档中提供了实施提前停止的实用指南。
实际应用
正则化是开发各领域有效深度学习(DL)模型的基础。
- 计算机视觉:在Ultralytics YOLO 等物体检测模型中,正则化对于从COCO等数据集推广到真实世界应用至关重要。例如,在用于汽车解决方案的人工智能中,L2 正则化和 dropout 可以帮助交通标志检测器在不同的照明和天气条件下可靠地工作,防止它记住在训练过程中看到的特定示例。
- 自然语言处理 (NLP): 大型语言模型(LLM)由于参数数量庞大,容易出现过拟合现象。在机器翻译等应用中,Transformer架构中使用了 dropout 来确保模型学习语法规则和语义关系,而不仅仅是记忆训练数据中的特定句对。
正则化与其他概念
必须将正则化与 ML 中的其他相关概念区分开来:
- 正则化与归一化:归一化是一种数据预处理技术,可将输入特征缩放至标准范围(如 0 至 1)。它能确保在学习过程中不会有单一特征因其规模而占据主导地位。与此相反,正则化是一种在训练过程中限制模型复杂度以防止过度拟合的技术。虽然两者都能提高模型性能,但归一化侧重于数据,而正则化侧重于模型本身。批量归一化是一种层归一化技术,也能提供轻微的正则化效果。
- 正则化与超参数调整:正则化技术有自己的超参数,如 L1/L2 中的正则化强度 (lambda) 或丢弃率。超参数调整是为这些设置找到最佳值的过程,通常由Ultralytics Tuner 类等工具自动完成。简而言之,就是利用超参数调整找到应用正则化的最佳方法。Ultralytics HUB等平台可以帮助管理这一过程所需的实验。