探索机器学习中的对比学习。了解它如何利用自监督数据为 Ultralytics YOLO26 和计算机视觉构建强大的 AI 特征。
对比学习是一种机器学习范式,它通过比较相似和不相似的样本来教导模型理解数据。与严重依赖手动标注数据集的传统监督学习不同,对比学习常用于自监督学习场景。其核心思想简单而强大:模型学习将相关项(正样本对)的表示在向量空间中拉近,同时将不相关项(负样本对)推远。这一过程使算法能够从大量未标注数据中构建出鲁棒、可泛化的特征,这对于扩展人工智能 (AI)系统至关重要。
对比学习的核心是“通过比较学习”的概念。模型不是记住特定图像是“猫”,而是学习到两张不同的猫照片彼此之间比任何一张与狗照片都更相似。这通常通过数据增强来实现。输入图像(通常称为“锚点”)通过裁剪、翻转或颜色抖动等技术转换为两个不同版本。这两个版本构成一个正样本对。然后,模型被训练以最小化它们嵌入之间的距离,同时最大化与批次中其他随机图像(负样本)的距离。
这种方法有助于神经网络关注高级语义特征,而非低级像素细节。例如,无论汽车是红色还是蓝色,或者朝向左边还是右边,“汽车”的底层概念保持不变。通过忽略这些表面变化,模型对视觉世界形成了更深入的理解,这显著有益于目标detect和分类等下游任务。
对比学习已成为许多最先进AI应用的基石,尤其是在标注数据稀缺或获取成本高昂的场景中。
区分对比学习与类似技术有助于理解其在机器学习 (ML)领域的独特作用。
虽然从头开始训练对比模型是资源密集型的,但您可以轻松使用预训练模型来提取特征。以下示例演示了如何使用预训练模型加载模型并提取图像的特征向量(嵌入)。 ultralytics 包。此嵌入表示通过类似于对比预训练的技术学习到的语义内容。
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Run inference on an image to get the results
# The 'embed' argument can be used in advanced workflows to extract feature layers
results = model("https://ultralytics.com/images/bus.jpg")
# Access the top predicted class probability
# This prediction is based on the learned feature representations
print(f"Top class: {results[0].names[results[0].probs.top1]}")
print(f"Confidence: {results[0].probs.top1conf:.4f}")
这种提取丰富、有意义特征的能力,使得对比学习对于构建现代计算机视觉(CV)系统至关重要,它能实现高效的图像搜索和高级分析。为了管理数据集并训练受益于这些先进架构的自定义模型,Ultralytics Platform提供了一个简化的部署和监控环境。
开启您的机器学习未来之旅