CVPR 2024 论文研读 《MoDE: CLIP Data Experts via Clustering》

        分享一篇今年发表在CVPR上的论文,在此记录一下看完这篇文章的收获,有问题欢迎友好交流,玻璃心轻点骂。

        回归正题,MoDE是model of data experts的首字母缩写,意味着这篇文章是利用CLIP作为模型基础的,那么为什么要叫experts呢?首先我们知道CLIP是一种基于图像和文本成对的预训练模型,它的网络框架既有transformer,也有resnet,当然比较常用的还是ViT-B/32或者ViT-B/16,这两者的区别就是网络深度不同,更深的网络还有ViT-L/14,本文也是基于ViT的网络框架来进行实验的。其次,聚类本来作为一个下游任务,但似乎被越来越多的用到了嵌入空间去提取更好的嵌入特征,同样是CVPR2024的一篇文章证明了这样做的效果是不错的[1],今天的这篇文章同样是利用到了聚类的思想,通过在粗粒度中使用细粒度的聚类中心来聚类来把CLIP训练成experts,至于为什么是experts而不是expert,则是因为原文设计使用好几个CLIP独立地训练,也就是一种在集成意义下的模型框架。

        原文链接在这里:[2404.16030] MoDE: CLIP Data Experts via Clustering (arxiv.org)

 动机

        OpenAI提出的CLIP虽然引发了轰动,但依然存在局限性,比如它的效果十分依赖于选取的负样本的质量,而有的时候图片的标签与图片本身就存在不一致的问题,如图1所示,图片的标签和图片本身所表达的内容可能是不相关的,这样就会导致负样本的质量不好从而影响模型效果。

图1

        因此, 就需要寻找新的方法来提高负样本的质量,这个时候作者想到了用聚类的思想来训练模型,利用最传统的聚类算法K-means先在细粒度(fine-grained)的样本中找到聚类中心(cluster centers),再在粗粒度(coarse-grained)的样本中用fine-grained的聚类中心作为条件(conditions)训练CLIP。

方法

       这一部分将讨论原文是怎么聚类,怎么训练CLIP,以及怎么应用到下游任务的。

聚类

        在这部分开始之前,需要先介绍细粒度和粗粒度的概念。比如说,对于猫狗数据集,我们都知道有两个大类,分别是猫和狗,这两类可以称之为粗粒度层面的类别;但对于猫的类别来说,又可以细分为睡觉的猫、爬树的猫等等,这些类别就称之为细粒度的类。

       原文提出了一种two-step K-means clustering算法,本质上是一种层次聚类,首先使用细粒度聚类来产生具有相似语义的簇,使得簇中心具有代表性(步骤1 ),然后根据细粒度簇的聚类中心来确定粗粒度层面上的簇,达到训练成experts的目的(步骤2 )。这样,就不再使用单一的粗粒度中心,而是用细粒度的聚类中心来表征conditions。

       注意这个聚类算法是基于标签的特征嵌入来计算的聚类中心。

步骤1 细粒度聚类

       由于CLIP的预训练集D实在是太大了,如果直接用它来做K-means聚类,显然是费时费力的。所以原文首先从预训练集

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Little_Dream_etc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值