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

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,5000CU*H 3个月
交互式建模 PAI-DSW,5000CU*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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】基于多轮课程学习的大语言模型蒸馏算法 TAPIR
阿里云人工智能平台 PAI 与复旦大学王鹏教授团队合作,在自然语言处理顶级会议 EMNLP 2024 上发表论文《Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning》。
|
7天前
|
机器学习/深度学习 人工智能 算法
青否数字人声音克隆算法升级,16个超真实直播声音模型免费送!
青否数字人的声音克隆算法全面升级,能够完美克隆真人的音调、语速、情感和呼吸。提供16种超真实的直播声音模型,支持3大AI直播类型和6大核心AIGC技术,60秒快速开播,助力商家轻松赚钱。AI讲品、互动和售卖功能强大,支持多平台直播,确保每场直播话术不重复,智能互动和真实感十足。新手小白也能轻松上手,有效规避违规风险。
|
8天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
12天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
49 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
2月前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
104 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
30天前
|
机器学习/深度学习 数据采集 算法
如何在一夜之间成为模型微调大师?——从零开始的深度学习修炼之旅,让你的算法功力飙升!
【10月更文挑战第5天】在机器学习领域,预训练模型具有强大的泛化能力,但直接使用可能效果不佳,尤其在特定任务上。此时,模型微调显得尤为重要。本文通过图像分类任务,详细介绍如何利用PyTorch对ResNet-50模型进行微调,包括环境搭建、数据预处理、模型加载与训练等步骤,并提供完整Python代码。通过调整超参数和采用早停策略等技巧,可进一步优化模型性能。适合初学者快速上手模型微调。
85 8
|
28天前
|
机器学习/深度学习 算法 搜索推荐
django调用矩阵分解推荐算法模型做推荐系统
django调用矩阵分解推荐算法模型做推荐系统
19 4
|
16天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
1天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
2天前
|
算法 调度
基于遗传模拟退火混合优化算法的车间作业最优调度matlab仿真,输出甘特图
车间作业调度问题(JSSP)通过遗传算法(GA)和模拟退火算法(SA)优化多个作业在并行工作中心上的加工顺序和时间,以最小化总完成时间和机器闲置时间。MATLAB2022a版本运行测试,展示了有效性和可行性。核心程序采用作业列表表示法,结合遗传操作和模拟退火过程,提高算法性能。

热门文章

最新文章