度量学习(Metric Learning)一句话:不直接教模型“这是什么类”,而是教它“谁和谁像”,学出一个能计算距离的表示空间。
具体做法是先把图片、文本或人脸变成向量(embedding),再训练模型:相似样本的向量尽量靠近,不相似样本的向量尽量拉远。常用“三元组”(triplet)思路——拿一个锚点、一个同类的正样本、一个不同类的负样本,拉近锚点与正样本,推远锚点与负样本。打个比方,教人认双胞胎,不是背“这是哥哥、那是弟弟”,而是记住眉眼、脸型、神态的整体组合;下次看到新照片,也能判断“像不像同一个人”。
它和相邻概念的区别可以这样看:
| 概念 | 学什么 | 输出 | 典型用途 |
|---|---|---|---|
| 分类(classification) | 决策边界 | 固定类别标签 | 猫狗分类 |
| 度量学习 | 距离空间 | 可比较的向量 | 人脸验证、检索 |
| 聚类(clustering) | 无监督分组 | 若干簇 | 用户分群、去重 |
分类学习遇到新类别通常要重新训练;度量学习更像“学会比较”,新增人员或商品时,往往只需把新样本注册成向量。聚类不依赖标签直接分组,而度量学习常用监督或自监督信号,把“该近的拉近、该远的推远”。
这也是人脸识别(face recognition)常用它的原因:注册照入库成向量,现场照再算距离,超过阈值才判定为同一人,适合开放集场景。以图搜图、语义搜索、推荐召回和文档去重也一样——查询和库中内容映射到同一空间,取最近邻即可。AI 词典:Embedding">Embedding 训练里常用的对比学习(contrastive learning)和三元组损失,本质上都在塑造这个距离空间。
对从业者来说,重点不只是选距离公式,而是正负样本怎么构造、难例怎么挖、向量是否归一化、阈值怎么校准,以及用召回率、验证准确率等指标评估。对普通人来说,人脸解锁、相册聚类、以图搜图、知识库语义检索背后,往往都有度量学习在默默回答一个问题:这两个东西,到底像不像。
