发布时间:2023-04-20 文章分类:电脑百科 投稿人:赵颖 字号: 默认 | | 超大 打印

CLIP论文详解 – 潘登同学的深度学习笔记

文章目录

    • CLIP论文详解 -- 潘登同学的深度学习笔记
  • 前言
  • 整体架构
    • Pre-train
    • Zero-shot
  • 实验
    • 大范围数据集结果
    • few-shot与zero-shot的对比
    • Representation Learning
    • 模型的泛化性
    • 与人进行对比
  • 局限性和不足

前言

CLIP算是在跨模态训练无监督中的开创性工作,作者在开头梳理了现在vision上的训练方式,从有监督的训练,到弱监督训练,再到最终的无监督训练。这样训练的好处在于可以避免的有监督的 categorical label的限制,具有zero-shot性质,极大的提升了模型的实用性能。

这篇文章中作者提到早在2017年之后就陆续有工作提出和本文类似的想法,但是他们的数据大小都太小了,导致没有很好的结果。作者单独收集了一份含有4亿份数据的大数据集,才得以得到很好的效果。这种现象最近好像在机器学习领域越来越突出,力大砖飞,这无疑降低了benchmark的可信性,而且增加了小工作组的压力。

此外作者提到prompt engineering and ensembling也是一个值得研究的方向,也就是生成的template如果能够结合对应的dataset的特征,相当于给予模型额外的信息;

为什么CLIP要采用对比学习的方法

CLIP论文详解

整体架构

CLIP论文详解

Pre-train

训练阶段
CLIP论文详解

主干模型

Zero-shot

CLIP 文章的核心 = Zero-shot Transfer

作者研究迁移学习的动机:

与之前Zero-shot模型的对比
CLIP论文详解

Prompt 方法在什么时候用

为什么要用 prompt engineering and ensembling

最后在CLIP中,总共用了80个prompt template之多;

实验

大范围数据集结果

做了27个数据集的分类任务,baseline是ResNet-50,ResNet-50是有监督模型在各个数据集上训练好的, 然后两个模型在其他数据集上zero-shot;

CLIP论文详解

在大多数分类任务,给车、食物等做分类的问题上CLIP都表现的很好, 但是在DTD这种纹理进行分类或CLEVRCounts给物体计数的任务,对于CLIP无监督模型来说就很难了;

所以作者认为在这些更难的数据集做few-shot可能比zero-shot更好;

few-shot与zero-shot的对比

few-shot也是将back-blone冻住,训练分类头;

CLIP论文详解

横坐标是指在每个类别中选出了几个训练样本,纵坐标就是模型的准确率了(在20个数据集上的平均结果,因为有7个数据集中有些训练样本不足16个);

Representation Learning

为了证明Pre-Train的成功,CLIP将预训练好的模型在下游任务中做了Linear probe,就是模型主体冻住,只调Linear分类头,因为这样不用太多的调参,也能证明模型的特征学的好不好;

CLIP论文详解

模型的泛化性

当数据有distribution shift的时候,模型的表现如何,这是CLIP最惊艳的结果:
CLIP论文详解

与人进行对比

将CLIP与人进行zero-shot,one-shot,two-shot的对比,分类的物体是37种狗和猫的图片;
CLIP论文详解

除此之外,作者还将这些类的分类结果列了出来
CLIP论文详解

局限性和不足

作者想要: