PaperLink: https://arxiv.org/pdf/2303.15343
code: https://github.com/mlfoundations/open_clip/blob/main/src/open_clip/loss.py
参考: https://zhuanlan.zhihu.com/p/709572492
概要
CLIP面临的挑战
1.需要较大的batch,即需要大量的GPU;
2.图像和文本的特征需要gather所有GPU上的,需考虑GPU之前的大量通信
提出SigLip(使用sigmoid计算loss,替换之前的softmax函数),减少clip对batch大小的要求。
技术细节
- ClipLoss
1)非对称loss,由文本–图像的softmax+图像到文本的softmax两项组成,
2)以image–>text softmax计算为例,分子中的每个正样本对(xi, yi),都会被分母中的所有负样本(xi,yj)对进行全局归一化。每个GPU需要维护一个N*N的成对相似性矩阵(导致二次复杂)
t为温度超参,控制softmax输出的锐度/平滑度
softmax: