社区计算机视觉课程文档

损失函数

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 上更新