互信息和InfoNCE的关系

简单来说,InfoNCE 是互信息的一个可计算的下界估计器。通过优化 InfoNCE 损失,我们实际上是在最大化互信息的一个紧下界。

1. 互信息

互信息衡量的是两个随机变量X和Y之间 "知道其中一个变量,能获得关于另一个变量的信息量"。它表示变量间依赖性的强度。

公式: I(X; Y) = H(X) - H(X|Y) = H(Y) - H(Y|X)

其中,H是熵,H(|)是条件熵。

  • 直观理解:如果 X 和 Y 独立,则 I(X; Y) = 0。它们之间相关性越强,互信息值越大
  • 核心挑战:在高维连续空间中,真实的互信息 I(X; Y) 通常难以直接计算,因为我们不知道真实的联合分布 p(x, y) 和边缘分布 p(x)p(y)。

2. InfoNCE

InfoNCE 是一种基于对比学习的损失函数,全称是 Information Noise-Contrastive Estimation。

  • 场景:给定一个查询样本x,一个与之匹配的"正样本y+(来自联合分布 p(x, y)),以及 N-1 个"负样本y-(通常从边缘分布 p(y) 中独立采样)。目标是学会一个打分函数(通常是一个神经网络)f(x, y),使得正样本对的得分远高于负样本对的得分。
  • 公式:L_InfoNCE = - E log( f(x, y+) / (f(x, y+) + Σ_{i=1}\^{N-1} f(x, y_i-)) ) ,其中打分函数通常表示为f(x, y) = exp(sim(z_x, z_y) / τ),sim是相似度函数(如余弦相似度),τ是温度系数。
  • 直观理解:这本质上是N分类问题的交叉熵损失,任务是识别出 N 个候选(1个正例,N-1个负例)中哪个是真正的正例。最小化这个损失,就是提高模型识别正样本的能力。

3. 核心关系

InfoNCE 是互信息的下界。这是由 Aaron van den Oord 等人在 2018 年提出 CPC 的论文中证明的。

4. 关键点解读

  • 下界"意味着什么? 我们无法直接计算真正的I(X; Y),但我们可以计算 I_NCE,并且知道真正的互信息至少有这么大。通过优化(减小)L_InfoNCE,我们就在提高这个下界 I_NCE,从而间接地最大化真正的互信息I(X; Y)。
  • N 的影响:下界的紧致性(即I_NCE接近真实I(X; Y)的程度)与负样本数量N有关。N越大,这个下界越紧,I_NCE越接近真实的互信息。当N → ∞时,I_NCE趋近于真实的互信息。
  • 与其他下界的关系:InfoNCE 属于DV(Donsker-Varadhan)表示或f-divergence族互信息下界的一个特例(具体是使用多元分类交叉熵推导出的下界)。另一个著名的下界是 MINE,它使用了 DV 表示的直接形式。

5. 在机器学习中的应用

在自监督学习和对比学习中,这个关系至关重要:

  • 目标:学习一个好的数据表示。
  • 方法:例如,对于图像x,我们通过数据增强创建两个视图v1和v2。我们将 (v1, v2)视为正样本对(来自 p(v1, v2)),将 (v1, v_i)(v_i是其他图像的视图)视为负样本对。
  • 原理:通过最小化 InfoNCE 损失,我们实际上是在最大化 v1 和 v2 这两个视图之间的互信息。这意味着,我们学到的表示会捕捉到这两个视图之间共有的、本质的信息(即图像的内容),而忽略掉无关的噪声(如随机的增强变换)。这正是学习到有效表征的原因。

6 总结

因此,InfoNCE 为互信息这个强大但难以处理的理论概念,提供了一个非常实用且高效的桥梁,使其成为现代表示学习中最核心的损失函数之一。

相关推荐
火山引擎开发者社区7 小时前
TLS for DeepSeek Harness 可观测实践:从系统总览到会话复盘
人工智能
数字融合9 小时前
透明化地铁线视频孪生综合监控项目技术
大数据·人工智能·virtualenv
鼎艺创新科技9 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
十三画者10 小时前
【文献分享】ConfRetro:融合3D构象信息的逆合成预测Transformer框架
人工智能·深度学习·数据挖掘·数据分析·transformer·数据可视化
前沿在线10 小时前
百度文心助手推出任务引擎 2.0,日活用户同比增长 83%,日均对话轮次增长超 2 倍
人工智能·ai·大模型
zandy101110 小时前
AI办公工具选哪个?千问办公、百度搭子、WorkBuddy三款高阶智能体深度拆解
人工智能·ai办公工具
mengpp_12345610 小时前
AIoT平台 vs 普通IoT平台 核心区别
人工智能
canonical_entropy10 小时前
可逆不是逆向运行:DeepSeek Harness 架构的数学本质
人工智能·架构·agent
别动我齐刘海10 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
冬奇Lab11 小时前
Code Agent 解剖(05):模型怎么知道有哪些工具可以用?Function Calling 如何实现?
人工智能·开源·agent