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

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型训练 PAI-DLC,100CU*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)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
14天前
|
算法
基于模糊PI控制算法的龙格库塔CSTR模型控制系统simulink建模与仿真
本项目基于MATLAB2022a,采用模糊PI控制算法结合龙格-库塔方法,对CSTR模型进行Simulink建模与仿真。通过模糊控制处理误差及变化率,实现精确控制。核心在于将模糊逻辑与经典数值方法融合,提升系统性能。
|
14天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
92 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
94 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
【EMNLP2024】基于多轮课程学习的大语言模型蒸馏算法 TAPIR
阿里云人工智能平台 PAI 与复旦大学王鹏教授团队合作,在自然语言处理顶级会议 EMNLP 2024 上发表论文《Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning》。
|
1月前
|
机器学习/深度学习 人工智能 算法
青否数字人声音克隆算法升级,16个超真实直播声音模型免费送!
青否数字人的声音克隆算法全面升级,能够完美克隆真人的音调、语速、情感和呼吸。提供16种超真实的直播声音模型,支持3大AI直播类型和6大核心AIGC技术,60秒快速开播,助力商家轻松赚钱。AI讲品、互动和售卖功能强大,支持多平台直播,确保每场直播话术不重复,智能互动和真实感十足。新手小白也能轻松上手,有效规避违规风险。
|
1月前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
1天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
103 80
|
20天前
|
算法
基于WOA算法的SVDD参数寻优matlab仿真
该程序利用鲸鱼优化算法(WOA)对支持向量数据描述(SVDD)模型的参数进行优化,以提高数据分类的准确性。通过MATLAB2022A实现,展示了不同信噪比(SNR)下模型的分类误差。WOA通过模拟鲸鱼捕食行为,动态调整SVDD参数,如惩罚因子C和核函数参数γ,以寻找最优参数组合,增强模型的鲁棒性和泛化能力。
|
6天前
|
供应链 算法 调度
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。

热门文章

最新文章