CLIP论文阅读

作者:LioneWang
链接:https://zhuanlan.zhihu.com/p/1996842714956841421
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

标题

  • Learning transferable visual models from natural language supervision
  • Clip定义是constrastive language-image pre-training
  • 无监督的训练范式
    通过正类和负类样本的比较,看到正类就拉近,看到负类就拉远

目的

从自然语言的监督信号学习迁移性能好的模型 目的是学一个泛化性能好的特征,从而在各种数据集和任务,不需要训练,直接推理就可以获得好的效果
框架

  • 对比学习预训练
  • 创建label分类器,用prompt engineering的方式将文本变成句子
  • 使用zero-shot进行推理
    摘要
  • 之前的数据集有固定的类,但是如果推理任务需要一个其他的类,这个类难道要新训练一个模型吗? 该方法可以通过zero-shot,可以通过对语义信息(而不依赖预训练的图片信息)的摘取,从而识别新出现的image,在任何新的类上进行下游任务的推理 采用的是对比学习的方法,采样了400million的pair

引入

  • 自回归和MLM的训练方式都是自监督的预训练,目标函数和下游任务无关,只是通过预训练得到一个泛化性能好的特征
  • 模型架构也和下游任务无关
  • 之前的工作,有的数据集不够大,有的模型不够好
    这篇文章的数据集使用400million的图像文本对,模型使用8个models进行对比,在30个CV的数据集上进行测试
    线性探测
  • 区分微调:线性探测完全冻结预训练参数,只是增加分类的线性头部
    使用线性探测(linear probe)的方式,发现对ImageNet的固定的1000个label,效果依然比SOTA的resnet等模型效果要好

方法

自然语言监督

优势

  • 只需要收集<图片,文本>对这种无监督的数据,无需标注
  • 监督信号是文本, 不需要学习imagenet的1-N这种gold label,输出自由度大
  • 学到的特征不是单单视觉特征,而是多模态特征,很容易做zero-shot学习
    创建大规模数据集
    现有工作
  • instagram数据集的图片,hashtag对,很多都是无效语义信息,并且数量不够,只有15million
    构建数据集
  • 自己构造400million的数据集,叫WebImageText数据集
    预训练的任务方式
    预测型任务
  • 如果给定一张图片,可以解释的语言就太多了
    对比学习
  • 只需要判断图片和文本是否配对


随着约束不断放宽,从预测到对比学习,性能提升4倍

伪代码

  • 损失函数的label是一个单位矩阵
  • loss每一行算一次,每一列算一次

细节

  • 图像和文本的encoder没有使用预训练的,而是从头训练
  • 展示层没有使用非线性层,而是线性层
  • 数据增强只使用了裁剪
  • 没有设置超参数temperature作用于softmax,而是把它作为一个可学习参数
    训练
  • 视觉模型选择resnet变体和ViT
  • 优化器Adam
  • 使用权重衰退抑制过拟合,提高泛化能力
  • 32个epochs
  • 3w个minibatch
  • 混合精度训练
    实验

Zero-shot

prompt-engineering

  • 目的是模拟预训练的文本格式,将lavel转换成句子
  • 实验结果


Prompt Engineering and Ensembling
现有问题
Polysemy(多意性)

  • 只用一个单词label来匹配图片,会有语义多意性
    Distribution Gap(分布偏差)
  • 预训练采用的文本通常是句子,因此微调为了模拟这种方式
    解决办法
    Prompt Engineering
  • 使用不同的提示词和句子
    研究发现对于OCR任务,如果对于想要识别的物体用双引号扩起来,往往效果更好
    Prompt Ensembling

  • 使用多次推理
  • 将结果综合起来考虑
    Few-shot
    LinearProbe-Clip
  • 冻住image的encoder,添加有标签的线性分类头

局限

  • 不擅长处理抽象任务:异常,数数,安全
  • 对某些特定数据集效果不好,例如MNIst,由于原始数据中不存在人工合成的数字照片,导致出现了distribution shift的情况
  • 不适合图生文的生成任务
  • 数据量太大,解决办法是可以用数据增强,self-supervision或者self-training的方式
  • 爬虫数据带有一些性别,肤色的偏见,公平性问题有待处理

优点

  • 打破固定标签范式,不需要做固定label类,而是用无监督的方式 > 收集数据更方便,训练更方便,推理更方便
  • 可以做zero-shot推理,泛化性能好
  • 应用范围广,多模态支持

Read more

Lostlife2.0下载官网整合LLama-Factory引擎,增强NPC对话逻辑

Lostlife2.0整合LLama-Factory引擎,重塑NPC对话逻辑 在文字冒险游戏的世界里,玩家最怕什么?不是任务太难,也不是剧情平淡——而是和一个“话术机械、反应呆板”的NPC对话时,那种瞬间出戏的割裂感。明明世界观设定是末世废土,结果NPC张口就是“绝绝子”“破防了”,这种语言风格的崩塌足以让沉浸感荡然无存。 《Lostlife2.0》作为一款以深度叙事和角色互动为核心卖点的文字冒险游戏,在开发过程中就直面了这一难题。早期版本中,NPC的对话依赖传统的决策树系统:每句台词都由编剧手动编写,每个分支都需要精确配置。这不仅导致内容维护成本极高,更带来了“选项爆炸”问题——新增一条剧情线,往往要额外添加数十个节点,最终形成一张难以管理的复杂网络。 真正的转机出现在团队引入 LLama-Factory 之后。这个开源的大模型微调框架,原本主要用于科研与企业级AI定制,但《Lostlife2.0》团队敏锐地意识到:它或许能成为解决NPC智能瓶颈的关键工具。通过将LLama-Factory深度集成到开发流程中,他们成功构建了一套动态、可进化、风格一致的对话生成系统,彻底改变了传

By Ne0inhk
开源神器Cua登场:让AI替你操作电脑,告别重复劳动

开源神器Cua登场:让AI替你操作电脑,告别重复劳动

最近在GitHub上发现了一个非常有意思的开源项目,叫做Cua(读作"koo-ah"),这可能是我见过的最具革命性的AI自动化框架了。想象一下,如果AI能像人一样"看"屏幕,理解界面内容,然后自主操作电脑,那会是什么样的体验?Cua就是为了实现这个梦想而诞生的。 作为一个长期关注自动化工具的人,我必须说,传统的自动化方案都有一个致命弱点:太脆弱了。稍微改个UI布局,整个脚本就废了。但Cua完全不同,它让AI直接"看"屏幕,就像人一样理解界面,这种全新的思路真的让人眼前一亮。 什么是Computer-Use Agents 在正式介绍Cua之前,我们先聊聊什么是Computer-Use Agents(计算机使用代理,简称CUA)。简单来说,这是一种全新的AI系统,能够像人一样通过视觉理解和动作执行来自主操作计算机界面。 传统的自动化工具通常依赖于脆弱的CSS选择器、元素ID或者API接口。一旦网页或应用更新了界面,这些工具就彻底失效了。我相信很多写过网页爬虫或者UI自动化脚本的朋友都深有体感,维护成本简直是噩梦。 但CUA完全不同,它使用视觉语言模型来感知屏幕内容,就像人一样

By Ne0inhk

Faster Whisper语音识别终极指南:4倍速度的转录神器

Faster Whisper语音识别是OpenAI Whisper模型的高效重实现,基于CTranslate2推理引擎,为音频转录带来革命性的速度提升和内存优化。这个开源项目专门为需要快速处理大量音频内容的用户设计,无论是会议记录、播客转录还是视频字幕生成,都能轻松应对。 【免费下载链接】faster-whisper 项目地址: https://gitcode.com/gh_mirrors/fas/faster-whisper 🚀 为什么选择Faster Whisper? Faster Whisper相比原版Whisper具有显著优势: 速度优势对比 | 实现方案 | 精度 | 处理时间 | 最大GPU内存 | |---------|------|----------|-------------| | OpenAI Whisper | fp16 | 4分30秒 | 11325MB | | Faster Whisper | fp16 | 54秒 | 4755MB | | Faster Whisper | int8 | 59秒 | 3091MB | 核心特性亮点: * ⚡

By Ne0inhk

GitHub访问加速终极指南:hosts配置文件完整教程

GitHub访问加速终极指南:hosts配置文件完整教程 【免费下载链接】hostsGitHub最新hosts。解决GitHub图片无法显示,加速GitHub网页浏览。 项目地址: https://gitcode.com/gh_mirrors/host/hosts 还在为GitHub图片无法加载而烦恼吗?还在忍受缓慢的GitHub页面响应速度吗?本指南将为您提供一套完整的GitHub访问加速解决方案,让您5分钟内告别网络困扰。 为什么GitHub访问如此缓慢? GitHub作为全球最大的代码托管平台,其服务器主要位于国外。由于网络环境复杂,DNS解析延迟、网络路由不佳等因素导致国内开发者访问体验极差。特别是图片资源加载失败、页面响应缓慢等问题,严重影响了开发效率。 快速配置:5分钟解决访问问题 一键获取最新hosts配置 最简单直接的方式是获取项目最新配置: git clone https://gitcode.com/gh_mirrors/host/hosts cd hosts 各系统配置步骤详解 操作系统hosts文件路径DNS刷新命令macOS/etc

By Ne0inhk