Zubnet AI学习Wiki › 对比学习
训练

对比学习

别名:SimCLR、InfoNCE
一种自监督学习方法,通过对比正样本对(应在嵌入空间中接近的相似项)和负样本对(应远离的不相似项)来训练模型。CLIP对比匹配的图像-文本对和不匹配的。SimCLR对比同一图像的增强视图和不同图像的视图。模型学习到嵌入空间中的相似性反映现实世界相似性的表示。

为什么重要

对比学习是大多数嵌入模型的训练方式——驱动语义搜索、RAG和推荐的模型。它也是CLIP背后的训练方法,连接了语言和视觉。每当你使用嵌入来衡量相似性时,对比学习很可能就是这些嵌入的创建方式。

深度解析

InfoNCE损失(被CLIP和许多嵌入模型使用):给定一批N个正样本对,将批次中的N−1个不匹配项作为负样本。损失推动正样本对嵌入更接近,负样本对嵌入更远离。关键洞察:你不需要明确标注的负样本——批次中的其他项免费充当负样本,使该方法高度可扩展。

数据增强作为监督

在视觉中,对比学习通过数据增强创建正样本对:同一图像的两个随机裁剪构成正样本对(它们从不同视角展示相同内容)。不同图像构成负样本对。模型学习到增强视图应有相似嵌入,而不同图像应有不同嵌入。这在没有任何标签的情况下学习有用的视觉表示——纯自监督。

困难负样本

并非所有负样本对学习同样有用。"困难负样本"——相似但不匹配的项——提供最多的学习信号。对于关于"Python Web框架"的查询,困难负样本可能是关于"Python数据科学"的文档(相似主题,错误答案),而非关于"烹饪食谱"的文档(明显无关)。挖掘困难负样本是训练高质量嵌入模型的关键技术。

相关概念

← 所有术语
← 学习率调度 对齐 →