从上面的推导我们不难总结,NCE和InfoNCE都是采用对噪声样本和真实样本进行判别的思路,以下是几点不同: 在代理任务上,NCE是设计了一个二分类问题,给定样本,需要推断它来自真实样本还是噪声;InfoNCE则是设计了一个多分类问题,推断 k 个样本中哪一个是真实的。 在适用范围上,NCE要求需要提前给定噪声分布 Q(x) ,而...
infonce是nce的一个变体,它认为nce的做法太暴力了,noise sample(或者说负样本)本身很可能不是一个类别,但是nce的做法是给他们都打上了相同的label,这样有可能对于模型的优化过程产生negative的影响,二分类是非常简单直观的常见的建模形式,不过也确实存在标签定义粒度太粗糙的问题,所以工业上常常会出现类似于分群建模的...
理解NCE和InfoNCE的关键在于它们在对比学习中的应用,特别是处理多分类和二分类问题。NCE起源于语言模型中,通过将多分类问题转化为二分类问题,避免了计算复杂且难以处理的归一化参数。它通过最大化与真实分布的相似度,达到优化模型的目标。InfoNCE则从多分类角度出发,通过估计正样本与噪声样本之间的互信息...