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

对比学习

探索对比学习的力量,这是一种自监督技术,可以用最少的标记数据实现强大的数据表示。

对比学习是一种强大的 机器学习 (ML) 模型学习稳健的数据表示,而无需手动标记。通过 神经网络来区分相似和 这种方法允许算法理解数据集的底层结构。而不是 直接预测特定类别,而是通过比较成对的示例进行学习,提取相关项目的表征--称为正对表征。 将相关项目的表征(称为正对)在嵌入空间中靠得更近,而将不相关的项目表征(称为负对)在嵌入空间中靠得更近。 嵌入空间,同时将不相关的项目(负 对拉开。这种能力使它成为现代 自监督学习的基石,使 开发人员可以利用大量无标记数据。

对比学习如何发挥作用

对比学习的核心机制围绕实例辨别这一概念展开。训练 训练过程一般包括三个关键部分:数据增强、编码器网络和对比损失函数。 函数。

  • 数据扩充:为创建正对图像,系统会获取原始图像("锚点"),并进行随机变换,如裁剪、翻转或颜色抖动。 变换,如裁剪、翻转或颜色抖动。这些增强视图代表相同的语义 但从像素上看却不同。
  • 编码器网络:A 卷积神经网络(CNN)视觉Transformer (ViT)同时处理 锚点及其增强版本,以生成特征向量。类似的框架有 PyTorch等框架通常用于实现这些架构。
  • 对比损失:损失函数,如 损失),通过最小化正样本对之间的距离,最大化锚样本和负样本(通常是同一图像中的其他图像)之间的距离来优化模型。 最大化,从而优化模型。 批次大小)之间的距离最大化。具有里程碑意义的研究 Google 研究院的SimCLR等里程碑式的研究已经证明了这种方法在视觉表征学习中的有效性。 对于视觉表征学习的有效性。

实际应用

通过对比方法学习到的表征非常容易迁移到下游任务中。

  1. 视觉搜索和推荐零售业中的人工智能,对比学习为 语义搜索引擎。通过将产品 电子商务平台可将产品图片映射到一个矢量空间,在该空间中,视觉上相似的商品被集中在一起,从而推荐与用户查询图片的风格或特征相匹配的产品,改善客户体验。 与用户查询图片的风格或特征相匹配的产品,从而改善客户体验。
  2. 物体检测的预训练:可以使用对比目标在大量无标记数据集上对模型进行预训练,然后再针对特定任务(如物体检测)进行微调。 对比目标对模型进行预训练,然后再针对特定任务(如物体检测)对模型进行微调。 物体检测。这种策略通常用于 在训练高级架构(如 YOLO11, 这种策略通常在训练 YOLO11 等高级架构之前使用,可大大提高性能和收敛速度,尤其是在标注数据稀缺的情况下(这种情况被称为 "少量学习")。 称为 "少量学习")。

对比学习与相关概念

了解对比学习与其他范式的区别有助于选择正确的方法。 方法。

  • Vs.监督学习:传统的监督学习依赖于广泛的数据集,其中每张图像都需要手动 数据标记。对比学习可从数据本身生成 从数据本身生成自己的监督信号,从而降低标注成本。
  • Vs.自动编码器虽然两者都是无监督的,但自动编码器通常旨在逐像素地重建输入数据。对比 学习侧重于学习区分不同实例的鉴别特征,这通常会为分类任务带来更有意义的表征。 这通常能为分类任务提供更有意义的表征。
  • Vs.CLIP:对 CLIP(对比语言-图像预训练) 模型是对比学习的具体应用。标准的 对比学习是将图像与图像进行对比,而 CLIP 则是将图像与文本描述进行对比,从而实现多模态人工智能功能。 多模态人工智能能力。

示例:使用学习到的特征

虽然训练一个完整的对比循环需要大量的计算,但你可以利用那些通过类似的预训练技术学习到强健 特征的模型。下面的示例演示了加载预训练的 图像分类模型来处理图像。 图像,该模型利用了在训练过程中优化的底层特征提取功能。

from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
# The backbone of this model has learned to extract powerful features
model = YOLO("yolo11n-cls.pt")

# Run inference on a sample image
# This process utilizes the learned feature embeddings to predict the class
results = model("https://ultralytics.com/images/bus.jpg")

# Display the top predicted class names
print(results[0].names[results[0].probs.top1])

挑战和未来方向

尽管对比学习取得了成功,但它也面临着挑战。它需要仔细选择反义词对;如果反义词样本太容易区分,模型就会停止有效学习。 负样本太容易区分,模型就会停止有效学习。像 MoCo(动量对比)等方法引入了记忆库,以高效处理大量负样本。 此外,训练往往需要大量的时间。此外,训练通常需要大量的计算资源、 例如高性能GPU。随着 随着研究的深入,Ultralytics 将继续在研发中探索这些技术,用于即将推出的模型,如 YOLO26 等模型的研发中继续探索这些技术,旨在提供更快、更小、更准确的 旨在通过改进模型从各种未经整理的数据中学习的方式,提供更快、更小、更准确的检测系统。

加入Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入