当前位置: 首页 > news >正文

Clip微调系列:《CLIP-Adapter: Better Vision-Language Models with FeatureAdapters》

论文链接:arxiv.org/pdf/2110.04544

参考链接:(28 封私信) 《CLIP-Adapter》上海AI Lab&罗格斯大学&港中文提出CLIP-Adapter,用极简方式微调CLIP中的最少参数! - 知乎 coOp方法:《coOp: learning to prompt for vision-language models》 ——Clip的prompt-tuning-CSDN博客


灵魂三问

动机是什么?

具体怎么实现的?

达到了什么效果?


动机

动机和coOp都一样,因为Clip的hard prompt难设计,或者说各种prompt最后实现的效果不同,很难决定说到底用哪种hard prompt。

coOp是提出了学习连续的soft prompt,也就是用few-shot(1-16)个样本去微调出合适的prompt 提升效果。

直接使用少量样本对整个网络参数进行微调很有可能会发生过拟合问题,所以Clip-Adapter提出只调整少量额外权重,而不是优化CLIP所有的参数。


具体实现

1. 在CLIP 的 Text Encoder 和 Visual Encod面,分别加上一个Adapter。

具体而言,这个Adapter就是两个MLP + 残差链接的实现,下图蓝色部分。

Adapter

公式4中:f是图像编码器输出的特征,W是原始CLIP图像主干的分类器权重;

公式5中:第一个W是文本编码器输出的特征,后面的W是原始CLIP文本主干的分类权重。

下面有实验结果显示reduction为4的时候效果最好。

残差连接

 采用残差连接来动态地将微调后的知识与CLIP主干中的原始知识混合;

将公式4得到的图像Adapter输出 与 原来的Image Encoder输出以一定比例相加(α常量);

文本特征同理。

 α,β是超参数,超参数不同结果不同,下面有实验结果对比

为什么要残差连接?

通过残差连接将原始预训练特征与微调后的特征混合,动态平衡新旧知识。

将复杂的映射问题分解为相对简单的子问题。网络只需学习输入与输出之间的残差,而不是直接学习复杂的映射。

简化学习问题、改善梯度流动和支持更深网络。

有三种变体:只有图像的Adapter;   只有文本的Adapter;     图像文本都有的Adapter. 

实验部分有结果显示只有图像的Adapter效果最好。 

 下面代码展示的只有图像的Adapter:

 


实验结果

不同bootleneck layer隐藏层维度的结果:

不同残差比的实验结果:

三种变体的结果对比:
可以看出只对图像做Adapter的效果最好。

同类图形的相似性:


 

http://www.dtcms.com/a/281918.html

相关文章:

  • pytorch | minist手写数据集
  • 防止应用调试分析IP被扫描加固实战教程
  • react19+nextjs+antd切换主题颜色
  • 【python学习】windows使用conda管理python虚拟环境
  • RNN循环神经网络
  • 面试问题:
  • STM32硬件I2C的注意事项
  • CCK-8 实验详解及 Graphpad 作图指南
  • 阿里云 RabbitMQ 可观测性最佳实践
  • 恶补DSP:1.F28335的时钟系统
  • Swarm Network 选择 Walrus 实现可验证 AI
  • 网络安全(初级)(Python实现sql自动化布尔盲注)
  • JWT基础详解
  • 【云原生网络】Istio基础篇
  • 使用 CrewAI 进行股票分析:自动化投资决策的新途径
  • Capture One24下载与保姆级安装教程!
  • 解决“Windows 无法启动服务”问题指南
  • 数据库询问RAG框架Vanna的总体架构
  • 线上崩溃复盘
  • Unity Android Logcat插件 输出日志中文乱码解决
  • FPGA基础 -- Verilog 访问寄存器数组的指定位示例
  • 第六章 OBProxy 路由与使用运维
  • [Linux入门] Linux 账号和权限管理入门:从基础到实践
  • Linux实现进程之间Socket通信详解
  • 30 天自制 C++ 服务器--Day3
  • NO.6数据结构树|二叉树|满二叉树|完全二叉树|顺序存储|链式存储|先序|中序|后序|层序遍历
  • 【SpringBoot】实战-开发接口-用户-注册
  • 参数检验?非参数检验?
  • 【openbmc3】时间相关
  • 代码随想录算法训练营第五十一天|图论part2