技术指南

对比学习

对比学习教导模型将相似的事物放在一起,并将不同的事物在嵌入空间中分开。

阅读时间:2分钟最后更新

概述

It matters because it lets AI learn powerful representations from mostly unlabeled data, powering image search, recommendations, and multimodal models.

深入探讨

对比学习不是预测标签,而是通过比较来学习:给定一个锚点,对模型进行训练,以便匹配的“正”落在向量空间中靠近它的位置,而不匹配的“负”落在远处。常见的自我监督方法(如 SimCLR)通过对同一图像进行两次随机增强(裁剪、颜色抖动、模糊)来创造积极效果;该批次中的其他所有内容均为阴性。该模型将输入映射到向量,并且损失奖励该对的高相似性和其余的低相似性。这会产生距离反映含义的嵌入,因此下游任务需要的标签要少得多。 CLIP 在各种模式中应用了相同的想法,将图像与其标题相匹配。

技术洞察

主力损失是InfoNCE(相似度分数的softmax),通常用余弦相似度除以控制正值偏爱程度的温度。至关重要的是,性能会随着许多负面因素而提高,因此大批量或内存库/队列(如 MoCo)可以提供这些负面影响。 BYOL 和 SimSiam 等一些方法会放弃显式负数,而是使用动量或停止梯度目标网络来避免崩溃,其中所有嵌入都变得相同。

战略影响

成本与预算

多年来,架构决策决定着性能和运营成本。

更清晰的判决

技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。

质量控制

更好的工程选择可以减少生产中的可靠性事故。

对比学习的未来

对比学习正在与屏蔽式和生成式自我监督融合成混合目标,捕捉全局相似性和细节。其最大的影响是多模式的:对比对齐的图像文本(现在是音频和视频)嵌入支撑搜索、检索增强生成和零样本分类,并且足迹将会增长。预计会有更多工作来减少对大批量的需求,更好的增强和负挖掘策略,以及将该方法扩展到标签稀缺和昂贵的医学成像和时间序列等领域。

现实世界的实施

CLIP 学习共享图像文本空间,以便您可以使用键入的短语(如“滑板上的狗”)搜索照片库。

使用 SimCLR 在未标记的照片上预训练视觉主干,然后对其进行微调,仅使用少量标记集进行疾病检测。

构建产品或歌曲推荐,其中用户喜欢的项目嵌入紧密结合在一起,以便进行最近邻居检索。

人脸验证系统可以训练嵌入,使同一个人的两张照片距离很近,而不同人的两张照片距离很远。

风险与防护栏

优化一项基准测试可以隐藏更广泛的系统弱点。

基础设施和维护成本常常被低估。

随着系统变得更加复杂,安全性和可观察性差距可能会扩大。

实施路线图

1

在实施之前定义延迟、质量和成本目标。

2

在实际负载和数据条件下进行基准测试。

3

仪器监控错误、漂移和用户影响。

4

在扩展之前准备回滚和事件响应路径。

不断探索

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Contrastive Learning quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

开始测验

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

常见问题

What is Contrastive Learning?

对比学习教导模型将相似的事物放在一起,并将不同的事物在嵌入空间中分开。这很重要,因为它可以让人工智能从大多数未标记的数据中学习强大的表示,从而为图像搜索、推荐和多模态模型提供支持。

对比学习的核心目标是什么?

对比学习塑造了一个嵌入空间,因此匹配对很近,不匹配对则相距很远。

在 SimCLR 这样的自监督图像方法中,通常如何创建正对?

SimCLR 从一幅图像的两个增强视图中形成正片,而批次中的其他图像则作为负片。

哪种损失函数与对比学习最相关?

InfoNCE 是一个关于温度相似度得分的 softmax,是标准的对比目标。

为什么像 MoCo 这样的方法使用内存库或队列?

对比学习有很多缺点。队列提供它们,同时保持批量大小易于管理。

BYOL 和 SimSiam 在不使用明确否定的情况下特别防范什么问题?

如果没有负数,模型可以轻松地将所有内容映射到同一个向量;停止梯度和动量目标可以防止这种崩溃。