对比学习新方法提升数据表示效果

本文介绍两种创新的对比学习方法:通过新损失函数降低内存需求并提升表示效果,以及多模态数据表示的新型几何约束方法,在图像分类和跨模态检索任务中显著优于现有技术。

新对比学习方法实现更优数据表示

近期人工智能的许多进展源于表示学习:机器学习模型学习将数据项表示为多维空间中的向量,其中向量间的几何关系对应项目间的语义关系。某中心M5团队致力于构建与某中心商店相关数据的通用语义表示(包括产品描述、查询、评论等),供整个机构的机器学习系统使用。该方法利用每个实体所有可访问数据,通常跨越多种模态。

生成通用表示最成功的方法之一是对比学习,其中模型在输入对上进行训练,这些输入对可以是正例(相似输入/产品)或负例(不相似输入/产品)。模型学习将正例拉近并将负例推远。

在最近的两篇论文中,M5研究人员对对比学习的理论和实践做出了重要贡献。在2022年神经信息处理系统会议(NeurIPS)上发表的《为什么对比学习需要大批量?梯度偏差视角》中,提出了新的对比学习损失函数,使模型能够以更低内存成本和更少训练数据收敛到有用表示。在今年计算机视觉与模式识别会议(CVPR)上发表的《多模态表示学习中的潜在模态结构理解与构建》中,提出了对同一数据项不同模态(如图像和文本)表示的几何约束,比简单将两种表示解析到表示空间中同一点对下游任务更有用。

对比学习是否需要大批量?

与标准机器学习方法相比,对比学习通常需要非常大批量才能获得良好性能:例如一些流行模型需要数万个训练样本,显著增加内存开销;减少批量大小可能会损害性能。在NeurIPS论文中尝试理解这一现象并提出缓解技术。

对比学习的部分吸引力在于它是无监督的,不需要数据标注。正例对可以通过数学变换"锚样本"并将变换版本与原始版本配对生成;负例对可以通过将锚样本与其他锚样本的变换版本配对生成。对于图像数据,变换可能涉及重新裁剪、反转或扭曲锚样本颜色;对于文本数据,变换可能涉及用同义词替换句子中的单词。

给定表示空间中向量间相似性度量,对比学习的标准损失函数涉及一个比率,其分子包含锚样本与其某个变换之间的相似性;分母包含锚样本与所有可能负样本相似性之和。训练目标是最大化该比率。

原则上,给定对负样本应用变换的可能性,“所有可能负样本"可以描述无限集。实践中,对比学习通常仅依赖训练批次中可用的负例。因此需要大批量——以近似无限和。

如果小批量样本分布与可能负例分布不同,这种近似会使模型产生偏差。纠正偏差的一个困难是,由于损失函数在一个比率中同时对比每个正例对与所有可能负例,它不能分解为子损失之和。

使用贝叶斯增强解决可分解性问题。通用方法是为每个锚样本创建随机辅助变量,可视为应用于锚样本相似性得分的权重。利用伽马函数下的恒等式,可以证明辅助变量遵循易于采样的伽马分布。因此,可以将损失重写为指数形式而非分数形式,使其可分解。

训练期间,首先从伽马分布中为当前数据批次采样辅助变量,得到所有锚样本相似性得分的权重。以采样值为条件,然后应用最大似然估计优化模型参数,这将考虑第一步中相似性得分的采样权重。然后对整个数据集重复此过程,对一系列(加权)子损失求和以产生累积损失。论文中证明该过程将收敛到原始对比损失函数的期望损失,其分母中包含无限和。

通过大量实验评估该方法。在一个实验中,使用模拟数据并注入噪声以模拟偏差。然后使用新损失和传统损失函数以不同初始值训练模型10次。在高噪声水平下,使用传统损失训练的模型未能收敛,而新方法始终收敛到最优值。

还在各种下游任务上评估模型,包括零样本/少样本图像分类和图像/文本检索。新方法相比最先进基线方法显示出显著性能提升。

多模态表示匹配的最佳几何结构是什么?

在M5中,正在构建可处理多模态数据的可扩展模型——例如在不同语言产品描述间翻译的多语言模型,或联合建模同一产品不同图像的多实体模型。对比学习是构建此类模型的有前途方法:与相同产品相关的不同模态数据可视为正例对,对比学习将它们拉近在表示空间中。

理论上研究了标准对比学习框架在下游任务预测错误率方面是否最优,令人惊讶的答案是否定的。在CVPR论文中证明,如果两种模态间信息差距很大——即无法从一种模态推断出另一种模态的太多信息——那么使用标准对比学习表示所能达到的最佳预测错误率大于直接在单模态数据上训练机器学习模型所能达到的错误率。

这有些直观意义。理想情况下,对比学习会将不同模态拉得如此紧密,以至于它们基本上解析到表示空间中的单个点。但当然,对下游任务使用多模态表示的原因是每种模态可能捕获其他模态未捕获的有用信息。将不同模态表示折叠在一起会抵消这一优势。

因此,在CVPR论文中探索了表示空间中不同的几何关系,这些关系可以在不牺牲每种模态特定信息的情况下建立多模态数据间的相关性。提出了三种在表示空间中构建模态结构的通用方法,适用于模态内表示、模态间表示以及两者组合:

  • 用于模态内正则化的深度特征分离损失,使用两种神经网络组件分离不同模态信息:一个组件捕获模态间共享信息(根据标准对比学习损失调整),另一个与第一个正交的组件捕获模态特定信息;
  • 用于模态间正则化的"布朗桥"损失,使用布朗运动绘制一种模态(如文本)与另一种模态(如图像)表示间的若干轨迹/过渡,并约束增强数据的表示沿这些路径之一放置;
  • 用于模态内和模态间正则化的几何一致性损失,强制实施一种模态中表示与相应另一种模态表示间几何关系的对称性,同时强制实施跨模态几何关系的对称性。

在两个流行的多模态表示学习框架(基于CLIP的双塔模型和基于ALBEF的融合模型)上进行了广泛实验。在各种任务上测试模型,包括零样本/少样本图像分类、图像-文本检索、视觉问答、视觉推理和视觉蕴含。新方法相比现有方法实现一致改进,证明了所提方法在多模态表示学习上的有效性和泛化性。

未来展望

NeurIPS和CVPR论文仅代表M5团队两个有趣项目。M5正在进行更多多模态学习研究,包括图像、视频和文本生成模型(如Stable Diffusion、DreamBooth)以实现数据合成和表示学习,以及训练和应用大语言模型以增强客户购物体验。预计在不久的将来报告更多研究亮点。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计