【多模态】CLIP-KD: An Empirical Study of CLIP Model Distillation

论文:CLIP-KD: An Empirical Study of CLIP Model Distillation
链接:https://arxiv.org/pdf/2307.12732
CVPR 2024

Introduction

  1. Motivation:使用大的Teacher CLIP模型有监督蒸馏小CLIP模型,出发点基于在资源受限的应用中,通过teacher模型改进有价值的小CLIP模型。
  2. 贡献点:提出了多种蒸馏策略,包括relation, feature, gradient and contrastive paradigms四种,检查CLIP-Knowledge Distillation (KD)的有效性
  3. MSE(Mean Squared Error)loss有效,但是文中证明teacher和student encoder间通过交互式对比学习也很有效。原因归结为最大化了teacher和student模型的特征相似性。
  4. 在zero shot上取得了较好的效果
  5. 主要对比基线:TinyCLIP,作者认为该模型受限于weight inheritance,teacher和student模型必须same architecture-style。
  6. 整个过程分为两个视角:mimicry learning和interactive learning
    a. Mimicry learning阶段引导student对齐teacher生成的对应知识,其核心问题在于如何构建有意义的知识。contrastive image-to-text relationships, (image, text) features and gradients
    b. Interactive learning阶段将teacher和student结合起来进行联合对比学习,进行隐式学习。aggregate the student and teacher features

Method

  1. CLIP,其目标为图像到文本的对比损失和文本到图像的对比损失。
    在这里插入图片描述

  2. Overview
    在这里插入图片描述

  3. Contrastive Relational Distillation(CRD):对比关系蒸馏
    一个好的teacher模型将有a well-structured feature space,所以让student更好地模仿 structured semantic relations from the teacher。
    在这里插入图片描述
    a. 以图像为anchor
    在这里插入图片描述
    b. 以文本为anchor
    在这里插入图片描述
    在这里插入图片描述
    c. 最终损失,KL散度损失
    在这里插入图片描述

  4. 特征蒸馏Feature Distillation
    对齐teacher和student的feature embedding,如果teacher和student的embedding维度不同,需要一个额外的线性层将其映射到同一个维度。
    在这里插入图片描述

  5. Masked Feature Distillation
    根据上下文信息恢复masked视觉区域的embedding,mask策略同MAE。
    在这里插入图片描述

  6. Gradient Distillation
    保持teacher和student视觉和文本embedding的梯度一致性。the student could better understand how the output should change according to the input。
    在这里插入图片描述

  7. Interactive Contrastive Learning
    为了利用teacher和student之间的交互行,对encoders进行交互式对比学习。It regards the student as an anchor to contrast the teacher’s embeddings.

  • 举例:给定student的图像embedding,对比的文本embedding为teacher文本编码器输出的embedding而非student。同理,给定student的文本embedding,对比teacher的图像embedding。公式如下
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    最小化该损失等于最大化教师网络和学生网络之间的互信息的下界。以stundet的embedding为anchor,互信息衡量teacher的对比特征的不确定性降低。作者认为这可以learns more common knowledge from teacher。
  1. Augmented Feature Distillation
    引入fusion encoder强化student embedding,teacher可以指导student优化一个visual-text向量空间。引入visual fusion encoder和text fusion encoder。|| is the concatenation operator,the fusion encoder is a simple linear projection layer。然后融合后的视觉和文本特征计算通用clip的对比损失函数。
    在这里插入图片描述
  2. Overall Loss of CLIP Distillation
    集合所有损失函数。
    在这里插入图片描述

Experiment

  1. 实验配置
  • 视觉文本预训练数据:Conceptual Captions 3M (CC3M) and Conceptual 12M (CC12M)
  • run over 8 NVIDIA A800 GPUs. The batch size is 1024, where each GPU holds 128 samples.
  • set λCRD = 1, λF D = λM F D = 2000,λGD = 108 and λICL = 1. The learnable temperature τis initialized from 0.07.
    在这里插入图片描述
  1. 消融实验
    表一显示Feature Distillation (FD) 只用一个简单的 MSE损失就达到了最好的效果,MFD效果与其最接近。其次是ICL和CRD。
    进一步融合这些损失,FD+CRD+ICL效果最好。FD+ICL超过单纯FD效果,可以看出这两个损失函数互补。基础上再加CRD,效果继续得到了提高。将GD or AFD 到FD+ICL+CRD未有新的提高。
    在这里插入图片描述
  2. 实验结果
    改变不同的模型结构如下所示。可以看到蒸馏对于以下模型均有提升。(检索任务)
    在这里插入图片描述
    Zero-Shot ImageNet-Related Classification(分类任务):
    在这里插入图片描述
    为了证明本方法可以有效地将知识从大规模数据集转移到改进在小规模数据集上训练,实行以下实验:
    实验中分别使用了两个teacher模型,ViT-T/16实验中小的teacher模型的蒸馏效果更好,可能是因为teacher与student的gap过大,不易学习。整体上,clip-kd均超过了tiny-clip的结果。
    在这里插入图片描述
  3. 结果分析
    左图为收敛曲线,右图正样本减负样本相似度曲线,其相对距离越大越好说明正负样本区分度越高
    在这里插入图片描述
  4. 解释为什么不同的KD方法性能不同:下图是蒸馏后teacher和student的相似度统计。FD相似度最高,因为其蒸馏目标就是增加teacher 和student的特征相似度。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/48394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络】tcp_socket

tcp_socket 一、tcp_server与udp_server一样的部分二、listen接口(监听)三、accept接收套接字1、为什么还要多一个套接字(明明已经有了个socket套接字文件了,为什么要多一个accept套接字文件?)2、底层拿到新…

从R-CNN到Faster-R-CNN的简单介绍

1、R-CNN RCNN算法4个步骤 1、一张图像生成1K~2K个候选区域(使用Selective Search方法) 2、对每个候选区域,使用深度网络提取特征 3、特征送入每一类的SVM分类器,判别是否属于该类 4、使用回归器精细修正候选框位置 R-CNN 缺陷 : 1.训练…

Java使用AsposePDF和AsposeWords进行表单填充

声明:本文为作者Huathy原创文章,禁止转载、爬取!否则,本人将保留追究法律责任的权力! 文章目录 AsposePDF填充表单adobe pdf表单准备引入依赖编写测试类 AsposeWord表单填充表单模板准备与生成效果引入依赖编码 参考文…

【C语言】链式队列的实现

队列基本概念 首先我们要了解什么是队列,队列里面包含什么。 队列是线性表的一种是一种先进先出(First In Fi Out)的数据结构。在需要排队的场景下有很强的应用性。有数组队列也有链式队列,数组实现的队列时间复杂度太大&#x…

【数据结构 | 哈希表】一文了解哈希表(散列表)

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

虚拟局域网配置与分析-VLAN

前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除 一、相关知识 虚拟局域网(Virtual Local Area Network,VLAN)是一组逻辑上的设备和用户;不受物理位置的…

浅谈监听器之保存响应到文件

浅谈监听器之保存响应到文件 JMeter 提供了一个实用的监听器——“保存响应到文件”,该监听器能够自动将取样器的响应数据直接保存到指定的文件中,便于后续分析或存档。本文档旨在详细介绍如何配置和使用此监听器功能。 适用场景 ● 长时间运行的测试…

昇思25天学习打卡营第n天|本地安装mindspore之二|开始第一课的代码。以及对比xshell,MobaXterm

开始准备在本地的系统上跑例子了。从第一课开始吧。 1,下载代码 打开课程。 下载样例代码 https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/r2.3/tutorials/zh_cn/beginner/mindspore_quick_start.py 2,在本地Linux上输入并运…

Python新手如何制作植物大战僵尸?这篇文章教会你!

引言 《植物大战僵尸》是一款非常受欢迎的塔防游戏,玩家需要种植各种植物来抵御僵尸的进攻。在这篇文章中,我们将使用Python编写一个简化版的植物大战僵尸游戏,以展示如何使用Python创建游戏。 游戏规则 玩家将种植不同类型的植物来防御僵尸…

好用的电脑录屏软件免费推荐,拥有这3款就能高效录屏!

电脑录屏软件已成为我们记录生活、分享知识的得力助手。但是,市面上琳琅满目的录屏软件令人眼花缭乱,如何才能选择到一款好用的电脑录屏软件免费神器呢?今天,就让我来为您揭晓这个秘密! 首先,我们得明确一…

胖东来也要加入“打水仗”?瓶装水品牌又该如何出招

今年瓶装水行业的“战场”似乎格外热闹,比武汉的天气好像还要火热......从年头农夫山泉打出“纯净水”的牌,再到如今掀起价格内卷战,一箱12瓶的纯净水在某宝平台上仅售9.9元,平均下来每瓶单价不超一元,农夫山泉都出击了…

自动化网络爬虫:如何它成为提升数据收集效率的终极武器?

摘要 本文深入探讨了自动化网络爬虫技术如何彻底改变数据收集领域的游戏规则,揭示其作为提升工作效率的终极工具的奥秘。通过分析其工作原理、优势及实际应用案例,我们向读者展示了如何利用这一强大工具加速业务决策过程,同时保持数据收集的…

5G mmWave PAAM 开发平台

Avnet-Fujikura-AMD 5G 毫米波相控阵天线模块开发平台 Avnet 和 Fujikura 为毫米波频段创建了一个领先的 5G FR2 相控阵天线开发平台。该平台使开发人员能够使用 AMD Xilinx 的 Zynq UltraScale™ RFSoC Gen3 和 Fujikura 的 FutureAcess™ 相控阵天线模块 (PAAM) 快速创建和制…

算法日记day 18(二叉树的所有路径|左叶子之和)

一、二叉树的所有路径 题目: 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。 叶子节点 是指没有子节点的节点。 示例 1: 输入:root [1,2,3,null,5] 输出:["1->…

抖音矩阵管理系统解决方案:一站式服务

在当今社交媒体蓬勃发展的时代,抖音作为一款短视频平台,凭借其独特的魅力和庞大的用户群体,已成为众多企业、个人乃至网红达人展示自我、推广品牌的重要舞台。然而,随着抖音账号数量的不断增加,如何高效、专业地管理这…

系统编程--Linux下文件的“其他操作”函数

这里写目录标题 文件存储理论补充dentry、inode 文件其他操作stat函数作用函数原型代码(以获取文件大小为例)补充(获取文件类型) lstat函数作用函数原型代码补充(获取文件权限)总结 tipslink函数作用简介函…

前端页面:用户交互持续时间跟踪(duration)user-interaction-tracker

引言 在用户至上的时代,精准把握用户行为已成为产品优化的关键。本文将详细介绍 user-interaction-tracker 库,它提供了一种高效的解决方案,用于跟踪用户交互的持续时间,并提升项目埋点的效率。通过本文,你将了解到如…

使用水星Mecury人形机器人搭建VR遥操作控制平台!

VR遥操作机械臂是一种将虚拟现实技术与机械臂控制相结合的系统,使用户可以通过虚拟现实设备操控和交互实际的机械臂。这种技术可以应用于多个领域,包括远程操作、培训、危险环境中的工作等。 双臂人形机器人是一种模拟人体上半身结构,包括头部…

跨域浏览器解决前端跨域问题

1.问题背景 这是一种属于非主流的解决跨域的方案,但是也是可以正常使用而且比较简单的。如果需要使用主流的解决前端跨域方案,请参考这篇文章。 我这边其实是优先建议大家使用主流的跨域方案,如果主流的实在不行,那么就使用跨域…

多路复用IO、TCP并发模型

时分复用 CPU单核在同一时刻只能做一件事情,一种解决办法是对CPU进行时分复用(多个事件流将CPU切割成多个时间片,不同事件流的时间片交替进行)。在计算机系统中,我们用线程或者进程来表示一条执行流,通过不同的线程或进程在操作系…