损失函数
简介
在深入研究用于训练像 CLIP 这样的模型的不同损失函数之前,了解对比学习是什么非常重要。对比学习是一种旨在进行表示学习的无监督深度学习方法。其目标是开发一种数据表示,在该表示空间中,相似的项目彼此靠近,而不同的项目则被明显地分开。
在下图中,我们有一个示例,其中我们希望将来自狗的表示保持靠近其他狗,但也远离猫。
训练目标
对比损失
对比损失是对比学习中使用的第一个训练目标之一。它将一对样本作为输入,这些样本可以是相似的或不相似的,目标是将相似的样本映射到嵌入空间中的接近位置,并将不相似的样本推开。
从技术上讲,假设我们有一个输入样本列表来自多个类别。我们想要一个函数,其中来自同一类别的示例在嵌入空间中具有接近的嵌入,而来自不同类别的示例则相距较远。将此转换为数学方程式,我们得到的是
简单解释
- 如果样本相似,则我们最小化该项对应于它们的欧几里得距离,即我们希望使它们更接近;
- 如果样本不相似,则我们最小化该项 即最大化它们的欧氏距离,直到某个限制,也就是说,我们希望使它们彼此远离。