ITC(Image-Text Contrastive)loss和ITM(Image-Text Matching)loss是多模态学习中常用的两种损失函数,它们在图文模型中扮演着重要的角色。
-
ITC Loss(Image-Text Contrastive Loss):
- ITC Loss 的全称是 Image-Text Contrastive Loss,它的目标是在融合之前学习更好的单模态(unimodal)表示。这种损失函数通过学习预测正确的图像-文本对来学习表示。给定一个批次的N个样本,ITC Loss 旨在在N×N种可能的配置中匹配正确的图像-文本对。它最大化了N个正确对之间的余弦相似度,并在N^2−N个不正确的对中最小化它。
- ITC Loss 的计算涉及到动量编码器(momentum encoders),它通过结合过去更新中积累的知识,帮助稳定和提高学习表示的质量。
- ITC Loss 的具体计算方式涉及到softmax归一化的图像到文本和文本到图像的相似度,以及交叉熵损失。
-
ITM Loss(Image-Text Matching Loss):
- ITM Loss 的目标是正确预测图像和文本对是否匹配。它使用多模态编码器输出的[CLS] token的嵌入作为图像-文本对的联合表示,并通过一个全连接层和softmax函数来预测一个二分类的概率。ITM Loss 通过交叉熵损失计算,以区分正样本和负样本对。
- ITM Loss 涉及到难例挖掘(hard negatives mining),即在批次内的负样本对过于简单时,通过ITC Loss 计算得到的各样本间的余弦相似度,取除正样本外相似度最高的作为“hard negatives”。
这两种损失函数在多模态学习中非常重要,它们帮助模型学习如何将图像和文本的特征有效地对齐和匹配,以实现更好的多模态理解和生成。