什么是对比学习?AI 如何学会“谁和谁更相似”

对比学习是什么?它如何拉近相似样本、推远不相似样本,为什么 Embedding、图文检索和推荐系统都依赖这类训练方法,一文讲清。

什么是对比学习?AI 如何学会“谁和谁更相似”
编辑部 ·

要让 AI 知道“这句话和哪段资料意思最接近”,只教它分类标签往往不够。**对比学习(Contrastive Learning)**用另一种方式训练:把相似的样本拉近,把不相似的样本推远,让数据在向量空间中形成有意义的距离。

一个直观例子

“如何取消订单”和“退款流程是什么”应靠得近;“今天天气怎样”应离它们很远。训练时,模型看到一个问题、一段匹配资料和多段不匹配资料,会学习让前两者的向量更接近。

这正是 Embedding能用于语义检索的原因:向量不是随意的数字,而是经过“相似拉近、不同推远”的训练得到的坐标。

哪些场景在用它

  • 文本、图片、音频的相似度检索
  • RAG 知识库召回
  • 图文匹配与跨模态搜索
  • 推荐系统中的用户和内容匹配
  • 去重、聚类和异常发现

难点是“负样本”

太容易区分的负样本对训练帮助很小;太接近但实际不匹配的“困难负样本”更有价值,也更容易让模型学到细微差别。数据标注错误、同义句被当作负样本,都会破坏向量质量。

总结

对比学习不直接教模型一个唯一答案,而是教它建立“相似度地图”。它让 Embedding 能表示语义距离,支撑了检索、推荐与多模态匹配。理解这层,就能明白为什么 RAG 的好坏首先取决于“资料离问题够不够近”。