AIGC 系列分享是整数智能推出的一个全新分享系列,在这个系列中,咱们将介绍与 AIGC 概念相干的乏味内容。AIGC 系列次要分为以下几篇文章:
- 被称为下一代风口的 AIGC 到底是什么?
-
AIGC 的数据集构建计划分享系列:
- 从文本创立艺术,AI 图像生成器的数据集是如何构建的
- ChatGPT 的数据集构建计划(敬请期待)
- 未完待续 ……
最近,“AI 绘画”吸引了很多人的眼光,而“AI 绘画”在近期获得如此微小停顿的起因之一得益于 Stable Diffusion 的开源。
引自 Imagen 官网
什么是文图生成技术
文本形容:A small cabin on top of a snowy mountain in the style of Disney, artstation
文图生成技术的钻研开始于 2010 年中期,随同着深度学习技术的倒退而提高。截至 2023 年 2 月,目前已知的最先进的文生图模型有:OpenAI 的 DALL-E2、Google 的 ImageGen 和 StableilityAI 的 Stable Diffusion。这些模型生成的图片曾经开始靠近实在照片以及人类所绘艺术作品的品质。
在深度学习衰亡之前,搭建文本到图像模型的尝试仅限于通过排列现有的组件图像进行拼贴,例如从剪切画数据库中抉择图像造成相似于拼贴画的图像。随着深度学习的倒退,越来越多的机构提出基于深度学习的文生图模型。
2015 年,由多伦多大学钻研人员提出第一个现代化文生图模型:alignDRAW。它应用带有注意力机制的循环变分主动编码器来扩大之前的 DRAW 架构,使其能以文本序列作为输出。只管 alignDRAW 生成的图片是含糊,不真切的,然而该模型可能演绎出训练数据中没有的物体。并且能够适当地解决新的文本形容,例如:“停车标识在蓝天上飞”。这表明该模型在肯定水平上能够了解语言形容,并生成新的货色,而不是仅仅在“回放”训练集中的数据。
文本形容:停车标识在蓝天上飞,引自 aligenDRAW
论文 2016 年,Reed、Akata、Yan 等人首先试图将生成反抗网络(GAN)用于文生图工作。他们通过在特定畛域的数据集上训练生成器以及判断器。训练实现的模型可能从文本形容中生成“视觉上可信的”物体。然而,基于 GANs 生成的图片在视觉上只可“远观”,在细节上不足一致性。此外,基于 GANs 生成的图片多样性不够好,生成的图片都差不多,原创性不佳。常见的基于 GANs 的文图生成模型有:AttnGAN、DM-GAN、DF-GAN、XMC-GAN、VQGAN+CLIP、GauGANs、StyleGAN、Make-A-Scen 等。
2021 年 1 月,OpenAI 公布了 DALL-E,这是最早引起公众宽泛关注的文生图模型之一。DALL- E 模型是 GPT- 3 的多模态实现,它基于 Transformer 架构,领有 120 亿个参数。该模型在一个从网上收集的蕴含 2.5 亿个图像文本对的数据集上进行训练失去。DALL- E 会依据文本形容生成多个图像,之后由 CLIP 模型对这些图像进行排序,以出现最高品质的图像。除了生成各种格调的图像(相机写实主义图像、绘画、表情符号等)之外,它还能够“操作和重新排列”图像中的对象。其创作者指出 DALL- E 的一项能力是在没有明确批示的状况下将设计元素正确搁置在新鲜的作品中。例如,输出文本:“衣着圣诞衣服的企鹅”。DALL- E 不仅生成企鹅衣着毛衣的图像,还会生成与主题相干的圣诞老人的帽子。如下所示:
文本形容:衣着圣诞衣的企鹅
同年 4 月份,OpenAI 发表了新版本的 DALL-E2,声称它能够从文本形容中生成照片般真切的图像。与 DALL- E 相比,DALL-E2 在速度、图像品质、训练数据集以及语言理解能力都有了显著改良。不过有时候模型也会呈现谬误。比方 DALL-E2 就无奈辨别:“黄色的书和红色的花瓶”。
文本形容:黄色的书和红色的花瓶,右边图片由 Imagen 生成,左边图片由 DALL-E2 生成,引自 Imagen 论文
2022 年 5 月,Google 推出 Imagen。它是一种文本到图像(text-to-image)扩散模型(diffusion model),具备前所未有的逼真度和深度的语言了解。Imagen 建设在大型 Transformer 语言模型了解文本语义的能力之上,依赖于扩散模型生成高保真的图像。Imagen 表明了以下四点论断:
- 解冻大型预训练模型的文本编码器对于文本到图像工作十分无效
- 缩放预训练文本编码器的大小比缩放扩散模型的大小更重要
- 提出一种新的阈值扩散采样器,能够应用十分大的无分类器领导权重
- 引入了一种新的高效的 U -Net 架构,其计算效率更高,内存效率更高,收敛速度更快
文本形容:A brain riding a rocketship heading towards the moon,引自 Imagen 官网
2022 年 7 月,OpenAI 推出 Stable Diffusion。Stable Diffusion 是一个基于 Latent Diffusion Models(潜在扩散模型,LDMs)的文图生成(text-to-image)模型。得益于 Stability AI 的计算资源以及 LAION 的数据资源的反对,Stable Diffusion 在 LAION-Aesthetics(LAION-5B 的美学子集)上训练了一个 Latent Diffusion Models,专门用于文图生成。Latent Diffusion Models 通过在一个潜在示意空间中迭代“去噪”数据来生成图像,而后将示意后果解码为残缺的图像,让文图生成工作可能在生产级 GPU 上,在 10 秒级别工夫生成图片,大大降低落地门槛,也带来了文图生成畛域的大火。
文图生成样例,引自 Stable Diffusion 论文
同年 11 月,OpenAI 公布了 Stable Diffusion 2.0。与最后的 v1 版本相比,Stable Diffusion 2.0 版本应用全新的文本编码器(OpenCLIP)训练文本到图像模型,这大大提高了生成图像的品质。此版本的文生图模型能够生成默认分辨率为 512×512 像素以及 768×768 像素的图像。此外,该模型在 LAION-Aesthetics(LAION-5B 的美学子集)进行训练。与 v1 版本不同的是,v2 版本应用 LAION 的 NSFW(色情和性内容过滤器)过滤掉了数据集中的成人内容。
文本形容:一只戴墨镜的兔子
Stable Diffusion 2.0 还包含一个超分辨率扩散模型,它能够将图像的分辨率进步 4 倍。联合文本到图像模型,Stable Diffusion 2.0 当初能够生成分辨率为 2048×2048 甚至更高分辨率的图像。
左图:128×128 低分辨率的图片,右图:512×512 高分辨率的图片,引自 Stable Diffusion 2.0 官网
除了实现根本的文生图工作、超分辨率工作之外,Stable Diffusion 2.0 还能够玩转很多其余工作。比方 Stable Diffusion 2.0 在 v1 版本图像到图像(image-to-image)的个性之上,提出深度疏导的稳固扩散模型(depth-guided stable diffusion):depth2img。它应用现有模型推断输出图像的深度,而后应用文本和深度信息生成新的图像。
depth2img,引自 Stable Diffusion 2.0 官网
此外,Stability AI 团队在 Stable Diffusion 2.0 的根底上提出一个新的文本疏导的图像模型。这能够智能且疾速地切换图像中的局部内容。
图像修补模型生成的图像,引自 Stable Diffusion 2.0 官网
同年 12 月,OpenAI 公布了 Stable Diffusion 2.1 版本(公司效率不堪称不高),次要作了以下 3 点晋升。
- 调整过滤器,减少数据量 :在 2.0 版本中,为了避免色情内容和名人肖像的滥用,Stability AI 应用 LAION 的 NSFW(色情和性内容过滤器),过滤了成人内容。然而,该过滤器过于激进,这导致一些不置可否的图像惨遭“谐和”,这缩小模型训练数据集中的人物数量。因而,2.1 版本调整了过滤器(能够涩涩,但依然去除绝大多数涩涩内容)
- 增强非标准分辨率图像渲染 :该版本的模型显著晋升了修建、室内设计、野生动物和景观场景方面的图像品质,能够为用户提供漂亮的近景和史诗般的宽屏图像
- 增强反向提醒词 :它容许用户通知模型不生成什么,用于打消不须要的细节,使得生成的图像更加粗劣
文本形容:A mecha robot in a favela in expressionist style,左图:v1.0 版本,右图 v2.1 版本
图解 Stable Diffusion 原理
在大抵理解文图技术之后,大家是不是想要理解图文生成模型的原理以及如何构建训练数据集呢?别急,上面,咱们将以 Stable Diffusion 为例子,以图文的形式带着大家一起掀开 Stable Diffusion 的面纱。
Stable Diffusion text-to-image 示意图,引自 Jay Alammar 博客
Stable Diffusion 是个比拟杂合的零碎,次要由三个外围模块组成:
- Text Encoder(文本编码器)
- Image Information Creator(图像信息生成器)
- Image Decoder(图像生成器)
Stable Diffusion 模块示意图,引自 Jay Alammar 博客
Text Encoder(文本编码器)
该模块负责解决语义信息。通常是利用 CLIP(v1 版本)、OpenCLIP(v2 版本)等模型将人类语言(文字)编码为计算机语言(语义向量)。训练 CLIP(OpenCLIP)则须要一个图文配对的数据集。
CLIP 训练流程图,引自 Jay Alammar 博客
Image Infomation Creator(图片信息生成器)
该模块负责生成图片隐变量。其外围则是一个屡次迭代的去噪过程,即训练一个去噪的扩散模型。模型的输出是一个带噪声的图片隐变量(含语义向量),通过扩散模型,逐渐去除隐变量中的噪声(模型的预测指标是噪声),最终失去去除噪声的隐变量(加噪图减去噪声)。训练这个扩散模型,则须要一个“去噪”数据集。
噪声预测器,引自 Jay Alammar 博客
Image Decoder(图片生成器)
该模块利用隐变量生成真正的图片。具体性能是输出去噪的隐变量,通过 Image Decoder,输入一张真正的图片。
不同迭代次数下的隐向量可视化,引自 Jay Alammar 博客
Stable Diffusion 数据集构建形式
由上文可知,Stable Diffusion 算法通过了三个版本的迭代,其训练的数据集也产生不同水平的变更。总而言之,Stable Diffusion 系列模型都是在 LAION-Aesthetics(LAION-5B 的美学子集)上训练失去。区别在于 Stable Diffusion 2.0 应用 LAION 的 NSFW(色情和性内容过滤器)过滤掉了数据集中的成人内容。Stable Diffusion 2.1 调整了过滤器权重,保留了局部“涩涩”数据,扩充了数据集。
数据集内容
此类数据集由图片以及图片对应的标签(形容)组成,次要用来训练 CLIP、OpenCLIP 等多模态模型。
数据集:图片以及它们的形容,引自 Jay Alammar 博客
数据集构建
LAION-5B 是目前已知且开源的最大规模的多模态数据集。它通过 CommonCrawl 获取文本和图片,而后应用 CLIP 过滤掉图像和文本嵌入类似度低于 0.28 的图文对,最终保留下来 50 亿个图像 - 文本对。该数据集蕴含 23.2 亿的英文形容,22.6 亿个 100+ 其余语言以及 12.7 亿的未知语。
LAION-5B 数据集构建 pipeline,引自 LAION-5B 论文
LAION-5B 数据集的构建蕴含 3 个次要组件:
- Common Crawl 网页的分布式过滤
- 图像 - 文本对的分布式下载
- 内容过滤
【Common Crawl 网页的分布式过滤】:为了从 Common Crawl 中提取图像 - 文本对,作者团队从 Common Crawl 的 WAT 元数据文件中解析 HTML IMG(图片)标记。具体来说,只采集具备 alt-text 的图像。alt-text 是 IMG 标记的一个 HTML 属性,它蕴含在相应图像无奈出现状况下的文字代替。在提出代替文字后,应用 CLD3 进行语言检测,有三种可能的输入:英语、其余语言或未检测到语言。采集的后果数据存储在 PostgreSQL 服务器中,以便下一阶段进行解决。目前,该服务器始终保护大概 500 亿个图像 URL。
【图像 - 文本对的分布式下载】:为了最大限度地利用资源,作者团队通过应用 Trio 和 Asks Python 库的异步申请从解析过的 URL 下载原始图像。作者抉择一个具备 2 个 vCPUS,1GB RAM 和 10Mbps 下载宽带的小型云节点作为工作实例。这样,工作人员能够在大概 10-15 分钟内解决 10,000 个链接。
【内容过滤】:从 Common Crawl 下载 WAT 文件后,删除小于 5 个字符的文本、小于 5KB 的图像数据以及潜在的歹意、大图像或冗余图像数据。而后依据图像 - 文本对的内容对其进行过滤。具体来说,应用 OpenAI 的 ViT-B/32 CLIP 模型计算图像和文本编码之间的余弦类似度,而后删除所有余弦类似度小于 0.28 的英文图像 - 文本对,以及所有类似度低于 0.26 的其余图像 - 文本对。这一步删除了原始 500 亿张图像中的 90%,只剩下近 60 亿张图片。
作者将 LAION- 5 公布为 3 个子集:
- LAION-2B-en:蕴含 23.2 亿英文 - 图像对
- LAION-2B-multi:蕴含 2236 亿个来自 100 多种其余语言的图像 - 文本对。其中前 5 种语言别离是俄语(10.6%)、法语(7.4%)、德语(6.6%)、西班牙语(6.6%)和汉语(6.3%)
- LAION-2B-nolang:蕴含 12.7 亿个语言无奈被分明检测到的图像 - 文本对
作者团队提供 Apache Parquet 格局的元数据文件,每个图像 - 文本对蕴含以下属性:
- 64 位整数标识符
- 图像的 URL
- 文本字符串
- 图像的长和宽
- 文本与图像之间的文本类似度
- 来自 NSFW 和水印检测器的输入(别离是 0 到 1 之间的一个分数)
此外,为了适应不同工作的数据需要。LAION-5B 还提供不同的子集。例如:LAION-High-Resolution(一个规模为 170M,图像分辨率大于 1024 的超分辨率子集,用于超分辨率工作),LAION-Aesthetic(一个 120M 的美学图片子集,用于文图生成工作)。
值得一提的是,LAION-Aesthetic 应用以下三个准则,从 LAION-5B 数据集中抉择符合条件的图像:
- 只保留 pwatermark < 0.8、punsafe < 0.5 的数据。
- 针对上述数据,进行美学打分(依照人类审美对图片进行打分,一共 10 个等级,得分越高,图片越合乎美学规范),保留得分大于 8 的数据,失去一个 10M 的美学子集。
- 当升高美学得分(得分大于 7),即可失去一个 120M 的美学子集。
美学图片与惯例图像,引自 LAION-5B 官网
数据集应用
此类数据集是在图文数据集的根底之上,退出噪声,构建“去噪”数据集。次要用来训练 Difussion models。
Stable Diffusion 则是在 LAION-5B 的一个子集(LAION-Aesthetics)上训练失去的。有了图文数据集之后,只须要向一般的照片中增加噪声(高斯噪声),就有了带噪声的图片。具体的数据集构建形式如下所示:
- 从图文数据集中随机抉择照片
- 生成从强到弱的各个强度的噪声
- 抉择某个噪声强度
- 将噪声加到图片里
训练数据集构建形式:1. 抉择图片;2. 生成不同强度的噪声;3. 从中抉择强度(比方强度 1);4. 将噪声退出图片里;引自 Jay Alammar 博客
当初就实现了训练集外面的一张图片。实际上,噪声能够被划分为更加细腻的等级。若将其分为几十个甚至上百个等级档位,那么就能够创立出成千上万个训练集。比方,咱们将噪声设置为 100 个档位,上面就展现了利用不同档位联合不同图片创立 6 张训练图片的过程:
加噪数据集样例,引自 Jay Alammar 博客
值得注意的是,训练好的 Diffusion 模型生成的图片是靠近训练集散布的,它和训练集保有雷同的像素法则。比方,用一个艺术家数据集去训练模型,那么它就会遵循美学的色彩散布。用真实世界的训练集去训练模型,那么它就会遵循真实世界的法则。
上述数据集构建形式,不仅适宜 Stable Diffusion,也实用于 OpenAI 的 Dall-E2 和 Google 的 Imagen。
然而,上述过程临时没有引入文字和语义向量的管制。换言之,如果单纯依照上述办法构建数据集来训练模型,咱们可能失去一些炫酷的图片,但无法控制最初生成的后果。因而,在构建数据集的时候,还须要引入本文语义输出。如下图所示:
数据集蕴含编码后的文本,因为所有操作在潜空间进行操作,因而输出图像和预测噪声都在潜空间中,引自 Jay Alammar 博客
至此,训练 Diffusion models 的数据集就构建实现了。训练 Diffusion models 的管道如下图所示:
Diffusion models pipeline,输出:加噪图片、噪声强度、文本嵌入;输入:预测的噪声,引自 Jay Alammar 博客
常见的可用于文图生成的数据集
COCO(COCO Captions)
COCO Captions 是一个字幕数据集,它以场景了解为指标,从日常生活场景中捕捉图片数据,通过人工生成图片形容。该数据集蕴含 330K 个图文对。
数据集下载链接:https://cocodataset.org/
Visual Genome
Visual Genome 是李飞飞在 2016 年公布的大规模图片语义了解数据集,含图像和问答数据。标注密集,语义多样。该数据集蕴含 5M 个图文对。
数据集下载链接:http://visualgenome.org/
Conceptual Captions(CC)
Conceptual Captions(CC)是一个非人工正文的多模态数据,蕴含图像 URL 以及字幕。对应的字幕形容是从网站的 alt-text 属性过滤而来。CC 数据集因为数据量的不同分为 CC3M(约 330 万对图文对)以及 CC12M(约 1200 万对图文对)两个版本。
数据集下载链接:https://ai.google.com/researc…
YFCC100M
YFCC100M 数据库是 2014 年来基于雅虎 Flickr 的影像数据库。该库由一亿条产生于 2004 年至 2014 年间的多条媒体数据组成,其中蕴含了 9920 万张的照片数据以及 80 万条视频数据。YFCC100M 数据集是在数据库的根底之上建设了一个文本数据文档,文档中每一行都是一条照片或视频的元数据。
数据集下载链接:http://projects.dfki.uni-kl.d…
ALT200M
ALT200M 是微软团队为了钻研缩放趋势在形容工作上的特点而构建的一个大规模图像 - 文本数据集。该数据集蕴含 200M 个图像 - 文本对。对应的文本形容是从网站的 alt-text 属性过滤而来。(公有数据集,无数据集链接)
LAION-400M
LAION-400M 通过 CommonCrwal 获取 2014-2021 年网页中的文本和图片,而后应用 CLIP 过滤掉图像和文本嵌入类似度低于 0.3 的图文对,最终保留 4 亿个图像 - 文本对。然而,LAION-400M 含有大量令人不适的图片,对文图生成工作影响较大。很多人用该数据集来生成色情图片,产生不好的影响。因而,更大更洁净的数据集成为需要。
数据集下载链接:https://laion.ai/blog/laion-4…
LAION-5B
LAION-5B 是目前已知且开源的最大规模的多模态数据集。它通过 CommonCrawl 获取文本和图片,而后应用 CLIP 过滤掉图像和文本嵌入类似度低于 0.28 的图文对,最终保留下来 50 亿个图像 - 文本对。该数据集蕴含 23.2 亿的英文形容,22.6 亿个 100+ 其余语言以及 12.7 亿的未知语。
数据集下载链接:https://laion.ai/blog/laion-5…
整数智能的数据服务助力您玩转 AIGC
80% 的数据 + 20% 的算法 = 更好的 AI
人工智能的研发是一个十分标准化的流程,它会经验 4 步,从数据采集 -> 数据标注 -> 模型训练 -> 模型部署。而 80% 的研发工夫,则耗费在了数据采集与数据标注的环节。数据工程的外围在于高效率、高质量的数据标注。
整数智能——AI 行业的数据合伙人
整数智能信息技术(杭州)有限责任公司,起源自浙江大学计算机翻新技术研究院,致力于成为 AI 行业的数据合伙人。整数智能也是中国人工智能产业倒退联盟、ASAM 协会、浙江省人工智能产业技术联盟成员。
整数智能提供了智能数据工程平台(ABAVA Platform)与数据集构建服务(ACE Service)。满足了智能驾驶、AIGC、智慧医疗、智能安防、智慧城市、工业制作、智能语音、公共治理等数十个利用场景的数据需要。目前公司已单干海内外顶级科技公司与科研机构 200 余家,领有知识产权数十项,屡次参加人工智能畛域的规范与白皮书撰写。整数智能也受到《CCTV 财经频道》《新锐杭商》《浙江卫视》《苏州卫视》等多家新闻媒体报道。
1. 专业级的团队和技术撑持
- 弱小的研发团队继续迭代 AI 数据平台 ABAVA Platform,发明极致的 AI 数据标注效率
- 数据专家为您制订数据集构建计划,满足您对数据集的定制化需要
2. 满足全畛域多场景的数据标注需要
- 在图像与视频数据方面,反对关键点标注、线标注、框标注、语义宰割标注、平面框标注、逐帧标注等标注需要
- 在点云数据方面,反对 3D 点云框标注、3D 点云语义宰割、3D 点云车道线标注、2/3D 交融标注等标注需要
- 在文本数据方面,反对 NER 命名实体标注、SPO 文本三元组标注、内容审核、情绪剖析等标注需要
- 在音频数据方面,反对 ASR 标注、音素标注、MIDI 标注等标注需要
3. 极致的的数据交付品质
- 整数智能领有数十家自建数据产业基地和单干产业基地,笼罩 10 万名人工智能训练师,逐步形成一套迷信业余的人员、品质管控及数据安全保障机制
- 依靠数据标注方面所积攒的教训,平台可达成 100 万张图像标注量级的峰值。整数智能数据管理平台通过流程与机制的双重保障,为您提供品质更优、响应速度更快的数据服务,助力企业用户实现降本增效
分割咱们
心愿可能与正在浏览这篇文章的您进一步交换沟通,一起摸索 AI 数据的更多可能性。欢送分割咱们:
电话(微信同号):137-8507-0844
邮箱:zzj@molardata.com