目录
写在前面
Introduction
第1段
第2段
第3段
第4段
第5段
第6段
第7段
第8段
第9段
第10段
第11段
第12段
Figure2
关键特点
图中具体内容
图例说明
写在前面
为啥要写这篇文章?因为找不到一篇写的特别好的【翻译并仔细解释】文章。网上大多千篇一律,写的不够详细。因此,博主打算自己从头到尾,仔细的过一遍。希望帮助大家!
上一篇,我们介绍了第1篇文章,Segment Anything论文详细翻译【Part1:作者+Figure1+摘要】 - 知乎。本节课,我们继续学习第2部分“引言”。
Introduction
第1段
大规模语言模型,在网络规模的数据集上进行预训练,正在凭借强大的零样本和小样本泛化能力,革新自然语言处理(NLP)。这些“基础模型”能够泛化到训练过程中未见过的任务和数据分布。该能力通常通过提示工程实现,其中费手工精心编写的文本,用于提示语言模型生成任务所需的有效文本响应。当使用来自网络的大量文本语料库进行扩展和训练时,这些模型在零样本和小样本任务上的表现令人惊讶地好,甚至在某些情况下可以媲美经过微调的模型。实验证明,随着模型规模、数据集大小和总训练计算量的增加,这种行为会不断改善。
基础模型(Foundation Models): 基础模型是指那些在大规模数据集上进行预训练,并能够泛化至大量不同任务的通用模型。它们在未经过训练的新任务上表现出色,通常通过零样本或少量样本学习(zero-shot and few-shot learning)。
大规模语言模型(Large Language Models):这类模型在非常大的文本数据集上进行预训练,使其在处理自然语言任务时具有强大的能力。常见的例子包括GPT-3、BERT和T5等。
网络规模的数据集(Web-scale Datasets):在互联网海量数据中抽取的非常大规模的数据集。典型的数据集通常包含数亿甚至数十亿个文本片段,用于训练模型以理解和生成人类语言。
预训练(Pre-training):预训练是一种在大型数据集上训练模型的方法,模型通过学习广泛的语言模式和知识来获取初始能力。在这个过程中,模型并不知道最终任务是什么,仅仅是学习语言的结构和使用规则。
零样本(Zero-shot)和小样本(Few-shot): 零样本泛化是指模型能够在完全没有见过相关示例的情况下完成任务。例如,当一个模型能够正确地翻译从未见过的语言对时,便实现了零样本泛化。 小样本泛化是指模型仅需少量示例即可完成新的任务。例如,当模型能够通过少数几次学习新的文本分类任务并达到高准确率时,便实现了小样本泛化。
泛化能力(Generalization Ability):指模型在未见过的数据和任务上仍能表现良好的能力。良好的泛化能力意味着模型不仅仅能记住训练数据,还能从中抽象出适用于新情境的规律和知识。
提示工程(Prompt Engineering):通过设计特定的输入提示来引导大型预训练模型生成所需的输出。例如,设计问题的方式、添加特定的前缀或后缀来诱导模型生成所需的答案或文本。
文本语料库(Text Corpora):大型文本数据集,用于训练和评估自然语言处理模型。这些语料库通常包含各类文档、对话、社交媒体帖子等,涵盖广泛的语言使用情况。
零样本任务(Zero-shot Tasks):未经过专门训练或微调的新任务。模型直接应用于这些任务,依赖于预训练中学到的知识和泛化能力。例如,让一个语言模型进行医学诊断,但它在预训练时并没有见过医学诊断的数据。
微调(Fine-tuning):在特定任务或数据集上对预训练模型进行进一步训练。微调通常通过在特定任务数据上进行几个时期的训练来细化模型的能力,使其在该任务上表现更好。
第2段
基础模型也在计算机视觉中,有所探索,尽管程度较小。最突出的例子可能是:将网络中的文本和图像配对。例如,CLIP和ALIGN使用对比学习,来训练文本和图像编码器,使两种模式对齐。一旦训练完成,经过设计的文本提示可以实现对新视觉概念和数据分布的零样本泛化。这些编码器还可以与其他模块有效组合以实现下游任务,例如图像生成(如DALL·E)。虽然在视觉和语言编码器方面,取得了许多进展,计算机视觉还包括比这范围更广的一系列问题,对于其中的许多问题,丰富的训练数据并不存在。
对比学习(Contrastive Learning): 对比学习是一种自监督学习方法,通过最大化相似样本(正样本对)之间的相似性,并最小化不同样本(负样本对)之间的相似性来学习数据的表示。CLIP和ALIGN使用对比学习来对齐文本和图像的表示。
CLIP: CLIP(Contrastive Language-Image Pre-training)是OpenAI开发的一种模型,通过对比学习将文本和图像对齐。它在训练中使用大量的图像和文本对,使得模型能够进行零样本学习,并能处理未见过的数据分布和视觉概念。
ALIGN: ALIGN(A Large-scale ImaGe and Noisy-text embedding)是Google提出的一个类似于CLIP的模型,也使用对比学习来训练文本和图像编码器。它在大规模的图像和文本数据上进行训练,目标是对齐两种模式(文本和图像)。
文本提示(Text Prompts): 文本提示是一种通过输入特定文本来引导模型生成所需输出的方法。在CLIP和ALIGN中,经过设计的文本提示用于指导模型进行零样本泛化。
DALL·E: DALL·E是OpenAI开发的一种图像生成模型,它可以根据文本描述生成对应的图像。DALL·E利用了训练过的视觉和语言编码器,将文本提示转化为图像生成。
视觉和语言编码器(Vision and Language Encoders): 编码器是一种神经网络模型,用于将输入数据(如图像或文本)转化为固定长度的向量表示。CLIP和ALIGN通过对比学习训练视觉和语言编码器,使两种不同模式的表示能够对齐,从而实现更好地跨模态任务表现。
第3段
在这项工作中,我们的目标是构建一个用于图像分割的基础模型。具体来说,我们希望开发一个可提示的模型,并在一个广泛的数据集上进行预训练,以实现强大的泛化能力。通过这个模型,我们旨在利用提示工程,解决新数据分布上的一系列下游分割问题。
第4段
这一计划的成功取决于任务、模型和数据这三个要素。为了实现这些,我们解决了有关图像分割的以下问题:
- 什么任务可以实现零样本泛化?
- 相应的模型架构是什么?
- 什么数据可以支持这个任务和模型?
第5段
这些问题是相互关联的,需要综合解决。我们首先定义了一个可提示的分割任务,该任务足够通用,可以提供强大的预训练目标,并能够支持广泛的下游应用。这个任务要求模型支持灵活提示,并可以在提示时实时输出分割掩码,以实现交互式使用。为了训练我们的模型,我们需要一个多样的大规模数据源。不幸的是,没有一个用于分割的网页级数据源;为了解决这个问题,我们构建了一个“数据引擎”,即我们在使用高效模型协助数据收集和使用新收集的数据来改进模型之间迭代进行。接下来,我们介绍每个相互关联的组件,然后是,我们创建的数据集,和证明我们方法有效的实验。
第6段
任务 (第2节): 在自然语言处理(NLP)和近来的计算机视觉领域,基础模型已成为一种有前景的发展方向。这些模型通常使用提示(prompting)技术,能够进行零样本和少样本学习新数据集和新任务。受到此类工作的启发,我们提出了可提示的分割任务,其目标是根据任意分割提示,返回一个有效的分割掩码(见图1a)。提示只是简单地指定了在图像中需要分割的内容,例如,提示可以包含用于标识物体的空间或文本信息。有效输出掩码的要求意味着,即使提示是模糊的并且可能指向多个物体(例如,衣服上的一点,可能指示衣服或穿着衣服的人),输出都应当是其中至少一个物体的合理掩码。我们使用可提示的分割任务,作为预训练目标,并通过提示工程解决一系列下游分割任务。
第7段
模型 (第3节): 可提示的分割任务和实际应用需求,对模型的架构设计提出了一些约束。具体来说,模型需要支持灵活的提示,能够在摊销的实时环境中计算掩码以便交互使用,并且必须能够识别和处理歧义。意外的是,我们发现一个简单的设计就能满足这些要求:一个强大的图像编码器用来计算图像嵌入,一个提示编码器嵌入提示信息,然后这两个信息源被结合到一个轻量级的掩码解码器中,该解码器预测分割掩码。我们称这个模型为“全能分割模型”(Segment Anything Model,即SAM,见图1b)。通过将SAM,分成图像编码器和快速提示编码器/掩码解码器,可以在不同提示下,复用同一个图像嵌入(并摊销计算成本)。给定一个图像嵌入,提示编码器和掩码解码器可以在大约50毫秒内,根据提示预测出一个掩码。我们专注于点、框和掩码提示,并且展示了自由格式文本提示的初步结果。为了让SAM具备歧义识别能力,我们设计它以预测单个提示的多个掩码,从而让SAM自然地处理歧义,例如:区分衣服和穿衣者之间的区别。
第8段
数据引擎 (第4节): 为了让SAM在新的数据分布上实现强大的泛化能力,我们发现,有必要在一个大型且多样化的掩码数据集上训练SAM,这远远超出了现有的任何分割数据集。虽然,典型的方法是从网上获取数据,但掩码数据并不天然丰富,因此,我们需要一个替代策略。我们的解决方案是,建立一个“数据引擎”,即在数据集标注过程中,与模型共同开发(见图1c)。我们的数据引擎分为三个阶段:辅助手动、半自动和全自动。在第一阶段,SAM协助标注人员进行掩码标注,类似于经典的交互式分割设置。在第二阶段,SAM通过提示可能的对象位置自动生成部分对象的掩码,而标注人员集中精力标注剩余的对象,以增加掩码的多样性。在最后阶段,我们通过一个规则的前景点网格提示SAM,平均每张图像生成大约100个高质量掩码。
第9段
数据集 (第5节): 我们的最终数据集SA-1B包含了超过10亿个掩码,这些掩码来自1100万张已授权且保护隐私的图像(见图2)。SA-1B完全通过我们数据引擎的最后阶段自动收集,其掩码数量是现有任何分割数据集的400倍。经过广泛验证,这些掩码具有高质量和高度多样性。除了用于训练以使SAM更强大和通用之外,我们还希望SA-1B能成为建立新基础模型的研究中的宝贵资源。
第10段
负责任的AI (第6节): 我们研究并报告了在使用SA-1B和SAM时,可能存在的公平性问题和偏见。SA-1B中的图像来自地理和经济多样化的国家,我们发现SAM在不同人群中表现一致。我们希望这能使我们的工作在实际应用中更加公正。在附录中,我们提供了模型和数据集卡片。
第11段
实验 (第7节): 我们对SAM进行了广泛的评估。首先,使用一个包含23个不同分割数据集的多样化新套件,我们发现SAM能够从单个前景点,生成高质量的掩码,其表现通常仅稍低于手动标注的真实值。其次,通过提示工程的零样本转移协议,我们在多种下游任务中(包括边缘检测、目标提议生成、实例分割,以及文本到掩码预测的初步探索)获得了始终如一的强有力的定量和定性结果。这些结果表明,SAM可以在使用提示工程的情况下,直接应用于解决涉及对象和图像分布的各种任务,超出其训练数据的范围。然而,仍有改进空间,正如我们在第8节中讨论的那样。
第12段
发布: 我们将SA-1B数据集开放供研究用途,并根据宽松的开放许可证(Apache 2.0)发布SAM,网址是https://segment-anything.com。此外,我们还通过在线演示展示了SAM的功能。
Figure2
关键特点
- 多样性:图片中展示的图像来自不同的场景和对象,体现了数据集的多样性。
- 掩码数量:图片中的图像根据每张图像上叠加掩码的数量分组,具体分为以下几类:
- 小于50个掩码
- 50到100个掩码
- 100到200个掩码
- 200到300个掩码
- 300到400个掩码
- 400到500个掩码
- 超过500个掩码
图中具体内容
- <50个掩码:
- 左上角部分,包括海面上船只、墙上的壁画、停机坪上的飞机等,展示了简单且少量对象的场景。
- 50-100个掩码:
- 这一部分包含操场上的人、游乐园中的场景等,掩码数量相对较多。
- 100-200个掩码:
- 中等复杂度的场景,例如市场摊位、摆放食物的桌子等,显示了更多的对象分割。
- 200-300个掩码:
- 更复杂的场景,如大型市场、繁忙的街道等,掩码数量进一步增加。
- 300-400个掩码:
- 包括水果摊、超市货架、人群聚集等,非常复杂和多样化的场景。
- 400-500个掩码:
- 最复杂的场景之一,展示了充满商品的货架和密集的市场场景,大量的对象被分割。
- >500个掩码:
- 最复杂的场景,包括全景市场和蔬菜摊位,每张图像中有超过500个分割掩码。
图例说明
- 图例说明:
- 图例的下方标注了这些图像的来源:SA-1B数据集,它包含1100万张授权并保护隐私的高分辨率图像和11亿个高质量分割掩码。
- 这些掩码是完全由SAM自动标注的,并经过了人工评级和大量实验验证,确保了高质量和多样性。
- 出于可视化的目的,图像按每张图像上的掩码数量分组,每张图像平均有大约100个掩码。