社区计算机视觉课程
加入 Hugging Face 社区
并获得增强的文档体验
损失函数
简介
在深入探讨用于训练 CLIP 等模型的各种损失函数之前,重要的是要清楚地理解什么是对比学习。对比学习是一种无监督的深度学习方法,旨在进行表征学习。其目标是开发一种数据表征,其中相似的项目在表征空间中彼此靠近,而不同项目则明显分离。
在下图中,我们有一个例子,我们希望将狗的表征与其他狗的表征保持更近,同时远离猫的表征。
训练目标
对比损失
对比损失是用于对比学习的首批训练目标之一。它以一对样本作为输入,这些样本可以是相似的或不相似的,目标是将相似的样本在嵌入空间中映射得更近,并将不相似的样本推开。
从技术上讲,假设我们有一个输入样本列表xn来自多个类别。我们希望一个函数,使得同一类别的样本在嵌入空间中的嵌入彼此靠近,而不同类别的样本则彼此远离。将其转换为数学方程,我们得到的是L=1[yi=yj]∣∣xi−xj∣∣2+1[yi=yj]max(0,ϵ−∣∣xi−xj∣∣2)
简单来说
- 如果样本相似yi=yj,那么我们最小化项∣∣xi−xj∣∣2,它对应于它们的欧几里得距离,即我们希望它们更接近;
- 如果样本不相似(yi=yj),那么我们最小化项max(0,ϵ−∣∣xi−xj∣∣2)这相当于最大化它们的欧几里得距离,直到某个限制ϵ,即我们希望它们彼此远离。
参考文献
< > 在 GitHub 上更新
© . This site is unofficial and not affiliated with Hugging Face, Inc.