CLIP 数据分析

CLIP 得以成功的关键在于来源于网络所收集的高质量数据集(WIT400M),但关于 CLIP 数据集策划过程的细节一直是个谜。

CLIP的数据策划具有明显的优势。首先,它是从零开始策划的,避免通过筛选引入偏见。其次,CLIP的数据策划过程平衡了元数据上的数据分布,最大程度地保留了信号,同时减轻了数据中的噪音,而不是完全去除噪音。这种分布为任务无关的数据打下了基础,这是基础模型的重要组成部分。

这个例子用于解释数据筛选或过滤的影响。在这个例子中,考虑两种不同的数据筛选情况:

  1. 针对数字的筛选:如果你使用一个筛选器来移除文本中的数字,这可能会去除包含日期或身份证号码等信息的文本中的噪音,因为这些信息通常包含数字。然而,对于需要进行光学字符识别(OCR)的任务(例如MNIST手写数字识别),这个筛选器就会移除任务所需的信息,因为它会去掉数字,而OCR任务正是要识别数字。

  2. 移除少于5个字符的文本的筛选:如果你使用一个筛选器来移除文本中少于5个字符的部分,那么它可能会去掉"dog"这个词,因为它只有3个字符,这就是一个筛选器移除了信号的例子,因为"dog"实际上是有意义的词汇,而不是噪音。

这两个例子强调了数据筛选的挑战,即在试图去除噪音的同时,可能会不小心移除了任务所需的有用信息。因此,在数据筛选过程中,需要谨慎权衡,以确保不会丢失任务所需的信号。

准备50万个查询,每个查询匹配2w张图片,共计4亿个图像-文本对。

3.1 METADATA

这段话描述了一个构建查询列表(base query list)的过程,该列表用于某种自然语言处理任务或信息检索任务。以下是各个步骤的解释:

  1. 基本查询列表(base query list):这是起始的查询词列表,其中包括在英文维基百科中至少出现100次的所有单词。这些单词被认为是常见的,可能在许多文本中出现,因此被列为起始的查询词汇。

  2. 二元组(bi-grams)的添加:在基本查询列表之后,还添加了具有高点互信息(pointwise mutual information)的二元组。点互信息是一种用于衡量两个词在文本中共同出现的度量,高点互信息表示这些词在文本中经常一起出现。这些二元组被添加到查询列表中,以扩充查询的范围。

  3. 维基百科文章名称的添加:接下来,将所有具有特定搜索量以上的维基百科文章名称添加到查询列表中。这意味着如果某个维基百科文章经常被搜索或访问,它的名称将被添加到查询列表中,以便包含流行的主题或关键词。

  4. WordNet同义词集的添加:最后,将所有不在查询列表中的WordNet同义词集(WordNet synsets)添加到列表中。WordNet是一个词汇数据库,其中包含了单词的不同义项以及它们之间的关系。这一步骤旨在丰富查询列表,使其包括更多词汇的同义词和相关词汇。

总的来说,这个过程是为了构建一个丰富的查询列表,以便在信息检索或自然语言处理任务中使用。这个列表包括常见单词、常见词组、流行的维基百科文章名称以及WordNet中的同义词,以便提高任务的准确性和覆盖范围。

3.2 SUB-STRING MATCHING: text → entry

在构建了元数据之后,CLIP的数据策划通过子字符串匹配来将图像文本对与元数据条目对齐。这个过程识别出包含任何元数据条目的文本,有效地将非结构化文本与结构化元数据条目关联起来。子字符串匹配步骤只保留高质量的匹配文本,自动过滤掉典型筛选系统通常需要逐个案例考虑的各种噪音类型。这种对齐过程在Radford等人(2021年)中被称为子字符串匹配:"我们还将CLIP中的这一步限制为仅用于文本查询的子字符串匹配,而大多数网络监督工作使用标准图像搜索引擎..."。

简单来说,这个过程是为了将文本与元数据关联起来,通过子字符串匹配来找到包含元数据关键词的文本,这有助于将非结构化的文本与结构化的元数据进行关联,同时保留高质量的匹配文本并过滤掉噪音。这种方法在CLIP中被用于对齐图像和文本。

当构建一个涉及文本和元数据的系统时,子字符串匹配可以帮助将文本与元数据关联起来。下面我将举例说明这个过程:

假设我们有一些图像,每张图像都伴随着一段描述性文本。我们还有一些元数据,这些元数据是关于图像内容的关键词或短语。

元数据(Metadata):

  1. 元数据1: "狗"
  2. 元数据2: "沙滩"
  3. 元数据3: "嬉戏"
  4. 元数据4: "阳光"

图像文本描述:

  • 图像1描述: "一只快乐的狗在沙滩上嬉戏。"
  • 图像2描述: "海滩上的日落景色,太阳照耀着沙滩。"

现在,我们要使用子字符串匹配来将这些图像的文本描述与元数据关联起来。具体步骤如下:

  1. 对于每个图像文本描述,我们检查它是否包含元数据中的任何关键词。如果包含,就将该文本与相应的元数据关联。

    • 图像1描述包含 "狗"、"沙滩"、"嬉戏"等关键词,因此与元数据1、2、3关联。
    • 图像2描述包含 "沙滩"、"阳光"等关键词,因此与元数据2、4关联。
  2. 最后,我们得到了关联的结果,如下:

    • 图像1描述与元数据1(狗)、元数据2(沙滩)、元数据3(嬉戏)相关联。
    • 图像2描述与元数据2(沙滩)、元数据4(阳光)相关联。

这个过程的目标是将图像文本与元数据进行匹配,以便在后续的任务中更容易检索或组织图像。通过子字符串匹配,我们可以找到包含元数据关键词的文本,从而将非结构化的图像描述与结构化的元数据关联起来。这在信息检索、标注或组织图像数据时非常有用。

相关推荐
快手技术1 小时前
快手提出端到端生成式搜索框架 OneSearch,让搜索“一步到位”!
算法
CoovallyAIHub21 小时前
中科大DSAI Lab团队多篇论文入选ICCV 2025,推动三维视觉与泛化感知技术突破
深度学习·算法·计算机视觉
NAGNIP1 天前
Serverless 架构下的大模型框架落地实践
算法·架构
moonlifesudo1 天前
半开区间和开区间的两个二分模版
算法
moonlifesudo1 天前
300:最长递增子序列
算法
CoovallyAIHub1 天前
港大&字节重磅发布DanceGRPO:突破视觉生成RLHF瓶颈,多项任务性能提升超180%!
深度学习·算法·计算机视觉
CoovallyAIHub1 天前
英伟达ViPE重磅发布!解决3D感知难题,SLAM+深度学习完美融合(附带数据集下载地址)
深度学习·算法·计算机视觉
聚客AI2 天前
🙋‍♀️Transformer训练与推理全流程:从输入处理到输出生成
人工智能·算法·llm
大怪v2 天前
前端:人工智能?我也会啊!来个花活,😎😎😎“自动驾驶”整起!
前端·javascript·算法
惯导马工2 天前
【论文导读】ORB-SLAM3:An Accurate Open-Source Library for Visual, Visual-Inertial and
深度学习·算法