Community 计算机视觉课程文档

损失

Hugging Face's logo
加入 Hugging Face 社区

并获取增强的文档体验

开始使用

损失

导论

在深入研究用于训练像 CLIP 这样的模型的不同损失之前,重要的是要清楚地了解什么是对比学习。对比学习是一种旨在进行表征学习的无监督深度学习方法。 它的目标是开发一种数据表征,其中相似的项目在表征空间中紧密定位,而不同的项目则明显分离。

在下面的图片中,我们有一个例子,我们希望保持狗的表征与其他狗更接近,但也要远离猫。图像信息

训练目标

对比损失

对比损失是用于对比学习的第一个训练目标之一。它将一对样本作为输入,这些样本可以是相似的或不相似的,目标是将相似的样本映射到嵌入空间中接近的位置,并将不相似的样本推开。

从技术上讲,假设我们有一个输入样本列表xnx_n来自多个类别。我们想要一个函数,其中来自同一类别的示例在嵌入空间中具有接近的嵌入,而来自不同类别的示例则彼此远离。 将此转换为数学方程式,我们得到的是L=1[yi=yj]xixj2+1[yiyj]max(0,ϵxixj2)L = \mathbb{1}[y_i = y_j]||x_i - x_j||^2 + \mathbb{1}[y_i \neq y_j]max(0, \epsilon - ||x_i - x_j||^2)

用简单的术语解释

  • 如果样本相似yi=yjy_i = y_j,那么我们最小化项xixj2||x_i - x_j||^2这对应于它们的欧几里得距离,即,我们希望使它们更接近;
  • 如果样本不相似(yiyj)(y_i \neq y_j),那么我们最小化项max(0,ϵxixj2) max(0, \epsilon - ||x_i - x_j||^2)这等效于最大化它们的欧几里得距离,直到某个限制ϵ\epsilon,即,我们希望使它们彼此远离。

参考文献

< > 在 GitHub 上更新