鲜花店网站源码,专业做网文的网站有哪些,重庆电商网站建设,房地产开发设计平台文章目录 NLP的积淀Method1. 预训练的方法#xff1a;放宽约束#xff1a;对比学习2. 模型训练训练时间 ExperimentsMotivationPrompt#xff1a;提示#xff1a;也就是文本的引导作用Prompt enginneringPrompt ensembling 对比实验 NLP的积淀
取之不尽用之不竭的自监督信… 文章目录 NLP的积淀Method1. 预训练的方法放宽约束对比学习2. 模型训练训练时间 ExperimentsMotivationPrompt提示也就是文本的引导作用Prompt enginneringPrompt ensembling 对比实验 NLP的积淀
取之不尽用之不竭的自监督信号 transformer 自监督学习 训练出来的模型又大又好而且又简单泛化性又好为多模态的训练铺平了道路。
只需要图片文本对不需要标注 数据的规模就很容易大起来了。
现在的监督信号是一个文本而不是n选1的这种标签了所以模型的输入输出啊自由度就大很多。
用文本监督信号来帮助训练一个视觉模型 是非常有潜力的。
Method
1. 预训练的方法放宽约束对比学习
对比学习的目标函数 比 预测型的目标函数 训练效率提升了4倍
线性投射层非线性投射层 对clip这种多模态没什么影响
数据增强随机裁剪
把对比学习中的temperature这个超参数设计为可学习的标量了直接在模型训练过程中就被优化了不需要当成一个超参数去调参
2. 模型训练
5种ResNet 3中Vision Transformer(ViT-B/32, ViT-B/16, ViT-L/14)32 epochAdam optimizer with decoupled weight decay regularizationDecay the learning rate using a cosine scheduleInitial hyperparameters: combination of grid searches, random search, and manual tuning on the basline ResNet50 model when trained for 1 epoch. 为了调参调的快一点做超参搜索的时候都是用最小的resnet50做的都只训练了一个epoch。超参数were then adapted heuristically for larger models due to computational constraints。对于更大的模型这里就没有去调参了/训练的时候batch-size是32768混精度训练加速训练而且省内存为了进一步节省内存还尝试了gradient checkpointing, half-precision Adam statistics, half-precision stochastically rounded text encoder weights计算相似度也是分配到不同的gpu去做的/ 经过这么多工程上的优化CLIP才能训练起来 OpenAI成员撰写How to Train Really Large Models on Many GPUs?
训练时间
RN50x64: 18day 592 V100 Largest ViT: 12day 256 V100 就像vit论文中提到的训练一个vit要比训练一个残差网络要高效 Trick: 在更大尺寸图片上finetune从而获得性能提升
Experiments
Motivation
之前的自监督或者无监督的方法主要研究的是特征学习的能力他们的目标是学习一个泛化比较好的特征。 即使你学习到了很好的特征当你运用到下游任务的时候你还是需要有标签的数据去做微调。比如下游任务不好去收集数据有distribution shift的问题。 如何能够训练一个模型接下来就不再训练或者不再微调了呢这就是作者研究zero-shot 迁移的动机 用文本做引导去很灵活的做这种zero-shot的迁移学习。
一个图的特征与N个文本特征做cosine similarity再计算softmax概率分布文本端的编码不是按照顺序进行的是批量进行的所以clip的推理还是非常高效的它并不会慢。
Prompt提示也就是文本的引导作用
为什么要做prompt engineering和prompt ensembling呢 polysemy多义性一个单词可以有很多含义。只用一个单词做特征抽取就会有歧义性出现了。预训练的时候使用的是句子和图片所以推理的时候如果输入单个单词会出现distribution gap
Prompt enginnering
提供模板 A photo of a {label}如果你知道先验信息你可以加上一些解释。A photo of a {label}, a type of pet 如果你想找ocr里面内容把你想找的文字或数字加上双引号他就会更明白你的意思了。他可能就知道你就是想找双引号里面的内容了。
Prompt ensembling
多用一些这些推理的模板然后把结果综合起来ensemble一般都会给你更好的结果。 by the way, 作者用了80个ensembe的模板 Prompt_Engineering_for_ImageNet.ipynb
imagenet_templates [a bad photo of a {}.,a photo of many {}., 图中有许多...a sculpture of a {}.,a photo of the hard to see {}., 比较小的物体a low resolution photo of the {}.,a rendering of a {}.,graffiti of a {}.,a bad photo of the {}.,a cropped photo of the {}.,a tattoo of a {}.,the embroidered {}.,a photo of a hard to see {}.,a bright photo of a {}.,a photo of a clean {}.,a photo of a dirty {}.,...数据集 - 怎么选择模型 - 怎么去做预训练 - 怎么去做zero-shot推理
对比实验
作者在27个数据集上做了对比实验 比较的双方zero-shot clip; Linear Probe on ResNet50是图片里面的基线 clip 高于基线的就是绿色反之蓝色的。 给物体进行分类的时候clip一般表现都比较好 需要特定领域的知识来做分类的任务可以用few-shot。
难的任务用few-shot来做 BiT-M是一个很好的baseline