简介
语言监督下的多模态对比学习代表了现代机器学习领域的范式转变。通过在大规模网络数据集上进行预训练,多模态对比学习能够学习到表现出令人印象深刻的鲁棒性和可迁移性的高质量表示。尽管它在经验上取得了显著成功,但对其背后的理论理解仍处于起步阶段,尤其是与单模态对比学习的比较研究。
在这项工作中,我们引入了一个特征学习理论框架,为理解多模态和单模态对比学习之间的差异提供了坚实的理论基础。基于由信号和噪声组成的数据生成模型,我们对使用 InfoMax 目标函数训练的 ReLU 网络进行了深入分析。通过基于轨迹的优化分析和对下游任务的泛化表征,我们确定了影响多模态和单模态对比学习在下游任务中泛化性的关键因素,即信噪比(SNR)。通过两种模态之间的协作,多模态学习可以实现更好的特征学习,从而导致下游任务的性能优于单模态学习。本文提供了一个统一的框架,可以描述单模态和多模态对比学习的优化和泛化过程。在合成数据集和真实数据集上进行的经验实验进一步巩固了理论成果。
研究动机
尽管多模态对比学习取得了前所未有的成功,但导致更高性能的基本机制,特别是与单模态对比学习相比,仍然尚未得到充分探索。最近,一些开创性的著作为单模态或多模态对比学习提供了理论解释。例如,通过分析其特征学习过程,研究了单模态对比学习如何学习神经网络的特征表示。至于多模态对比学习,相关文献解释了为什么多模态对比学习比监督学习表现出零样本可迁移性和对分布变化的鲁棒性,这提供了有价值的见解。
尽管现有的两方面工作都在各自的背景下提供了有效的理论见解,但很少有工作在统一的框架下比较两种类型的对比学习的优化和泛化。这促使我们为单模态和多模态对比学习建立系统的特征学习分析。
特别是,考虑一个包含两种数据模态的数据生成模型,这些数据模态是根据信号和噪声特征生成的。信号特征在不同模态中具有相关性,而噪声特征在模态间不存在相关性。我们研究了梯度下降训练下单模态和多模态对比学习的优化过程。通过研究信号学习和噪声记忆的轨迹,建立了收敛条件并进一步表征了下游任务的泛化能力。结果表明,通过模态之间的合作,多模态对比学习可以在下游任务中实现更好的泛化。相反,如果没有第二种模态的帮助,单模态对比学习集中于从数据中学习噪声,因此对下游任务的概括性较差。
论文贡献
这项工作为非凸设置下梯度下降训练下的单模态和多模态对比学习建立了第一个系统的比较优化分析。证明了通过克服非凸困难,单模态和多模态都可以在多项式迭代后在 InfoMax 对比损失下实现接近于零的训练误差。
通过对来自数据的 ReLU 网络的信号学习和噪声记忆进行基于轨迹的分析,成功地描述了单模态和多模态对比学习之间的泛化差异。不同模态的不同信噪比导致两个对比学习框架下游任务的泛化存在差异。
文中理论表明,多模态相对于单模态对比学习的优势来自于第二种模态的高质量以及两种模态通过对比学习进行的合作。这种分歧最终体现在特征学习的差异以及下游任务泛化的最终差距上。
方法
单模态对比学习
我们使用带有 ReLU 激活的单层神经网络作为编码器,其中 m 是神经元的数量,代表嵌入维度。更准确地说,网络结构定义如下:
![网络结构图]
令 σ 对于输入,并且 σ(·) 是 ReLU 激活函数。采用高斯初始化权重,其中 σ² 作为强度。
给定一对正数据样本,对比损失函数基于相似性度量,定义为两个样本 x 的表示之间的内积:
![损失函数公式]
其中 [stop_gradient] 是停止梯度操作,它受到最近的实证工作和研究对比学习的理论工作的启发。这里将正样本定义为:
![正样本定义]
特别是,考虑了信号保持不变而噪声向量因添加的独立噪声而被破坏的增强形式。文中考虑对比损失如下:
![对比损失公式]
文中使用梯度下降来优化对比学习损失,从而导致梯度更新:
![梯度更新公式]
其中,我们将 η 表示为学习率,并将损失导数定义为:
![损失导数公式]
直观上,当正对之间的相似度较高,而负时间之间的相似度较低时,我们可以看到梯度趋近于零,因为正样本内积大且负样本内积小。因此,梯度下降接近于零,表明结果接近收敛。此外,权重的演化方向由信号向量 μ 和噪声向量组成,其中两者共同作用。
多模态对比学习
我们使用两个神经网络 f₁ 和 f₂ 分别编码两个输入模态 x₁ 和 x₂。两个神经网络都使用 ReLU 激活函数。更准确地说:
![网络结构 1] ![网络结构 2]
令 w₁ 和 w₂ 为权重。这里 σ(·) 是 ReLU 激活函数,w₁ᵣ 和 w₂ᵣ 对于 r ∈ [m] 是两个网络中的权重。给定嵌入,两种模态的相似度函数定义为:
![相似度函数]
上面定义的两个相似度函数以模态为中心,并应用停止梯度操作。对比多模态学习的目标函数可以表示为:
![多模态目标函数]
与单模态学习相同,其目标函数由基本对比损失控制。多模态对比学习的目标函数采用 1 个正对和 M 个负对。此外,我们要求负对不共享相同的标签。为了优化多模态学习的目标函数,应用梯度下降同时训练两个编码器。第一模态网络的梯度下降规则由以下表达式控制:
![多模态梯度公式]
这里稍微滥用了符号,文中使用 ∇₁L 和 ∇₂L 来表示两种模态的损失导数。与信号模态学习相比,多模态学习的主要区别在于相应的嵌入来自另一种模态。可以类似地导出第二模态的梯度更新。


