— order: 17 —1 Learning Transferable Visual Models From NaturalLanguage Supervision时间:2021.21.1 标题 & 摘要 & 引言Learning Transferable Visual Models From Natural Language Supervision,利用自然语言监督的信号来训练一个可迁移的视觉文本多模态模型zero shot能够在没有任何训练样本的情况下(no fine-tuning)进行迁移学习,即 transferable多模态特征适合 zero shot 迁移模型名字叫 CLIP: Contrastive Language-Image Pre-TrainingCV 领域使用有标注的数据仍有诸多限制,而 NLP 领域已经常用无监督学习。CLIP 使用大规模的无监督信号(图像和文本的匹配,近乎无需标注)训练输入是文字和图片的配对,各自通过一个 encoder 得到特征,然后做对比学习(只需要有正样本和负样本的定义即可,配对的样本是正样本,即矩阵中对角线是正样本)正常的 CLIP 是没有分类头的,因此要额外进行 prompt template即将类别转成一个句子(例如 This is a <class>)然后抽取文本特征,图片抽取特征,然后计算相似度在预测的时候,把图像进行编码,然后对预先定义的类别进行编码,计算相似度并取最大的类别作为预测结果1.2 方法数据集:WITWebImage Text论文的想法实际上并不新,但是之前的工作说法混淆、规模不够大、NLP 模型不够好,当 Transformer 解决 NLP 大一统问题之后容易获得语义特征了CLIP ConVIRT 的简化版本,但是在数据和模型大小上大大提高了之前的预训练工作在 ImageNet1K 上就需要数十个 GPU/TPU 年的训练时间,而 OpenAI 注重效率,所以选择对比学习。而其他OpenAI 工作都基于 GPT仅有 CLIP 基于对比学习一开始采用类似 VirTex图像 CNN 文本 Transformer给定图片预测其对应文本。但是图片的描述有很多可能,所以预训练非常慢当把预测型任务换成对比型任务,判断图片与文本是否是配对就比较简单(生成式变判别式),效率提高4作者没有使用非线性投影层(之前的对比学习中提升了近10个点)因为作者发现多模态中提升不大,只做了随机裁剪的数据增强伪代码1.抽取特征2.点乘一个𝑊,这个投影是为了将单模态信息转成多模态信息,然后归一化在多模态里是非常常见的做法,fusion 学习一个 joint representation space投影到同一个语义空间)3.算相似度4. loss正样本是对角线上,对称式的 loss 函数关于大模型训练,参考:How to Train Really Large Models on Many GPUs? | Lil’Log1.3 实验之前的自监督无监督学习到一个特征之后,还需要对下游任务做有监督的微调prompt engineering and ensembling为什么要 prompt比如 ImageNet 中有两个类 construction crane起重机)和 crane鹤),文本多义性可能导致问题;另外输入输出要尽可能保持一致,避免 distribution gap作者使用 prompt template类似 A phot of {label},还可以加一些例如 A photo of {label}, a type of petensemble用多种提示模板,CLIP 共使用了80个模板大规模迁移学习结果:这里 Linear Probe 表示将前面的模型 freeze 掉只从中抽特征,然后训练一个 FC 来做分类任务。普通物体 zero shot 任务比较好,但是比较难的任务(DTD 纹理分类,CLEVRCounts 物体计数)效果一般Few Shot 的结果:其中 BiT Big Transfer本身就是谷歌为了迁移学习设计的所有数据:略和人类对比的实验,图一乐去重实验,证明泛化性强1.4 讨论 & 局限性目前和基线模型水平相近,但和 SOTA 水平还有差距,同时扩大 CLIP 规模也很难实现 SOTA在某些细分类任务或抽象概念效果很差,不知道什么是异常什么是安全虽然 zero shot 在某些数据集还可以,但是如果推理和训练的数据差的太远,还是不行的,out-of-distribution例如 MNIST原因是4亿数据集中都是自然图片,没有合成数字图片)CLIP 需要给一个类别来判断,不能做到图片加 caption 这种生成。之后可能会把对比式和生成式的目标函数合在一起CLIP 对数据利用效率不高;另外数据是从网上爬的,没有被清洗过,存在偏见和可能的不当使用CLIP 存在用 ImageNet test 训练的问题,27个数据集也用到了,最好有一个专门的用来 zero-shot 的数据集复杂的任务或概念不能用语言描述,所以做下游任务泛化的时候能提供一些训练样本(Few-Shot)也是有必要的,但是 CLIP 的提出不是为了 Few-Shot所以会有提供一些训练样本还不如 zero-shot 的情况,和人不太一样1.5 总结文本经过 Encoder 得到文本特征,图像经过 Encoder 得到图像特征,然后进行文本图像对的对比学习做分类任务的时候:将类别通过 prompt template 通过文本编码器形成很多 query然后图像通过图像编码器得到一个图像特征,然后相当于依次问 query得到图像特征和文本特征之间的相似度2 CLIP 改进工作(串讲)2.1 分割图像分割本质上和分类很像,只是把分类的粒度变成了像素级别。这就导致每当分类有了什么突破,分割领域马上就能有所跟进,CLIP 也不例外CLIP 出来以后,大家要么是用一下 CLIP 预训练的参数做一些简单的改动把它和下游任务结合起来(LSeg)要么是利用 CLIP 目标函(GroupViT)或者它的其它特性2.1.1 Language-Driven Semantic Segmentation(LSeg)模型总览图 CLIP 有点像但其实不是 zero-shot本质上还是在传统的有监督训练中引入了文本那一支信息。它终究不是无监督学习,目标函数也不是对比学习 CLIP 的区别主要是说,图像这边输入是一张图片,抽取的特征是一个 dense feature 而不是 CLIP 那种一张图一个向量图像这边经过一个 encoder(DPT: ViT + Transformer)得到̃𝐻×̃𝑊×𝐶的特征;文本那边经过 encoder 得到𝑁×𝐶的特征。两边一乘就得到̃𝐻×̃𝑊×𝑁,也就是回到了传统有监督分割的领域text encoder 用的就是纯 CLIP 冻结参数,image encoder 可以也这样做但效果不如自己整一个(基于实验科学)然后最后还多了一个 spacial regularization block 来多学习一点(其实不是很重要,随便一个 MLP 就可以)实验的话,把 PASCAL, COCO 等数据集均分,在其中一份上训练然后 zero-shot 到其它份。结果来看,比以往的 zero-shot few-shot 都好不少,但比监督训练(ResNet large model还是差了不少2.1.2 Semantic Segmentation Emerges from Text Supervision(GroupViT)介绍Grouping CV 分割方面已有的一个技术,利用区域生长的思想(自下而上地从聚类中心开始发散)GroupViT 在已有 ViT 的框架中加入 group blocks 和可学习的 group tokens训练首先依旧是把图像分成 patch然后把 patch embedding 送到 Transformer 里面,但是要加上 group tokensgroup tokens 可以理解成之前的 cls token但之前是想学到每个图片一个特征,现在是多个特征用来分割,把那些语义相似的点归结到这64 clusters 里面。经过一系列 Transformer Layers 互相学习之后,group tokens 学得差不多了。然后用 group blocks 把图像 patch embedding assign group tokens 里去(相当于合并为更大的 group同时也是一种减小序列复杂度)用类似 attention 的机制算一个相似度,然后用 gumbel softmax 完成可导(argmax 不可导)的聚类分配,实现降维和合并这些新的 tokens 就看做之前的 patch embedding tokens再加入一些 group tokens 来重复以上过程,得到8个大的 group tokens(为了跟 CLIP 对齐)这学到的8大块特征做一个 avg pooling相当于8个类别物体特征融合来表征这一张图片)再 MLP 一下,然后这张图对应的文本那边跟 CLIP 一样 encoder 得到一个特征,然后后续就跟 CLIP 一样做 contrastive learning推理然后是如何做 zero-shot 推理,图像经过左边的编码器得到8个类别特征,右边各种 class 经过 prompt text encoder 得到文本特征,算相似度另外,为了区分出背景类,需要设置一个阈值,低于这个值就认为是背景,这个值比较讲究,低了可能会导致错误分类,高了会导致全是背景类感觉这边训练和推理不是很一致?另外不是很懂分割领域里面最后 group 究竟是怎么还原回原图的(?)group token 对应回图像靠的就是把 gumbel_softmax 再变成 argmax这样就知道某个 group token 具体对应哪些像素了结果可视化:stage 1 的分割比较小(眼睛、四肢),stage 2 的分割就大了一点(草地、狗)。数值上比较,比之前的自监督方法高了不少,但跟有监督方法还是差了不少(30 个点),不过这毕竟是首个将文本信号应用在自监督分割分割的第一个工作目前的局限性1.更多是一个图像 encoder没有很好地利用 dense prediction 的特性Dilated Convolution, pyramid pooling, U-Net 等,获得更多的上下文信息和多尺度信息2.另一个就是分类阈值的问题难以界定,以及(实验证实)模型其实分割对了,但是分类错了(这个主要怪 CLIP 只能学到明确的物体信息,对模糊的代表很多很多类的背景学得不太好)改进思路,根据每个类各自设置阈值,阈值可学习,调整 zero-shot 推理过程,训练中加入背景概念的约束等2.2 目标检测2.2.1 Open-vocabulary Object Detection via Vision and Language KnowledgeDistillation(ViLD)时间:2021.4目标检测一般要比分类分割复杂一些,但丝毫不影响这篇文章出来的速度(两个月做大规模实验+投稿,太卷了)看到标题就知道是把 CLIP 当做 teacher 进行蒸馏的工作这篇文章的引言非常好,上来就是一张图,展示模型能力的同时根据这张图问出论文想要解决的问题:open-vocabulary 的目标检测模型总览图这篇论文有点把锚框的提出和分类解耦的意思,图里都只画了第二阶段,即 proposal 拿到之后再开始做方法部分,分别为 vanilla detector 作为 baseline然后 ViLD-text ViLD-image两支合在一起得到 ViLD最后还有 ViLD-ensemble1.baseline 其实就是一个 maskRCNN为两阶段分类器,第一阶段提出 N region proposal过一个 detection head 得到 regionembedding classifier 得到分类2.ViLD-text,和 CLIP 的思路差不多,都是图像文本分别抽特征算相似度。图像这边跟 baseline 相比,就只多了 projection layer L2-norm得到 region embedding图像那边用冻结的 CLIP text-encoder 得到 embeddingconcatenate 上可学习的背景类embedding两边特征做点乘得到相似度,与 ground truth 有监督地算 cross entropy loss目前为止都是 classify base(CB)对于不在基础类中的物体都塞给背景那如何拓展到 classify novel(CN) 呢?于是提出了 ViLD-image主要思路是说,CLIP 那边的图像和文本 encoder 都做得很好,那我这边既然用了 text-encoder 那图像 encoder 得到的 embedding CLIP 尽可能一致就好了,于是引出知识蒸馏3.ViLD-image,具体而言,就是把 region proposal 经过裁剪和变换 送入作为 teacher CLIP-image预测结果替换 ground truth做一个 L1-loss现在预测不再局限于 CB而是 CB+CN另外有点怀疑这篇文章就是蒸馏了一下 CLIP然后包装了个比较好的运用结果而已……为了让训练更快,避免 region proposal 反复前向 CLIP image-encoder 造成极大计算负担,image embedding 其实是预先 RPN得到、裁剪变换并前向算完的,蒸馏的时候只需要从硬盘 loadViLD,最后把 ViLD-text ViLD-iamge 合并,相当于在训练的时候有两个目标函数(测试的时候右边 image 那一支是丢掉的)最后 ViLD 模型的汇总图实验结果 LVIS 数据集上实验(一个基于 COCO 的长尾数据集),把其中的𝐴𝑃𝑐,𝐴𝑃𝑓𝐴𝑃是目标检测常用指标,为准确率-召回率曲线下方的面积) 作为 CB 来训练,把只见过一两次的记作𝐴𝑃𝑟,看作 zero-shot 推理表格显示,用 ResNet-50 作为 backboneSupervised + RFS(repeated factor sampling)作为 baseline 只有12.3%ViLD 可以达到16.1%但其实这是可以理解的,因为 baseline 即使重采样了,它也没见过几次新类别,没怎么发挥 Supervised 效果,而 ViLD 仅比它好一点,略微有些取巧。从总的𝐴𝑃来看,ViLD baseline 还弱一点不过,换用更强的 backbone 以后,它的效果变得更强,仅比 2020 性能冠军弱一点,还是有实力的另外作为 zero-shot 的模型,肯定是可以直接用到其它数据集上的,于是就用到 PASAL, VOC 2007, COCO, Objects365 上,结果显示跟这些数据集上 Supervised 模型比还是有一定差距评价ViLD 是第一个在 LVIS 这么难的数据集上做 open-vocabulary 的目标检测的工作,还是有里程碑意义的它使用了 CLIP 的预训练参数,借鉴 CLIP 的一些思想,得到了不错的效果2.2.2 Grounded Language Image Pre-training(GLIP)时间:2021.12对标分割领域的 Group-ViT目标检测这边的 GLIP名字上跟 CLIP 相比只是把 contrast 换成 grounded研究动机跟分割一样,精心标注的数据很贵,希望用一个巨大的预训练模型处理 open-vocabulary case所以希望像 CLIP 一样利用图像文本对Vision Language 里有一类下游任务是给一段话把图像里对应物体圈出来,这种 phrase grounding 任务和 object detection 结合,同时如果再加入伪标签那一系列 self-training 的方法,就能大大扩大数据集了loss 处理目标检测这边的 loss 一般是=cls+loc,后者其实大家都差不多,主要根据模型和锚框生成方式决定;但是分类 loss 就不一样了,而且对于这里 object detectionlabel 是一个 one-hot 单词) visual groundinglabel 是一个句子)的处理是不一样的,我们需要把它统一到一个框架里object detection 这边相对简单,𝑂𝑁×𝑑,𝑊𝑐×𝑑,𝑆cls𝑁×𝑐,𝑇{0,1}𝑁×𝑐,分别为 region embedding, classifier weight,ground truth𝑂=Enc𝐼(Img),𝑆cls=𝑂𝑊𝑇,cls=loss(𝑆cls;𝑇)图像先经过图像 encoder 得到目标/区域特征𝑂,然后经过一个分类头(也就是乘权重矩阵𝑊),得到输出类别的 logits然后计算与真实类别的 cross entropy lossvisual grounding 这边相对复杂,𝑃𝑀×𝑑,𝑆ground𝑁×𝑀 text embedding 和点乘得到的相似度𝑂=Enc𝐼(Img),𝑃=Enc𝐿(Prompt),𝑆ground=𝑂𝑃𝑇,cls=loss(𝑆ground;𝑇)这里的操作其实类似于 ViLD 中的 ViLD-text 分支,图像和句子分别经过各自的 encoder 得到 feature embedding然后计算匹配度。但现在得到的 region-word aligment scores𝑆ground ground truth 不匹配,(sub)-word tokens 的数量𝑀总是比 text prompt中的 phrases 数量𝑐要大作者列了4个原因,在此从略。解决方法是,如果一个 phrase 是正匹配,那么所有 sub-words 都是正匹配,且额外添加的tokens 对所有 image features 都是负匹配,这样把𝑇转化为𝑇{0,1}𝑁×𝑀(?)其实这两种方式都差不多,只需要小小改动 positive match negative match 的方式就能联合起来。作者在小数据集上确认了方法的有效性,然后迁移到大数据集上具体是怎么个迁移法呢?首先对于 object 数据集和 grounding 据集是可以拿来直接用的,然后又想利用图像文本对(caption)据,但这些数据没有 bounding box label所以采用了伪标签的形 —— 把前面训的小模型的推理结果拿来当 ground truth这样大大增大了数据集量然后来看模型总览图首先两个模态经过 encoder 得到 embeddingDeep Fusion得到 embedding 后,理论上可以直接计算相似度了,但是直接算的话,图像文本的 joint embedding space 还没有学的很好(Lseg 通过 conv 继续学习)。多加一些层数融合一下,最后算相似度也更有针对性。具体就是用 cross attention 交互了一下然后就是用上面的方式算一下cls,再用 L1-loss 另外算一下loc,这样训练结果同期的一些纯视觉工作(DyHead, SoftTeacher)没有 zero-shot 能力,但是经过微调后在 COCO 数据集上能够达到60左右的 APGLIP-L 具有 zero-shot 的能力,能够达到将近50 AP而且微调后也能达到60多一点的 AP整体来看效果还是不错的。后续还推出了 GLIPv2又多加了几个任务(Object Detection, Instance Segmentation, Vision Grounding, Visual Question Answering,Image Captioning 等全放一起,把 text encoder 变得更花哨),这某种程度上也算是一种多模态任务的趋势,能用更多的数据把模型训练得又大又好2.3 AIGC2.3.1 CLIP PassoSemantically-Aware Object Sketching时间:2022.2其实是一篇计算机图形学领域的文章(CG, CV 交叉)研究动机:标题为保持语义信息的物体素描,CLIP + Picasso图片变成简笔画的形式,可生成各种层次的主要轮廓并且保留其要视觉特征。不仅要把原来的物体变成非常简单的形象,也需要模型抓住原来物体最关键的一些特征相关工作之前的研究都是取收集好的、抽象层次固定的数据集,属于一种 data driven 的方式。这种方式生成的素描画在风格和形式上受到限制,违背图像生成的初衷(不同层次),同时种类不能做到很丰富。相比之下,CLIP 由于图像语义配对的学习方式,对物体的语义信息抓取的特别好,而且又有出色的 zero-shot 能力,不受图像风格的限制,能把图像特征编码的非常好。主体方法任务就是在白纸上随机生成 Bezier 曲线,然后通过不停的训练,这些曲线就组合成了简笔画具体来说,先初始化参数,然后通过 Rasterizer 将笔画映射到二维画布上这个 Rasterizer 怎么跟我熟知的不太一样。。。不是三维物体、相机、光源二维图像的嘛?文章的主要贡献有两点1.一是一开始如何选择更好的初始化(saliency)用一个训练好的 ViT把最后一个多头自注意力取加权平均做成 saliency MAP在这些映射上去看哪些特征更显著,然后在显著的区域上去采点(在显著的区域上采点,就是已经知道了一个物体或者说物体边界去画贝兹曲线了)2.二是选择了一个更合适的目标函数(CLIP 作为 teacher 作蒸馏)和损失函数(Lg模型前几层的输出,即 低层次的空间信息——动作或位置、结构 尽可能接近;Ls简笔画和原始图像的特征应尽可能接近)为了更好的效果,会多生成几张分别算 loss最后输出最小的那张亮点1.训练很快,一张 V100 能在 6 分钟完成 2000 次迭代2.不受物体类别限制,可以为不常见的物体生成简笔画3.通过笔画数任意控制抽象程度局限性1.图像有背景时,效果大打折扣;可以用别的模型抠掉背景做 2-step 的方式,但不够 end2end未来可以考虑把这种 mask 设计到loss function 里面2.简笔画是同时生成而非逐步序列,不像人;加入 auto regressive 的方式3.提前设定的笔画数一方面很灵活,但另一方面对不同图片不方便;考虑把这作为 learnalbe parameter2.4 视频理解2.4.1 CLIP4Clip: An Empirical Study of CLIP for end to end Video Clip Retrieval andCaptioning时间:2021.4视频检索,video text retrieval根据文本检索最相关的视频片段标题玩了个双关,CLIP 模型用作 clip 视频片段CLIP 模型本身很适合做 Retrieval 任务,因为它就是做图像和文本之间相似性,根据相似性可以去做 ranking, atching, retrieve 等任务。而且由于双塔结构(图像文本编码器分开),得到的 image, text embedding 做一步点乘就可以计算相似度,因此非常容易扩展(比如并行、预提取之类的)模型文本这边没什么区别,得到 text embedding视频这边多了时间维度。𝑁个视频帧每一帧打成 patch 作为编码器输入,得到𝑁CLS Token每个文本特征对应𝑁个图像特征,该怎么算相似度呢?本文是一个 Empirical Study就把以往的三种方法都尝试了一遍,选出来最好的1.Parameter-free type,最简单的做法,直接对时间维度取 mean pooling但是这种方法没有考虑时序的特性,也就是前后帧之间先后关系(e.g. 一个人坐下和站起)。即使如此,这种方式也是目前最被接受的方式2.Sequential Type,时序信息 + Positional encoding LSTM / Transformer Encoder 建模。属于 Late FUsion文本和图像特征抽完之后融合)3.Tight Type,属于 Early Fusion Transformer Encoder 将文本和𝑁个图像帧直接融合,用 MLP 直接输出相似度特征。有点像是把文本特征作为 cls token不仅融合了时序信息,还同时融合了图文信息实验结果与 insight1.CLIP 的预训练模型很能打,微调或 zero-shot 都比之前方法提高20多个点2.如果训练数据量不那么大,Mean pooling 这种非学习方法效果反而是最好的。而 Tight Type 可能是由于下游任务数据量少过拟合的原因,效果较差3.图像转到视频,存在域偏差(domain gap)如果视频这边找到足够多的数据集再去预训练,这样迁移的效果会更好4.视频 ViT 领域的 2D patch 3D patch2D patch 在这里效果更好一些,但 3D 也很有前途5.CLIP 用在 video text retrieval 领域,学习率这个参数非常敏感2.4.2 Action CLIPA New Paradigm for Video Action Recognition时间:2021.9动作识别,本质上是加了时序信息的分类任务,自然很容易应用 CLIP传统的动作识别模型视频进一个 encoder(2D/3D)与有标签的 ground thuth 计算 loss受限于有监督学习,难以做大数据集的规模;并且不像图像分类那种一一对应关系,在视频动作识别中,比如open the door”一个短语对应三个单词,另外,open 这个词可以描述很多动作。这时就有一个 trade off1.如果标记很多类,人工标注成本提高,softmax 效果也不好,常规的分类算法可能表现都很差2.如果只标注大类,就无法预测细粒度的小类最理想的方法就是摆脱标签的限制,从大量的视频数据中学一个好的特征,然后再去 zero-shot 或者 few-shot 迁移至下游任务。于是自然想到 CLIP那这篇论文改进了什么呢?1.一是如何让 image encoder 能处理视频,也就是每一帧的特征如何与文本特征计算相似度,这与 CLIP4clip 非常类似2.二是动作识别领域的标签矩阵,当数据集相对小且 batch 比较大的时候,不是对角线的地方也可能是正样本(比如一个 batch 中可能有多个描述跑的动作)。这个问题将交叉熵损失换成 KL 散度(衡量两个分布的相似性)就可以解决主体架构视频和文本变成 token 后经过各自的 encoder得到各自的特征后计算相似度然后与 ground truth 计算损失(KL 散度)但是加了 Textual Prompt, Pre-network Prompt, In-network Prompt, Post-network Prompt 来加快迁移。其实除了文本的那个算是正 prompt其它三个都是为了写作连贯性而称作 prompt 罢了1.Pre-network Prompt: Joint输入层面加入了时序信息,即 Temporal Encoding2.In-network Prompt: Shift每个 ViT 模块间加入 shift 模块,在特征图上做各种移动,zero cost 地达到更强的特征建模能力3.Post-network Prompt: Transf就是 CLIP4clip 中的三种相似度计算,一模一样感觉有点搭积木(实验结果(消融实验)1.多模态的框架(ActionCLIP)表现不错,相较于单模态(Unimodality)的框架可以提升 2-3 个点。也就是说用 Language guidance 的方式更合理2.Pre-train 是否重要?毋庸置疑,不用预训练疯狂掉点,不过值得注意的是 Vision 这边对 pre-train 的依赖性明显比 Language 那边要强3.Prompt 是否重要?文本不用 prompt 基本不掉点,但是视觉这边,如果不用 joint会掉2.74个点,如果不用 shift会掉5.38个点(都用 MeanP)。另外这里在 post-network 中平均池化的效果不是最好的了,原因应该是数据量相对大了4.Fine-tune zero-shot 的比较。以往模型的 zero-shot 能力为零,如果 zero-shot 的话,大家都在涨点,但 ActionCLIP 依旧碾压2.5 其它快速过一下其它文章1.How Much Can CLIP Benefit Vision-and-Language Tasks?(CLIP-ViL)第一个大规模把 CLIP 作为预训练模型应用到各种下游任务上 Empirical Study答案是效果不错,没什么创新2.AudioCLIP:Extending CLIP to Image, Text and Audio*音视频里面,语言、视频、音频基本是成对出现的,很容易模仿 CLIP 的方式加音频模块,单个模态两两算相似度矩阵最后 loss 起来3.PointCLIP: Point Cloud Understanding by CLIP 2D 图像的 CLIP 应用到 3D 的点云,想法就是把点云做成深度图(深度放在颜色那一位)。因为 CLIP 啥都见过所以这个也能迁移,效果还不错4.Can Language Understand Depth?CLIP 在物体抓取很有实力,但对比学习在学概念方面不是很好,深度也有点概念的意思,因此验证一下想法跟上面那篇一样,然后把深度硬分类成 giant, close, far 等(回归任务变成分类任务),非常巧妙地运用了 CLIP2.6 总结 CLIP 模型的使用基本是31.使用 CLIP 来抽特征,原有框架不动,只是用更好的特征加强我模型的训练,改动最小的方式2. CLIP 作为 teacher 来蒸馏,不论我是什么模态还是 2D/3D都可以借助 CLIP 更快收敛3.不借助 CLIP 预训练参数,但借用它多模态对比学习的思想,定义自己的正负样本总而言之,在大模型当道的当下,不可能对每一个任务都训练大模型,而是借助大模型并加上可学习的小模块,可能会是一个更有用而且更做得动的方向