CE、NCE、InfoNCE的演变过程

CE、NCE、InfoNCE的演变过程及数学推导和关系

在机器学习和深度学习中,交叉熵(CECECE)、噪声对比估计(NCENCENCE)和信息噪声对比估计(InfoNCEInfoNCEInfoNCE)是三个紧密相关的损失函数,逐步演变以解决不同场景下的问题。以下是它们的演变过程、数学推导及关系分析。


1. 交叉熵(Cross-Entropy, CE)

背景

CECECE是分类任务的基础损失函数,衡量模型预测分布qqq与真实分布ppp的差异。

数学形式

对于真实标签的独热编码分布ppp和模型预测分布qqq,交叉熵定义为:
CE(p,q)=−∑ipilog⁡qi \text{CE}(p, q) = -\sum_{i} p_i \log q_i CE(p,q)=ipilogqi

在分类任务中(ppp是单点分布),简化为:
CE=−log⁡qy \text{CE} = -\log q_y CE=logqy
其中qyq_yqy是模型对真实类别yyy的预测概率。

应用

用于监督学习,直接优化模型输出与标签的匹配度。


2. 噪声对比估计(Noise-Contrastive Estimation, NCE)

背景

当模型输出未归一化(如语言模型中的logits)时,计算softmax的分母(配分函数)代价高昂。NCENCENCE通过将概率密度估计转化为二分类问题,避免显式计算归一化项。

核心思想

  • 将真实数据样本(分布pd(x)p_d(x)pd(x))与噪声样本(分布pn(x)p_n(x)pn(x))对比
  • 模型学习密度比pd(x)pn(x)\frac{p_d(x)}{p_n(x)}pn(x)pd(x)

数学推导

定义样本来自数据分布的概率:
p(data=1∣x)=pd(x)pd(x)+kpn(x) p(\text{data}=1 | x) = \frac{p_d(x)}{p_d(x) + k p_n(x)} p(data=1∣x)=pd(x)+kpn(x)pd(x)
其中kkk是噪声样本比例。损失函数为二元交叉熵:
LNCE=−Ex∼pd[log⁡pd(x)pd(x)+kpn(x)]−kEx∼pn[log⁡kpn(x)pd(x)+kpn(x)] \mathcal{L}_{\text{NCE}} = -\mathbb{E}_{x \sim p_d} \left[ \log \frac{p_d(x)}{p_d(x) + k p_n(x)} \right] - k \mathbb{E}_{x \sim p_n} \left[ \log \frac{k p_n(x)}{p_d(x) + k p_n(x)} \right] LNCE=Expd[logpd(x)+kpn(x)pd(x)]kExpn[logpd(x)+kpn(x)kpn(x)]

应用

用于无监督学习(如语言模型),避免计算softmax分母。


3. 信息噪声对比估计(InfoNCE)

背景

在对比学习中,需要最大化同一数据不同视角的互信息I(q;k+)I(q; k^+)I(q;k+)InfoNCEInfoNCEInfoNCENCENCENCE扩展到多负样本场景。

核心思想

  • 对查询qqq,构造正样本k+k^+k+和负样本{k−}\{k^-\}{k}
  • 目标:最大化exp⁡(q⋅k+/τ)∑exp⁡(q⋅k/τ)\frac{\exp(q \cdot k^+/ \tau)}{\sum \exp(q \cdot k/ \tau)}exp(qk/τ)exp(qk+/τ)

数学推导

损失函数形式:
LInfoNCE=−E[log⁡exp⁡(q⋅k+/τ)exp⁡(q⋅k+/τ)+∑k−exp⁡(q⋅k−/τ)] \mathcal{L}_{\text{InfoNCE}} = -\mathbb{E} \left[ \log \frac{\exp(q \cdot k^+ / \tau)}{\exp(q \cdot k^+ / \tau) + \sum_{k^-} \exp(q \cdot k^- / \tau)} \right] LInfoNCE=E[logexp(qk+/τ)+kexp(qk/τ)exp(qk+/τ)]
其中τ\tauτ是温度系数。

理论意义

InfoNCEInfoNCEInfoNCE是互信息的下界:
I(q;k+)≥log⁡N−LInfoNCE I(q; k^+) \geq \log N - \mathcal{L}_{\text{InfoNCE}} I(q;k+)logNLInfoNCE
NNN为负样本数+1。


三者关系总结

方法目标数学形式关键改进
CECECE监督分类−log⁡exp⁡(sy)∑iexp⁡(si)-\log \frac{\exp(s_y)}{\sum_{i} \exp(s_i)}logiexp(si)exp(sy)直接概率匹配
NCENCENCE无监督密度估计−log⁡pd(x)pd(x)+kpn(x)−klog⁡kpn(x)pd(x)+kpn(x)-\log \frac{p_d(x)}{p_d(x)+k p_n(x)} - k \log \frac{k p_n(x)}{p_d(x)+k p_n(x)}logpd(x)+kpn(x)pd(x)klogpd(x)+kpn(x)kpn(x)二分类替代配分函数计算
InfoNCEInfoNCEInfoNCE对比学习/互信息最大化−log⁡exp⁡(q⋅k+/τ)∑exp⁡(q⋅k/τ)-\log \frac{\exp(q \cdot k^+/ \tau)}{\sum \exp(q \cdot k/ \tau)}logexp(qk/τ)exp(qk+/τ)多负样本扩展

演变逻辑

  1. CECECENCENCENCE的演进
    针对高维输出空间中softmax归一化分母计算复杂度O(∣V∣)O(|V|)O(V)过高的问题(其中∣V∣|V|V为类别数),NCENCENCE通过引入噪声对比的范式转变,将原始的多类概率估计问题重构为判别二分类问题。具体而言:

    • 构建噪声分布pn(x)p_n(x)pn(x)与数据分布pd(x)p_d(x)pd(x)的对抗框架
    • 通过调节噪声样本比例kkk控制计算复杂度,实现计算效率从O(∣V∣)O(|V|)O(V)O(k)O(k)O(k)的优化
    • 保持概率密度比pd(x)pn(x)\frac{p_d(x)}{p_n(x)}pn(x)pd(x)的渐进一致性
  2. NCENCENCEInfoNCEInfoNCEInfoNCE的演进
    基于表示学习的需求,InfoNCEInfoNCEInfoNCENCENCENCE的基础上进行了三个关键改进:

    • 样本构造:从显式噪声分布采样转为隐式负样本挖掘(N−1N-1N1个负例)
    • 目标函数:从二元logistic损失扩展为基于温度系数τ\tauτ的多类softmax交叉熵
    • 理论保障:建立与互信息I(q;k+)I(q;k^+)I(q;k+)的显式关联,满足lim⁡N→∞I(q;k+)≥log⁡N−LInfoNCE\lim_{N \to \infty} I(q;k^+) \geq \log N - \mathcal{L}_{\text{InfoNCE}}limNI(q;k+)logNLInfoNCE

总结

  • CECECE:监督学习的基础损失
  • NCENCENCE:通过噪声对比避免配分函数计算
  • InfoNCEInfoNCEInfoNCE:成为对比学习的核心损失函数

三者的演变体现了从直接概率匹配到隐式表示学习的范式转变,核心是通过设计更高效的损失函数解决实际计算难题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值