当前位置: 首页 > article >正文

论文速读|SigLIP:Sigmoid Loss for Language Image Pre-Training.ICCV23

论文地址:https://arxiv.org/abs/2303.15343v4
代码地址:https://github.com/google-research/big_vision
bib引用:

@misc{zhai2023sigmoidlosslanguageimage,
      title={Sigmoid Loss for Language Image Pre-Training}, 
      author={Xiaohua Zhai and Basil Mustafa and Alexander Kolesnikov and Lucas Beyer},
      year={2023},
      eprint={2303.15343},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2303.15343}, 
}

InShort

提出用于语言 - 图像预训练的Sigmoid损失函数(SigLIP),该函数相比传统Softmax损失函数,在内存效率、训练效率和小批量训练性能上具有优势。研究发现32k的批量大小在对比学习中接近最优,为语言 - 图像预训练研究提供了新方向。

  1. 研究背景:基于网络图像 - 文本对的对比预训练成为获取通用计算机视觉骨干网络的常用方法,标准做法是使用基于softmax的对比损失。本文提出用sigmoid损失替代,其计算更简单、内存效率更高,还能解耦批量大小与任务定义。
  2. 相关工作
    • 对比学习中的sigmoid损失:此前有工作在无监督降维任务中提出类似sigmoid损失,但在对比图像 - 文本学习中,多数工作依赖基于softmax的InfoNCE损失。在监督分类中,sigmoid损失比softmax损失更有效、更稳健。
    • 对比语言 - 图像预训练:CLIP和ALIGN应用softmax对比学习,使对比语言 - 图像预训练受到关注,后续研究将其应用于多种任务。此外,还有生成式语言 - 图像预训练等多种方法。
    • 高效语言 - 图像预训练:LiT、FLIP等尝试提高预训练效率,但各有局限,如LiT需预训练骨干网络,FLIP牺牲质量。BASIC和LAION虽扩大批量大小,但也存在不足。
  3. 方法
    • Softmax损失:通过对图像和文本嵌入进行归一化,最小化匹配对和不匹配对之间的差异,公式为 − 1 2 ∣ B ∣ ∑ i = 1 ∣ B ∣ ( l o g e t x i ⋅ y i ∑ j = 1 ∣ B ∣ e t x i ⋅ y j ⏞ i m a g e → t e x t s o t h a t + l o g e t x i ⋅ y i ∑ j = 1 ∣ B ∣ e t x j ⋅ y i ⏞ t e x t → i m a g e s o f t m a x ) -\frac{1}{2|\mathcal{B}|} \sum_{i=1}^{|\mathcal{B}|}(\overbrace{log \frac{e^{t x_{i} \cdot y_{i}}}{\sum_{j=1}^{|\mathcal{B}|} e^{t x_{i} \cdot y_{j}}}}^{image \to text sothat }+\overbrace{log \frac{e^{t x_{i} \cdot y_{i}}}{\sum_{j=1}^{|\mathcal{B}|} e^{t x_{j} \cdot y_{i}}}}^{text \to image softmax }) 2∣B1i=1B(logj=1Betxiyjetxiyi imagetextsothat+logj=1Betxjyietxiyi textimagesoftmax)
    • Sigmoid损失:将学习问题转化为标准的二元分类,对每个图像 - 文本对独立处理,公式为 − 1 ∣ B ∣ ∑ i = 1 ∣ B ∣ ∑ j = 1 ∣ B ∣ l o g 1 1 + e z i j ( − t x i ⋅ y j + b ) ⏟ L i j -\frac{1}{|\mathcal{B}|} \sum_{i=1}^{|\mathcal{B}|} \sum_{j=1}^{|\mathcal{B}|} \underbrace{log \frac{1}{1+e^{z_{i j}\left(-t x_{i} \cdot y_{j}+b\right)}}}_{\mathcal{L}_{i j}} B1i=1Bj=1BLij log1+ezij(txiyj+b)1 ,并引入可学习偏差项b缓解正负样本不平衡问题。
    • 高效“分块”实现:sigmoid损失采用分块计算方式,降低内存成本,提高计算效率,使大批量训练更可行。
  4. 实验结果
    • SigLiT:在小批量(小于16k)训练时,sigmoid损失显著优于softmax损失;批量增大时,两者差距缩小。SigLiT在4个TPUv4芯片上训练1天,ImageNet零样本准确率可达79.7%;用ViT - g/14模型训练2天,准确率可提升至84.5%。
    • SigLIP:在小于32k批量下,SigLIP性能优于CLIP(WebLI)基线。SigLIP在16个TPUv4芯片上训练3天,零样本准确率可达71%;从 scratch训练时,32个TPUv4芯片训练2天,准确率为72.1% ,训练成本显著低于CLIP。
    • mSigLIP:多语言预训练中,32k批量已足够,更大批量会降低性能。mSigLIP在XM3600跨模态检索任务上达到新的最先进水平,Base模型的图像检索召回率@1为42.6%,文本检索召回率@1为54.1%。
    • 其他实验:研究发现减小Adam和AdaFactor中的β2可稳定大批量训练;sigmoid损失中的正负样本比例不平衡问题影响不大,但有效挖掘负样本可能有益;引入偏差项可提升性能;SigLIP对标签噪声更具鲁棒性。
  5. 研究结论:sigmoid损失在小批量训练时性能优于softmax损失,内存效率更高,32k批量接近最优。研究为有限资源下的语言 - 图像预训练提供了参考,推动该领域进一步发展。

http://www.kler.cn/a/517825.html

相关文章:

  • 机器学习周报-文献阅读
  • MongoDB 备份与恢复综述
  • vue3 vue2区别
  • 【Flask】在Flask应用中使用Flask-Limiter进行简单CC攻击防御
  • 【Nginx】【SSE】【WebSocket】Nginx配置SSE,WebSocket的转发请求
  • Angular 2 表单深度解析
  • 【最详细】通过anaconda安装mxnet
  • 【开源免费】基于SpringBoot+Vue.JS贸易行业crm系统(JAVA毕业设计)
  • 2025年美赛F题 网络强大?
  • 【JVM】GC
  • 模型评估:从理论排名到实践价值的转变
  • 基于springboot+vue的医疗设备管理系统
  • 生活服务发起“春节京味不打烊”活动,助力商家新春生意增长
  • 代码审计初识
  • 智能安全策略-DPL
  • 美颜技术开发实战:美颜滤镜SDK的性能优化与兼容性解决方案
  • atheris从安装到fuzz输入输出解读
  • 六、CSS预处理器
  • Poseidon哈希为什么适合做ZKP
  • ssh调试:fatal: Could not read from remote repository.
  • vscode 前端常用插件安装大全
  • 自动控制原理二阶系统瞬态响应和稳定性实验研究报告
  • 本地部署大模型实现OCR识别
  • 细说Python操作之正则表达式
  • Elasticsearch——Elasticsearch实现原理解析
  • vue2在线生成二维码