深圳Yolo 视觉
深圳
立即加入
词汇表

对比学习

探索机器学习中的对比学习。了解它如何利用自监督数据为 Ultralytics YOLO26 和计算机视觉构建强大的 AI 特征。

对比学习是一种机器学习范式,它通过比较相似和不相似的样本来教导模型理解数据。与严重依赖手动标注数据集的传统监督学习不同,对比学习常用于自监督学习场景。其核心思想简单而强大:模型学习将相关项(正样本对)的表示在向量空间中拉近,同时将不相关项(负样本对)推远。这一过程使算法能够从大量未标注数据中构建出鲁棒、可泛化的特征,这对于扩展人工智能 (AI)系统至关重要。

对比学习机制

对比学习的核心是“通过比较学习”的概念。模型不是记住特定图像是“猫”,而是学习到两张不同的猫照片彼此之间比任何一张与狗照片都更相似。这通常通过数据增强来实现。输入图像(通常称为“锚点”)通过裁剪、翻转或颜色抖动等技术转换为两个不同版本。这两个版本构成一个正样本对。然后,模型被训练以最小化它们嵌入之间的距离,同时最大化与批次中其他随机图像(负样本)的距离。

这种方法有助于神经网络关注高级语义特征,而非低级像素细节。例如,无论汽车是红色还是蓝色,或者朝向左边还是右边,“汽车”的底层概念保持不变。通过忽略这些表面变化,模型对视觉世界形成了更深入的理解,这显著有益于目标detect和分类等下游任务。

实际应用

对比学习已成为许多最先进AI应用的基石,尤其是在标注数据稀缺或获取成本高昂的场景中。

  1. 零样本图像分类:CLIP(对比语言-图像预训练) 这样的模型利用对比学习在共享特征空间中对齐图像和文本。通过在数百万图像-文本对上进行训练,模型学会将视觉概念与自然语言描述关联起来。这使得 零样本学习成为可能,模型只需将图像与文本提示匹配,即可将其分类到训练中从未见过的类别。
  2. 医学影像的鲁棒预训练:在医疗保健领域,获取专家标注的医学扫描图像成本高昂且耗时。研究人员利用对比学习在大量未标注的X射线或MRI扫描数据库上预训练模型。这种无监督预训练创建了一个强大的骨干网络,可以通过少量标注样本进行微调,以高精度detect肺炎或肿瘤等疾病。这种技术利用迁移学习来改进医疗AI中的诊断工具。

区分相关概念

区分对比学习与类似技术有助于理解其在机器学习 (ML)领域的独特作用。

  • 对比自编码器:尽管两者都是无监督方法,自编码器旨在逐像素重建输入数据,并将其压缩到瓶颈层。另一方面,对比学习不尝试重建图像,而是专注于学习区分不同概念的判别性表示。
  • 对比生成对抗网络 (GANs): GANs 涉及一个生成器 创建伪造数据,以及一个判别器试图 detect 它。对比学习侧重于表示学习,而非数据生成,使其更适用于搜索、检索和分类等任务。
  • 对比三元组损失: 传统的三元组损失明确要求一个锚点、一个正样本和一个 负样本。现代对比方法,例如 SimCLRMoCo,通过在一个批次内同时将一个锚点与多个负样本进行比较来泛化这一概念,通常使用特定的 损失函数,如 InfoNCE。

使用嵌入的实际示例

虽然从头开始训练对比模型是资源密集型的,但您可以轻松使用预训练模型来提取特征。以下示例演示了如何使用预训练模型加载模型并提取图像的特征向量(嵌入)。 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提供了一个简化的部署和监控环境。

让我们一起共建AI的未来!

开启您的机器学习未来之旅