【ACL 2023】面向轻量化文图检索的Dual-Encoder模型蒸馏算法ConaCLIP

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*H 3个月
简介: ConaCLIP针对轻量化的图文检索任务进行设计,是一种通过全连接的知识交互图学习方式将知识从dual-encoder大模型中蒸馏到dual-encoder小模型的算法。

近日,阿里云机器学习平台PAI与华南理工大学金连文教授团队合作在自然语言处理顶级会议ACL 2023上发表面向轻量化文图检索的dual-encoder模型蒸馏算法ConaCLIP( fully-Connected knowledge interaction graph for CLIP)。ConaCLIP针对轻量化的图文检索任务进行设计,是一种通过全连接的知识交互图学习方式将知识从dual-encoder大模型中蒸馏到dual-encoder小模型的算法。


论文:

Jiapeng Wang, Chengyu Wang, Xiaodan Wang, Jun Huang, Lianwen Jin. ConaCLIP: Exploring Distillation of Fully-Connected Knowledge Interaction Graph for Lightweight Text-Image Retrieval. ACL 2023 (Industry Track)

背景

文本-图像检索(Text-Image Retrieval)的目的是在给出一个特定的文本查询时,从一个大型的图像集合中检索出一个最相关的图像列表。随着信息交互和社交场景的快速发展,该任务一直被认为是跨模态应用的一个关键组成部分,并被各种现实世界的场景所需求,如电子商业平台,网站等。

现有的文图检索模型通常可以根据模型架构分为两类:跨流编码器(cross-encoder)和双流编码器(dual-encoder)。跨流编码器通常会添加额外的Transformer层来建模图像和文本特征之间的深度交互关系。这种架构通常可以提高检索性能,然而缺点是当该类模型应用于整个图像集合时,会导致检索速度非常缓慢。因为每当给出一个新的文本查询时,每个图像样本都需要进行跨模态的计算成本。相比之下,双流编码器是以一种完全解耦的方式分别编码视觉和文本输入。该类架构允许图像表示独立于文本查询,而进行预先的计算和重复使用。双流编码器还可以在运行时与快速近似最近邻(Approximate Nearest Neighbors)搜索相结合。

尽管双流编码器通常是现实应用中的首选,但现有的相关模型如CLIP在计算资源有限的边缘设备或动态索引场景如私人照片/消息集合上仍然不太实用。为了解决这个问题,我们的目标是从大规模的预训练双流编码器模型出发,专注于小模型预训练阶段的蒸馏过程,以获得一系列更小、更快、更有效的相应的轻量化模型。知识蒸馏(Knowledge Distillation)最先被提出利用soft targets将知识从教师转移给学生。MoTIS方法简单地重复在文本和图像领域分别进行模态内蒸馏的过程。然而,这些方法都只涉及了模态内的师生知识交互学习。

算法概述

与现有的工作不同,我们的方法引入了全连接知识交互图(fully-Connected knowledge interaction graph)用于预训练阶段的蒸馏。除了模态内教师-学生交互学习之外,我们的方法还包括模态内学生-学生交互学习、模态间教师-学生交互学习和模态间学生-学生交互学习,如下图所示。

1.png

这种为学生网络建立的全连接图可以看做是多视角和多任务的学习方案的集成,以此可以加强预训练模型所需要的稳健性和有效性。同时我们建议,每种类型的学习过程都应该详细地测试各种不同监督策略的效果。因此,我们将在下一节中提出并验证各种监督策略对模型表现的影响。

监督策略方案

这里我们提出了以下这些有效的监督策略:

InfoNCE loss是一种对比损失函数,如下式所示。MoTIS方法已经成功将其应用于预训练蒸馏之中。

2.png

Feature-wise distance (FD) loss旨在直接最小化特征向量之间的距离。这里我们使用平方的L2范数作为度量:

3.png

Similarity-wise distance (SD) loss期望减少相似矩阵之间的距离度量:

4.png

KL-Div loss使用Kullback–Leibler散度来度量预测概率分布和目标概率分布之间的差异,并期望最小化以下这个目标函数:

image.png

值得注意的是,SD loss和KL-Div loss中通常使用两个教师网络的输出作为两个学生网络学习的目标。而我们这里额外尝试了使用如Figure 1中同色成对箭头作为相互学习的目标,我们称之为symmetric(Sym)版本。例如,通常的KL-Div loss实现的模态间师生交互学习可以表示为:

image.png

而我们提出的相应的Sym版本可以表示为:

image.png

这种方式加深了在优化过程中四个编码器之间的交互作用。

监督策略选择

我们旨在通过实验验证各种学习类型和监督策略的结合是否可以带来进一步的性能提升。实验的结果如下表所示:

image.png

我们可以观察到: 1) 通过适当地选择具体的监督策略,每种学习类型都可以在基线的基础上进一步带来明显的改进。2) 每种学习类型的效果都很大程度上受到所实现的损失函数的影响。这也表明,我们应仔细探讨预训练蒸馏过程的监督策略。3)我们提出的Sym版本损失(Sym-SD和Sym-KL-Div)在师生交互学习中通常具有优于标准版本的性能。在基线的基础之上,我们最终的方法将所有有效的结合都进一步进行了集成。

算法精度评测

为了评测ConaCLIP算法的精度,我们在一些常用的文图检索数据集上进行了实验,结果如下:

image.png

结果可以证明,在所有评估指标下,ConaCLIP相比现有的方法和基准模型都有显著的改善。这充分证明了我们方法的有效性。同时我们将所提出的技术应用于阿里巴巴电子商务平台的某个端到端跨模态检索场景。本方法取得的性能指标、模型大小和加速比率如下表所示:

image.png

可以发现我们的方法在基本保证模型性能的同时显著的降低了模型的存储空间并增加了模型的计算效率。为了更好地服务开源社区,ConaCLIP方法即将贡献在自然语言处理算法框架EasyNLP中,欢迎NLP从业人员和研究者使用。

EasyNLP开源框架:https://github.com/alibaba/EasyNLP

参考文献

  • Chengyu Wang, Minghui Qiu, Taolin Zhang, Tingting Liu, Lei Li, Jianing Wang, Ming Wang, Jun Huang, Wei Lin. EasyNLP: A Comprehensive and Easy-to-use Toolkit for Natural Language Processing. EMNLP 2022
  • Alec Radford, Jong Wook Kim, Chris Hallacy, Aditya Ramesh, Gabriel Goh, Sandhini Agarwal, Girish Sastry, Amanda Askell, Pamela Mishkin, Jack Clark, Gretchen Krueger, Ilya Sutskever. Learning Transferable Visual Models From Natural Language Supervision. ICML 2021
  • Geoffrey E. Hinton, Oriol Vinyals, Jeffrey Dean. Distilling the Knowledge in a Neural Network. NeurIPS 2014 Deep Learning Workshop
  • Siyu Ren, Kenny Zhu. Leaner and Faster: Two-stage Model Compression for Lightweight Text-image Retrieval. NAACL-HLT 2022

论文信息

论文标题:ConaCLIP: Exploring Distillation of Fully-Connected Knowledge Interaction Graph for Lightweight Text-Image Retrieval
论文作者:汪嘉鹏、汪诚愚、王小丹、黄俊、金连文

论文PDF链接:https://aclanthology.org/2023.acl-industry.8.pdf


【往期回顾】:

  1. 快速玩转 Llama2!阿里云机器学习 PAI 推出最佳实践
  2. 【ACL 2023】具有高效推理速度的中文领域文图生成扩散模型和工具链
  3. 【ACL2023】基于电商多模态概念知识图谱增强的电商场景图文模型FashionKLIP
相关实践学习
使用PAI-EAS一键部署ChatGLM及LangChain应用
本场景中主要介绍如何使用模型在线服务(PAI-EAS)部署ChatGLM的AI-Web应用以及启动WebUI进行模型推理,并通过LangChain集成自己的业务数据。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
8天前
|
算法 数据挖掘 数据安全/隐私保护
基于CS模型和CV模型的多目标协同滤波跟踪算法matlab仿真
本项目基于CS模型和CV模型的多目标协同滤波跟踪算法,旨在提高复杂场景下多个移动目标的跟踪精度和鲁棒性。通过融合目标间的关系和数据关联性,优化跟踪结果。程序在MATLAB2022A上运行,展示了真实轨迹与滤波轨迹的对比、位置及速度误差均值和均方误差等关键指标。核心代码包括对目标轨迹、速度及误差的详细绘图分析,验证了算法的有效性。该算法结合CS模型的初步聚类和CV模型的投票机制,增强了目标状态估计的准确性,尤其适用于遮挡、重叠和快速运动等复杂场景。
|
6天前
|
存储 人工智能 算法
通过Milvus内置Sparse-BM25算法进行全文检索并将混合检索应用于RAG系统
阿里云向量检索服务Milvus 2.5版本在全文检索、关键词匹配以及混合检索(Hybrid Search)方面实现了显著的增强,在多模态检索、RAG等多场景中检索结果能够兼顾召回率与精确性。本文将详细介绍如何利用 Milvus 2.5 版本实现这些功能,并阐述其在RAG 应用的 Retrieve 阶段的最佳实践。
通过Milvus内置Sparse-BM25算法进行全文检索并将混合检索应用于RAG系统
|
27天前
|
机器学习/深度学习 算法
扩散模型=进化算法!生物学大佬用数学揭示本质
在机器学习与生物学交叉领域,Tufts和Harvard大学研究人员揭示了扩散模型与进化算法的深刻联系。研究表明,扩散模型本质上是一种进化算法,通过逐步去噪生成数据点,类似于进化中的变异和选择机制。这一发现不仅在理论上具有重要意义,还提出了扩散进化方法,能够高效识别多解、处理高维复杂参数空间,并显著减少计算步骤,为图像生成、视频合成及神经网络优化等应用带来广泛潜力。论文地址:https://arxiv.org/pdf/2410.02543。
44 21
|
1月前
|
人工智能 算法 搜索推荐
单纯接入第三方模型就无需算法备案了么?
随着人工智能的发展,企业接入第三方模型提升业务能力的现象日益普遍,但算法备案问题引发诸多讨论。根据相关法规,无论使用自研或第三方模型,只要涉及向中国境内公众提供算法推荐服务,企业均需履行备案义务。这不仅因为服务性质未变,风险依然存在,也符合监管要求。备案内容涵盖模型基本信息、算法优化目标等,且需动态管理。未备案可能面临法律和运营风险。建议企业提前规划、合规管理和积极沟通,确保合法合规运营。
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
413 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
18天前
|
存储 算法 量子技术
解锁文档管理系统高效检索奥秘:Python 哈希表算法探究
在数字化时代,文档管理系统犹如知识宝库,支撑各行各业高效运转。哈希表作为核心数据结构,通过哈希函数将数据映射为固定长度的哈希值,实现快速查找与定位。本文聚焦哈希表在文档管理中的应用,以Python代码示例展示其高效检索特性,并探讨哈希冲突解决策略,助力构建智能化文档管理系统。
|
3月前
|
算法
基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真
本项目基于MATLAB2022a,采用模糊PI控制算法结合龙格-库塔方法,对CSTR模型进行Simulink建模与仿真。通过模糊控制处理误差及变化率,实现精确控制。核心在于将模糊逻辑与经典数值方法融合,提升系统性能。
|
3月前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
|
3天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于生物地理算法的MLP多层感知机优化matlab仿真
本程序基于生物地理算法(BBO)优化MLP多层感知机,通过MATLAB2022A实现随机数据点的趋势预测,并输出优化收敛曲线。BBO模拟物种在地理空间上的迁移、竞争与适应过程,以优化MLP的权重和偏置参数,提升预测性能。完整程序无水印,适用于机器学习和数据预测任务。
|
2天前
|
资源调度 算法 数据可视化
基于IEKF迭代扩展卡尔曼滤波算法的数据跟踪matlab仿真,对比EKF和UKF
本项目基于MATLAB2022A实现IEKF迭代扩展卡尔曼滤波算法的数据跟踪仿真,对比EKF和UKF的性能。通过仿真输出误差收敛曲线和误差协方差收敛曲线,展示三种滤波器的精度差异。核心程序包括数据处理、误差计算及可视化展示。IEKF通过多次迭代线性化过程,增强非线性处理能力;UKF避免线性化,使用sigma点直接处理非线性问题;EKF则通过一次线性化简化处理。