概述
SimCLR是一个具有里程碑意义的框架,利用这一损失从无标签数据中学习强大的图像表示,堪比监督预训练。
深入探讨
InfoNCE(互信息的噪声对比估计)训练编码器,以便查询及其真正的正例比查询和许多负例具有更高的相似度分数。它本质上是相似性分数的 softmax 交叉熵:对于锚点,正值应该战胜负值。 SimCLR (2020) 将其应用于图像:拍摄一张图像,应用两个随机增强来创建正对,通过共享编码器和投影头运行,并使用归一化温度缩放交叉熵(NT-Xent,InfoNCE 变体),以便两个增强视图吸引,而批次中的所有其他图像充当负片。 SimCLR 表明,强大的数据增强、非线性投影头、大批量大小和调整的温度共同使自监督模型能够与 ImageNet 上的监督模型相匹配 - 在预训练期间无需任何标签。
现实世界的实施
SimCLR 在未标记的照片上预训练图像编码器,然后在小型标记集上进行微调以进行分类。
CLIP 使用 InfoNCE 目标将图像与其标题进行匹配,从而实现零样本图像分类。
构建视觉搜索/检索,其中相似的图像在学习的嵌入空间中紧密结合在一起。
针对标签稀缺但原始数据丰富的医疗或卫星图像进行自我监督预训练。
InfoNCE 和 SimCLR 目标的未来
对比目标远远超出了 SimCLR:CLIP 使用 InfoNCE 跨模式将图像与文本对齐,同样的损失驱动音频、视频和检索模型。现在的研究通过内存库(MoCo)减少了对大批量和许多负面因素的依赖,或者完全消除了显性负面因素(BYOL、SimSiam、DINO)。预计对比、蒸馏和掩模建模预训练的持续混合,以及多模态对齐(文本、图像、音频)作为基础模型的主导前沿。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
什么是InfoNCE和SimCLR目标?
InfoNCE 是一种对比损失,它教导模型将匹配对拉到一起并将不匹配对在嵌入空间中分开。 SimCLR 是一个具有里程碑意义的框架,它利用这种损失从未标记的数据中学习强大的图像表示,可与监督预训练相媲美。
InfoNCE 目标鼓励模型做什么?
InfoNCE 是一个关于相似性的 Softmax,它奖励真正的阳性的高相似性和阴性的低相似性。
在 SimCLR 中,如何创建正对?
SimCLR 从同一源图像的两个增强视图生成正对;其他图像用作底片。
温度 τ 在 NT-Xent / InfoNCE 中起什么作用?
在 softmax 之前将相似度除以 τ 可以控制损失区分正例和硬负例的清晰度。
预训练后 SimCLR 的投影头会发生什么变化?
SimCLR发现投影头之前的特征传输效果更好,所以预训练后就扔掉了头。
为什么 SimCLR 依赖大批量?
在 SimCLR 中,批次中的其他图像充当底片,因此较大的批次会提供更多底片和更强的学习效果。