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

【提示学习论文】CoCoLe:Conceptual Codebook Learning for Vision-Language Models

Conceptual Codebook Learning for Vision-Language Models(ECCV 2024)

  • CPL的改进
  • 暂无代码

CPL

详见CPL论文
![[CoCoLef3.1.png]]

CoCoLe

在这里插入图片描述

  • a:手工概念缓存的建立过程
  • b:制作提示的过程,将图像输入Ev,得到image features v 作为查询query,找出相似度top-k2(k2=10)的键keys,与cls一起输入到LLM,生成最优的提示。
  • c:训练推理过程
  • 只有概念代码本中的key和value是可学习的
  • work:多个不同的图像特征分别有着对应的提示,更加细粒度

1 Loss

在这里插入图片描述

  • Lce:分类损失,最大化对齐图像特征fv和文本特征ft
  • Lma:最小化top-3 keys和图像特征fv的距离
  • Lcc:正则化,减小过拟合问题
  • Lor:确保文本特征是正交的,增强提示的多样性。对于每个提示,做余弦相似度,使得不同的提示嵌入正交化。

2 可学习的概念码本

  • 视觉概念向量Vi作为keys,D
  • 概念提示Pi作为values,由M个learnable vectors组成,DxM
  • 组成N对,N=100

具体过程

  • 输入图像到image encoder,得到图像特征fvj,计算fvj与所有Vi之间的余弦相似度得分Sc
  • 选择余弦相似度得分最高的top-k3(k3=4)个视觉概念Vi,组成集合Vj
  • 将Vj作为key,获得对应的value概念提示Pi,组成集合Pj
  • 将提示Pj与cls输入text encoder,得到文本特征ftj
  • 计算概率

疑问:
Vi的初始化是什么?Pi的初始化是什么?

3 手工概念缓存

  • CPL:选择top-1作为key
  • 区别:选择top-k1(k1=3)个图像特征,并计算它们的平均值作为key
  • 然后存储手工概念缓存

4 正则化的概念码本学习

确保可学习文本特征与手工概念提示差异不大

  • fhtd:手工制作的概念提示文本特征
  • fltd:可学习的提示文本特征

进行欧几里得距离约束:
![[CoCoLeg2.png]]

5 推断

输出的文本特征,与图像特征进行相似度计算。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 和面机智能转运机器人
  • 数据结构之广度优先搜索
  • TOMCAT全解
  • 华为让步市场压力?Pura 70 Pro+降价2131元,卫星通信功能加持
  • 基于RDMA的nfs服务
  • RabbitMQ当消息消费失败时,会重新进入队列吗?
  • 极越07预售21.59万起,小米SU7最有力的竞品来了
  • 如何在手机上设置国内代理IP地址:详细指南
  • leetcode日记(73)分隔链表
  • 当JVM中出现负载突然过大的情况时,我们该如何应对?
  • C++ 模板基础知识——类模板、变量模板与别名模板(超长纯享版)
  • 存储实验:基于华为存储实现存储双活(HyperMetro特性)
  • 简述加工中心
  • Java设计模式汇总
  • 【xilinx】不添加ZYNQ SOC SDK的情况下使用xilinx 的XADC
  • python3.6+scrapy+mysql 爬虫实战
  • dva中组件的懒加载
  • ES6 ...操作符
  • HashMap ConcurrentHashMap
  • Java-详解HashMap
  • js对象的深浅拷贝
  • k8s如何管理Pod
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 包装类对象
  • 服务器之间,相同帐号,实现免密钥登录
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 看域名解析域名安全对SEO的影响
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 目录与文件属性:编写ls
  • 排序算法之--选择排序
  • 自定义函数
  • Hibernate主键生成策略及选择
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​TypeScript都不会用,也敢说会前端?
  • ###C语言程序设计-----C语言学习(6)#
  • $L^p$ 调和函数恒为零
  • (C++哈希表01)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (java)关于Thread的挂起和恢复
  • (Mac上)使用Python进行matplotlib 画图时,中文显示不出来
  • (八十八)VFL语言初步 - 实现布局
  • (层次遍历)104. 二叉树的最大深度
  • (二)WCF的Binding模型
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (离散数学)逻辑连接词
  • (利用IDEA+Maven)定制属于自己的jar包
  • (小白学Java)Java简介和基本配置
  • (一)appium-desktop定位元素原理
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net MVC中使用angularJs刷新页面数据列表