文生图的基石CLIP模型的发展综述

clip stands for contrastive language-image pre-training, which is a pre-training method or model based on contrastive text-image pairs. it is a multimodal model that relies on contrastive learning. the training data for clip consists of text-image pairs, where an image is paired with its corresponding text description. through contrastive learning, the model aims to understand the relationship between text and image pairs.

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

文生图的基石CLIP模型的发展综述

Open AI在2021年1月份发布了DALL-E和CLIP,这两个模型都是多模态模型,能够结合图像和文本。DALL-E是一种基于文本生成图像的模型,而CLIP则是利用文本作为监督信号来训练可迁移的视觉模型。

在Stable Diffusion模型中,通过cross attention将CLIP文本编码器提取的文本特征嵌入到扩散模型的UNet中。具体来说,文本特征被用作attention的key和value,而UNet的特征则被用作query。换句话说,CLIP实际上是将文字和图片之间建立连接的关键桥梁,将文本信息与图像信息有机地结合起来。这种结合方式使得模型能够更好地理解和处理不同模态之间的信息,从而在处理复杂任务时取得更好的效果。通过这种方式,Stable Diffusion模型能够更加有效地利用CLIP的文本编码能力,从而提升整体性能并拓展应用领域。

CLIP

文生图的基石CLIP模型的发展综述

这是OpenAI在21年最早发布的论文,要想理解CLIP,我们需要将缩略词解构为三个组成部分:(1)Contrastive ,(2)Language-Image,(3)Pre-training。

我们先从Language-Image开始。

在传统机器学习模型中,通常只能接受单一模态的输入数据,比如文本、图像、表格数据或音频。如果需要使用不同模态的数据来进行预测,就必须训练多个不同的模型。而在CLIP中,“Language-Image”表示该模型可以同时接受文本(语言)和图像两种类型的输入数据。这种设计使得CLIP能够更灵活地处理不同模态的信息,从而提高了其预测能力和应用范围。

CLIP通过使用两个不同的编码器处理文本和图像输入,分别是文本编码器和图像编码器。这两个编码器将输入数据映射到较低维度的潜在空间中,为每个输入生成相应的嵌入向量。一个重要的细节是,文本和图像编码器将数据嵌入到相同的空间中,即原始的CLIP空间是一个512维向量空间。这种设计使得文本和图像之间可以进行直接的比较和匹配,无需额外的转换或处理。这样一来,CLIP可以在同一个向量空间中表示文本描述和图像内容,从而实现了跨模态的语义对齐和检索功能。这种共享的嵌入空间的设计使得CLIP具有更好的泛化能力和适应性,使其能够在各种任务和数据集上表现出色。

Contrastive

虽然将文本和图像数据嵌入到同一向量空间可能是一个有用的起点,但仅仅做到这一点并不能确保模型能够有效地比较文本和图像的表示。举例来说,建立文本中“狗”或“一张狗的照片”的嵌入与狗图像的嵌入之间的合理且可解释的关系是很重要的。然而,我们需要一种方法来弥合这两种模式之间的差距。

在多模态机器学习中,有各种各样的技术来对齐两个模态,但目前最流行的方法是对比。对比技术从两种模式中获取成对的输入:比如一张图像和它的标题并训练模型的两个编码器尽可能接近地表示这些输入的数据对。与此同时,该模型被激励去接受不配对的输入(如狗的图像和“汽车的照片”的文本),并尽可能远地表示它们。CLIP并不是第一个图像和文本的对比学习技术,但它的简单性和有效性使其成为多模式应用的支柱。

Pre-training

虽然CLIP本身对于诸如零样本分类、语义搜索和无监督数据探索等应用程序很有用,但CLIP也被用作大量多模式应用程序的构建块,从Stable Diffusion和DALL-E到StyleCLIP和OWL-ViT。对于大多数这些下游应用程序,初始CLIP模型被视为“预训练”的起点,并且整个模型针对其新用例进行微调。

虽然OpenAI从未明确指定或共享用于训练原始CLIP模型的数据,但CLIP论文提到该模型是在从互联网收集的4亿对图像-文本上进行训练的。

https://www.php.cn/link/7c1bbdaebec5e20e91db1fe61221228f

ALIGN: Scaling Up Visual and Vision-Language Representation Learning With Noisy Text Supervision

文生图的基石CLIP模型的发展综述

使用CLIP, OpenAI使用了4亿对图像-文本,因为没有提供细节,所以我们不可能确切地知道如何构建数据集。但是在描述新的数据集时,他们参考了谷歌的Google’s Conceptual Captions 作为灵感——一个相对较小的数据集(330万图像描述对,这个数据集使用了昂贵的过滤和后处理技术,虽然这些技术很强大,但不是特别可扩展)。

所以高质量的数据集就成为了研究的方向,在CLIP之后不久,ALIGN通过规模过滤来解决这个问题。ALIGN不依赖于小的、精心标注的、精心策划的图像字幕数据集,而是利用了18亿对图像和替代文本。

虽然这些替代文本描述平均而言比标题噪音大得多,但数据集的绝对规模足以弥补这一点。作者使用基本的过滤来去除重复的,有1000多个相关的替代文本的图像,以及没有信息的替代文本(要么太常见,要么包含罕见的标记)。通过这些简单的步骤,ALIGN在各种零样本和微调任务上达到或超过了当时最先进的水平。

https://arxiv.org/abs/2102.05918

K-LITE: Learning Transferable Visual Models with External Knowledge

文生图的基石CLIP模型的发展综述

与ALIGN一样,K-LITE也在解决用于对比预训练的高质量图像-文本对数量有限的问题。

DALL·E 2 DALL·E 2

OpenAI基于GPT-3模型开发的AI绘图生成工具,可以根据自然语言的描述创建逼真的图像和艺术。

DALL·E 2 44 查看详情 DALL·E 2

K-LITE专注于解释概念,即将定义或描述作为上下文以及未知概念可以帮助发展广义理解。一个通俗的解释就是人们第一次介绍专业术语和不常用词汇时,他们通常会简单地定义它们!或者使用一个大家都知道的事物作为类比。

为了实现这种方法,微软和加州大学伯克利分校的研究人员使用WordNet和维基词典来增强图像-文本对中的文本。对于一些孤立的概念,例如ImageNet中的类标签,概念本身被增强,而对于标题(例如来自GCC),最不常见的名词短语被增强。通过这些额外的结构化知识,对比预训练模型在迁移学习任务上表现出实质性的改进。

https://arxiv.org/abs/2204.09222

OpenCLIP: Reproducible scaling laws for contrastive language-image learning

文生图的基石CLIP模型的发展综述

到2022年底,transformer 模型已经在文本和视觉领域建立起来。在这两个领域的开创性经验工作也清楚地表明,transformer 模型在单峰任务上的性能可以通过简单的缩放定律来很好地描述。也就是说随着训练数据量、训练时间或模型大小的增加,人们可以相当准确地预测模型的性能。

OpenCLIP通过使用迄今为止发布的最大的开源图像-文本对数据集(5B)将上面的理论扩展到多模式场景,系统地研究了训练数据对模型在零样本和微调任务中的性能的影响。与单模态情况一样,该研究揭示了模型在多模态任务上的性能在计算、所见样本和模型参数数量方面按幂律缩放。

比幂律的存在更有趣的是幂律缩放和预训练数据之间的关系。保留OpenAI的CLIP模型架构和训练方法,OpenCLIP模型在样本图像检索任务上表现出更强的缩放能力。对于ImageNet上的零样本图像分类,OpenAI的模型(在其专有数据集上训练)表现出更强的缩放能力。这些发现突出了数据收集和过滤程序对下游性能的重要性。

https://arxiv.org/abs/2212.07143

但是在OpenCLIP发布不久,LAION数据集因包含非法图像已从互联网上被下架了。

MetaCLIP: Demystifying CLIP Data

文生图的基石CLIP模型的发展综述

OpenCLIP试图理解下游任务的性能如何随数据量、计算量和模型参数数量的变化而变化,而MetaCLIP关注的是如何选择数据。正如作者所说,“我们认为CLIP成功的主要因素是它的数据,而不是模型架构或预训练目标。”

为了验证这一假设,作者固定了模型架构和训练步骤并进行了实验。MetaCLIP团队测试了与子字符串匹配、过滤和平衡数据分布相关的多种策略,发现当每个文本在训练数据集中最多出现20,000次时,可以实现最佳性能,为了验证这个理论他们甚至将在初始数据池中出现5400万次的单词 “photo”在训练数据中也被限制为20,000对图像-文本。使用这种策略,MetaCLIP在来自Common Crawl数据集的400M图像-文本对上进行了训练,在各种基准测试中表现优于OpenAI的CLIP模型。

https://arxiv.org/abs/2309.16671

DFN: Data Filtering Networks

文生图的基石CLIP模型的发展综述

有了MetaCLIP的研究,可以说明数据管理可能是训练高性能多模态模型(如CLIP)的最重要因素。MetaCLIP的过滤策略非常成功,但它也主要基于启发式的方法。研究人员又将研究目标变为是否可以训练一个模型来更有效地进行这种过滤。

为了验证这一点,作者使用来自概念性12M的高质量数据来训练CLIP模型,从低质量数据中过滤高质量数据。这个数据过滤网络(DFN)被用来构建一个更大的高质量数据集,方法是只从一个未经管理的数据集(在本例中是Common Crawl)中选择高质量数据。在过滤后的数据上训练的CLIP模型优于仅在初始高质量数据上训练的模型和在大量未过滤数据上训练的模型。

https://arxiv.org/abs/2309.17425

总结

OpenAI的CLIP模型显著地改变了我们处理多模态数据的方式。但是CLIP只是一个开始。从预训练数据到训练方法和对比损失函数的细节,CLIP家族在过去几年中取得了令人难以置信的进步。ALIGN缩放噪声文本,K-LITE增强外部知识,OpenCLIP研究缩放定律,MetaCLIP优化数据管理,DFN增强数据质量。这些模型加深了我们对CLIP在多模态人工智能发展中的作用的理解,展示了在连接图像和文本方面的进步。

以上就是文生图的基石CLIP模型的发展综述的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/798474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月26日 16:55:55
下一篇 2025年11月26日 16:56:17

相关推荐

  • css如何剪切元素?​clip属性的使用

    我们可以使用css clip属性来剪切元素的区域,仅保留元素的一部分可见,被留下了的可见元素部分称为剪辑区域。本篇文章就给大家介绍css clip属性是如何剪切元素的,有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所助。 在css中,clip属性只能在设置了绝对定位:“position:a…

    2025年12月24日 好文分享
    000
  • 浅谈css中的clip裁剪用法介绍

    clip 属性是用来设置元素的形状。用来剪裁绝对定位元素(absolute or fixed)。 clip有三种取值:auto |inherit|rect。inherit是继承,ie不支持这个属性, auto是默认  前两个基本属于打酱油的,我们主要来说一下clip的rect属性。 clip的rec…

    2025年12月23日
    000
  • html搜索框如何跳转_实现HTML搜索框跳转搜索结果【结果】

    HTML搜索框跳转失败多因表单action或参数错误,可通过五种方法解决:一、百度用form提交至https://www.baidu.com/s?q=关键词;二、Google类似,action为https://www.google.com/search;三、JavaScript拼接必应URL并loc…

    2025年12月23日
    200
  • 从OpenAI API JSON响应中高效提取生成文本内容

    本教程详细指导开发者如何从openai api返回的json格式响应中准确提取生成的文本。通过利用`json.parse()`方法解析响应字符串,并访问`choices[0].text`属性,可以安全、高效地获取核心文本内容,从而避免直接字符串操作的潜在问题,确保api数据处理的健壮性。 OpenA…

    2025年12月23日
    000
  • HTML语义化未来趋势有哪些_HTML语义化在Web发展中的趋势与展望

    HTML语义化正朝着智能、高效、包容发展,深度融合结构化数据与ARIA属性,提升机器理解;2. 组件化趋势推动可复用语义结构普及,Web Components实现自定义语义标签;3. 语义化助力性能优化与可访问性,支持懒加载与内容优先级划分;4. AI工具将自动生成语义化代码并辅助检测,降低实践门槛…

    2025年12月23日
    000
  • HTML数据如何用于机器学习 HTML数据预处理的特征工程方法

    首先解析HTML提取文本与元信息,再从结构、文本、样式三方面构建特征:1. 用BeautifulSoup等工具解析HTML,提取标题、正文、链接及属性;2. 统计标签频率、DOM深度、路径模式等结构特征;3. 清洗文本并采用TF-IDF或词嵌入向量化;4. 提取class、id、样式、脚本等交互与视…

    2025年12月23日
    000
  • HTML数据如何实现数据智能 HTML数据智能分析的技术架构

    实现HTML数据智能分析需构建包含采集、解析、存储、分析与可视化的闭环系统,首先通过爬虫技术获取网页数据并进行清洗标准化,接着利用DOM树分析与NLP技术提取结构化信息,随后将数据存入合适数据库或数据仓库并建立元数据管理机制,进而应用AI模型开展分类、情感分析、趋势预测与知识图谱构建等智能分析,最终…

    2025年12月23日
    000
  • HTML5 section怎么用_HTML5内容分区标签应用场景说明

    在HTML5中,标签用于定义文档中具有明确主题的独立内容区块,需包含标题以体现其结构性与语义性,常用于文章章节、产品模块等场景,区别于无语义的和可独立分发的。 在HTML5中,section 标签用于定义文档中的一个独立内容区块。它不是简单的容器,而是有语义的结构化标签,表示文档中一个主题性的分区,…

    2025年12月23日
    000
  • htm算法 前景如何_分析HTM算法应用前景

    HTM算法在实时异常检测、预测性维护等时序数据场景中具备应用价值,其无需大量标注数据的特性适合工业监控、网络安防等领域;但受限于生态薄弱、性能不及主流模型及工程实现难度,短期内难以成为主流,更可能作为边缘计算或AI系统补充技术,在特定专业领域持续发展。 HTM(Hierarchical Tempor…

    2025年12月23日
    000
  • HTML结构化数据怎么添加_Schema标记添加教程

    Schema标记通过结构化数据帮助搜索引擎理解网页内容,提升搜索结果展示效果,如添加星级评分、价格等富文本信息。使用JSON-LD或Microdata格式将符合Schema.org标准的类型(如Article、Product)嵌入HTML中,可增强SEO,需通过Google Rich Results…

    2025年12月22日
    000
  • 如何实现自定义提示

    掌握自定义提示需构建迭代工作流,通过明确目标、设定角色、提供上下文、结构化输出、示例引导、迭代优化、负面提示和链式思考,实现AI输出的精准控制与高效协同。 实现自定义提示,核心在于理解与AI模型交互的本质,并将其从“提问”升级为“引导”。它不是简单的抛出问题,而是通过精心设计的语言结构、上下文信息、…

    2025年12月22日
    000
  • 标题标签:你想知道的一切

    html,用于构建网页的语言,严重依赖于标头标签。它们用于排列和组织网页内容,使其更易于阅读和理解。标题标签范围从 h1 到 h6。 h1 是最重要的标题标签,而 h6 是最不重要的。这些标题标签有助于组织页面的内容,使其更易于阅读和导航。它们还用于告知用户和搜索引擎有关页面内容的信息,这对于 se…

    2025年12月21日
    000
  • canvas中使用clip()函数裁剪方法

    在canvas中,可以使用clip()函数裁剪区域,设定裁剪区域后,只有在区域内的图像才能显示,其余部分会被屏蔽掉。本文主要和大家介绍了canvas裁剪clip()函数的具体使用的相关资料,希望能帮助到大家。 未使用裁剪绘制一个圆 *{margin:0; padding:0;} html, body…

    2025年12月21日 好文分享
    000
  • JavaScript机器学习与人工智能库应用

    JavaScript在AI领域应用扩展,依托TensorFlow.js实现浏览器内模型推理与训练,利用WebGL加速;ML5.js提供高层接口,简化图像识别、风格迁移等功能调用;Brain.js支持轻量级神经网络开发,适用于前端智能场景如实时检测、自动补全等,虽性能不及Python,但在交互式轻量应…

    2025年12月20日
    100
  • LangChain HNSWLib 向量存储机制与数据持久化指南

    本文详细解析langchain中hnswlib向量存储的工作原理,明确其作为内存存储的特性,指出数据实际存储在项目部署的服务器上,而非langchain官方服务器。同时,文章将指导如何通过save_local()方法将内存中的向量数据持久化到本地文件,确保数据安全与可靠性,并探讨在实际应用中的注意事…

    2025年12月20日
    000
  • 使用LINE Bot与OpenAI API发送文本和贴图的完整教程

    本文详细介绍了如何在LINE Bot中集成OpenAI API生成文本回复,并在此基础上发送LINE贴图。核心挑战在于LINE Messaging API的replyToken通常只能使用一次,导致连续发送文本和贴图时出现400错误。解决方案是利用API支持一次性发送多条消息的特性,将文本和贴图消息…

    2025年12月20日
    000
  • 如何用机器学习算法优化前端用户交互体验?

    通过机器学习分析用户行为数据,可实现前端交互的个性化与自适应优化。1. 利用LSTM、XGBoost等模型预测用户操作,实现智能补全与实时推荐;2. 借助强化学习与聚类算法动态调整UI布局,提升操作效率;3. 使用孤立森林等无监督方法检测异常交互,优化流程设计;4. 通过时序模型预测页面跳转,结合S…

    2025年12月20日
    000
  • C++机器学习入门 线性回归实现示例

    首先实现线性回归模型,通过梯度下降最小化均方误差,代码包含数据准备、训练和预测,最终参数接近真实关系,适用于高性能场景。 想用C++实现线性回归,其实并不复杂。虽然Python在机器学习领域更常见,但C++凭借其高性能,在对效率要求高的场景中非常适用。下面是一个简单的线性回归实现示例,帮助你入门C+…

    2025年12月18日
    000
  • C++中如何构建机器学习框架_张量运算实现

    要构建高效的c++++机器学习框架张量运算模块,需遵循以下核心步骤:1. 设计支持泛型的tensor类,包含内存管理与基础接口;2. 实现运算符重载以简化加减乘除操作;3. 采用simd、多线程及缓存优化提升性能;4. 使用openmp实现并行化加法;5. 利用strassen或winograd算法…

    2025年12月18日 好文分享
    000
  • 怎样在C++中实现决策树_机器学习算法实现

    决策树在c++++中的实现核心在于通过递归构建树节点,使用“如果…那么…”逻辑进行数据分裂,最终实现分类或预测。1. 数据结构方面,定义包含特征索引、分裂阈值、左右子节点、叶子节点值及是否为叶子的treenode结构;2. 分裂准则包括信息增益(id3)、信息增益率(c4.5)和基尼指数(cart)…

    2025年12月18日 好文分享
    000

发表回复

登录后才能评论
关注微信