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

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 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天前
|
机器学习/深度学习 人工智能 算法
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
鸟类识别系统。本系统采用Python作为主要开发语言,通过使用加利福利亚大学开源的200种鸟类图像作为数据集。使用TensorFlow搭建ResNet50卷积神经网络算法模型,然后进行模型的迭代训练,得到一个识别精度较高的模型,然后在保存为本地的H5格式文件。在使用Django开发Web网页端操作界面,实现用户上传一张鸟类图像,识别其名称。
52 12
鸟类识别系统Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+ResNet50算法模型+图像识别
|
24天前
|
存储 自然语言处理 算法
【算法精讲系列】MGTE系列模型,RAG实施中的重要模型
检索增强生成(RAG)结合检索与生成技术,利用外部知识库提升大模型的回答准确性与丰富性。RAG的关键组件包括文本表示模型和排序模型,前者计算文本向量表示,后者进行精细排序。阿里巴巴通义实验室推出的GTE-Multilingual系列模型,具备高性能、长文档支持、多语言处理及弹性向量表示等特性,显著提升了RAG系统的检索与排序效果。该系列模型已在多个数据集上展示出优越性能,并支持多语言和长文本处理,适用于各种复杂应用场景。
|
25天前
|
自然语言处理 监控 算法
【算法精讲系列】通义模型Prompt调优的实用技巧与经验分享
本文详细阐述了Prompt的设计要素,包括引导语、上下文信息等,还介绍了多种Prompt编写策略,如复杂规则拆分、关键信息冗余、使用分隔符等,旨在提高模型输出的质量和准确性。通过不断尝试、调整和优化,可逐步实现更优的Prompt设计。
|
25天前
|
算法
基于SIR模型的疫情发展趋势预测算法matlab仿真
该程序基于SIR模型预测疫情发展趋势,通过MATLAB 2022a版实现病例增长拟合分析,比较疫情防控力度。使用SIR微分方程模型拟合疫情发展过程,优化参数并求解微分方程组以预测易感者(S)、感染者(I)和移除者(R)的数量变化。![]该模型将总人群分为S、I、R三部分,通过解析或数值求解微分方程组预测疫情趋势。
|
25天前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
154 1
|
1月前
|
机器学习/深度学习 自然语言处理 负载均衡
揭秘混合专家(MoE)模型的神秘面纱:算法、系统和应用三大视角全面解析,带你领略深度学习领域的前沿技术!
【8月更文挑战第19天】在深度学习领域,混合专家(Mixture of Experts, MoE)模型通过整合多个小型专家网络的输出以实现高性能。从算法视角,MoE利用门控网络分配输入至专家网络,并通过组合机制集成输出。系统视角下,MoE需考虑并行化、通信开销及负载均衡等优化策略。在应用层面,MoE已成功应用于Google的BERT模型、Facebook的推荐系统及Microsoft的语音识别系统等多个场景。这是一种强有力的工具,能够解决复杂问题并提升效率。
54 2
|
1月前
|
算法 语音技术
支付宝商业化广告算法问题之在ODL模型优化过程中,采取什么策略来提高模型的泛化能力呢
支付宝商业化广告算法问题之在ODL模型优化过程中,采取什么策略来提高模型的泛化能力呢
|
23天前
|
算法 BI Serverless
基于鱼群算法的散热片形状优化matlab仿真
本研究利用浴盆曲线模拟空隙外形,并通过鱼群算法(FSA)优化浴盆曲线参数,以获得最佳孔隙度值及对应的R值。FSA通过模拟鱼群的聚群、避障和觅食行为,实现高效全局搜索。具体步骤包括初始化鱼群、计算适应度值、更新位置及判断终止条件。最终确定散热片的最佳形状参数。仿真结果显示该方法能显著提高优化效率。相关代码使用MATLAB 2022a实现。
|
23天前
|
算法 数据可视化
基于SSA奇异谱分析算法的时间序列趋势线提取matlab仿真
奇异谱分析(SSA)是一种基于奇异值分解(SVD)和轨迹矩阵的非线性、非参数时间序列分析方法,适用于提取趋势、周期性和噪声成分。本项目使用MATLAB 2022a版本实现从强干扰序列中提取趋势线,并通过可视化展示了原时间序列与提取的趋势分量。代码实现了滑动窗口下的奇异值分解和分组重构,适用于非线性和非平稳时间序列分析。此方法在气候变化、金融市场和生物医学信号处理等领域有广泛应用。
|
24天前
|
资源调度 算法
基于迭代扩展卡尔曼滤波算法的倒立摆控制系统matlab仿真
本课题研究基于迭代扩展卡尔曼滤波算法的倒立摆控制系统,并对比UKF、EKF、迭代UKF和迭代EKF的控制效果。倒立摆作为典型的非线性系统,适用于评估不同滤波方法的性能。UKF采用无迹变换逼近非线性函数,避免了EKF中的截断误差;EKF则通过泰勒级数展开近似非线性函数;迭代EKF和迭代UKF通过多次迭代提高状态估计精度。系统使用MATLAB 2022a进行仿真和分析,结果显示UKF和迭代UKF在非线性强的系统中表现更佳,但计算复杂度较高;EKF和迭代EKF则更适合维数较高或计算受限的场景。