文生图——DALL-E 3 —论文解读——第一版

news2024/9/25 17:18:33

概述

    本文主要是DALL·E 3官方第一版技术报告(论文)的解读,原文《Improving Image Generation with Better Captions》论文解读。该文要提升文生图的效果,将技术点放到了,提升指令跟随能力上,然后顺藤摸瓜分为提升训练数据caption(使用模型合成caption),当然也要提升模型(关于模型结构、训练策略、数据集等都未做过多介绍,但是官方又明确提到,除了数据,模型也起到了不少的作用)。
    一句话省流版,数据方面,训练时使用95%模型(CoCa)合成详细描述caption + 5%原本人类 caption,测试时使用GPT-4v 扩写人类caption;模型方面使用T5xxl + vae encoder + diffusion latent + 自家decoder 取得最好效果。

效果

    参考几个之前公众号推出的测试效果:
     DALL·E 3内部实测效果惊人!Karpathy生成逼真灵动「美国小姐」,50个物体一图全包
     DALL·E 3 推理能力炸裂提升,OpenAI 抢跑“ChatGPT 原生”
     DALL·E 3:与Midjourney和SDXL对比 - 知乎
    主要惊奇在他的指令跟随能力,以及可以连续对话(指令)的上下文语境理解能力。如下图:  
    当时作为初入小白的直观感受是:现在open AI 要杀入文生图领域,这种自然对话能力,会使得SD 系列变为远古方式。当时内心OS:Stable diffusion 系列的编码器还是open AI 上个世代的产物CLIP,盲猜他的文本编码器是GPT,结果这篇报告就被打脸。这里真实使用的时候使用了GPT-4v,但是不是直接使用文本编码器的特征向量,而是用其扩写(作者称为upsample)人工prompt(论文给了扩写模板),扩写生成的例子如下:
    

数据方面

    这篇报告也就主要讲两件事,都是针对文本captain(文本prompt):合成captain有没有用?如何和真实captain结合?

    合成captain有没有用

    为什么要合成caption

    现象:现有的文本到图像模型很难遵循详细的图像描述,并且经常忽略单词或混淆提示的含义。原因:我们假设这个问题源于训练数据集中的噪声和不准确的图像标题,其实就是现在的训练数据多为互联网爬取数据,这些数据的通常来源于人类作者,他们专注于对图像主题的简单描述,而忽略了图像中描绘的背景细节或常识关系,不描述背景、属性、颜色等详细信息,或者一些就是描述错误或者甚至一部分是广告。具体作者认为如下:
    *比如厨房里的水槽或人行道上的停车标志,以及对这些物体的描述。
    *对象在场景中的位置和这些对象的数量。
    *场景中物体的颜色和大小等常识性细节。
    *在图像中显示的文本。

    合成captain整体思路

    首先通过学习一个鲁棒图像描述器来产生准确、详细的图像描述。然后我们将此描述应用于数据集以生成更详细的标题。最终在改进的数据集上训练文本到图像的模型。然后,作者也知道这种思路其实并不新颖,除了论文提到的论文,像是BLIP 家族也都用了生成描述的方法。作者认为他们的创新点在于:建立一套生成描述性的图像描述系统,并测量在训练生成模型时使用合成字幕的影响;还为一系列评估建立了一个可重复的基准性能概要文件,这些评估用于测量提示执行情况。

    如何合成caption

    基础模型是Google 的CoCa,模型结构如下(FIgure2)。这里作者构建了两个数据集(未开源),对应finetune了两版描述器模型:
    *一个用于生成短(只描述图像主体)的图像描述(图中的SSC);
    *一个用于生成详细(不仅描述了图像的主题,还描述了图像的周围环境、背景、图像中的文本、样式、颜色等。)的图像描述(图中称为DSC),作者举了个例子如下图(Figure3)。
    

    合成caption实验结果

    这里初始合成caption实验也包含5%的原始caption,作者解释主要是为了防止模型过拟合到合成caption的某些范式,比如最常见的例子是合成的caption往往以"a"和"an”开头,相当于一种模型正则化。训练数据为50W张图片,测试图片为5W张,对应不同的描述。对比三个数据源训练的模型(关于模型后面模型部分讲):
    *只使用原生人工描述
    *5% 原生人工描述 + 95% 短描述(SSC)
    *5% 原生人工描述 + 95% 长描述(DSC)
    测试指标
    *CLIP分数。使用开源的CLIP ViT-B/32,计算文本和图像的相似度(5W张测试图,结果*100倍画图),左右不同点是,左边的测试文本是人工描述,右边是模型长描述。可见训练+测试使用模型长描述效果好。

    caption混合比例实验

    鉴于上个实验,这里混合的都是长描述+人。可见95%是一个比较好的混合比例,作者也尝试了65%,发现65%已经远远落后其他,这里没有画出来。评价指标和上面一样,也是CLIP分数。
    

    PS

    到这里,作者的合成caption实验就结束了:训练时使用95%模型(CoCa)合成详细描述caption + 5%原本人类 caption训练,合成详细描述caption测试实验最好。问题是,应用场景是文生图啊,正式用户推理时,是没有图的,单纯人写caption(prompt)又不好,怎么办呢?因为GPT系列已经可以用于写故事、写诗词等,具有想象力,所以让GPT-4v去扩写用户原本输入的prompt。
    

模型方面

    这个就先贴一下原始论文,一方面是因为确实论文就不想展开说,另一方面我现在也还不能理解那个“DALL-E 3 latent decoder ”到底是指整个diffusion 模型,还是vae的decoder。后续更新吧。
    

结果对比

    主要对比DALL-E 3、 DALL-E 2、Stable Diffusion XL 1.0 ( with the refiner module)。这个也是作者认为他们的主要贡献并且可以后续开源的部分。分为自动、人工两部分,原文也在附录部分展示了对应的prompt模板和人工高标注界面。

    自动评价指标

    这里使用图像文本对,指标有三个,如下:
    *CLIP score:依靠CLIP模型(ViT-B/32 ),评价整图和整句子相似性。
    *Drawbench:依靠GPT-4v,评价整图和扩充描述是否描述一致,原文附录给了对应的prompt。
    *T2I-CompBench:依靠BLIP-VQA,评价颜色、形状、纹理相似性。

    手工评价指标

    *指令跟随:向评分者展示文本到图像模型的完整上采样标题+生成图像,并要求“选择哪个图像更符合标题”。
    *风格:向评分者展示图像,并要求“选择哪个图像风格更喜欢”。
    *连贯性:向评分者展示图像,并要求“选选择哪个图像包含更连贯的对象”。一个“连贯”的物体是可能存在的物体。仔细观察人体的身体部位、面部和姿势、物体的位置和场景中的文字来做出判断。

    结果

    当然是DALL-E 3更好,具体如下:
    

局限性

    无非是文本生成模型(其中的LLM常见)如下:
    *空间感知能力:物品的位置不可靠,例如,使用“在左边”、“在下面”、“在后面”等词。这是由于合成captioner也有这个弱点:它在陈述物体放置时不可靠,这反映在我们的下游模型中。
    *文本渲染:会存在漏或者错。虽然作者在生成caption 的时候特别注意的涵盖了主要的文字,作者认为是T5编码器的问题,编码器需要把单词整个编码而不是字母级别。未来会探索字符级别的语言模型来提升字符渲染。
    *特异性:也就是幻觉,例如,给定一幅花的植物图,通常会产生植物属和物种的幻觉,并将其放在描述中。之后也是改进文本生成模型。
    *安全和偏见。

疑问

模型相关细节,decoder 是啥,只用vae 的encoder 不要匹配的docoder? 那怎么办,再联和训练?
真实训练时候数据集构成。

参考链接

DALL·E 3:与Midjourney和SDXL对比 - 知乎
DALL-E3: 加入字幕提示调优的文本-到-图像生成器 - 知乎
DALL-E 3技术报告阅读笔记 - 知乎
https://arxiv.org/pdf/2205.01917.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1130992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux下挂载大于2T的硬盘

fdisk和gdisk命令的区别 fdisk和gdisk命令都可以给磁盘分区,但是在公司里,如果磁盘大于2T,不能用fdisk分区,只能用gdisk命令分区。 gdisk可以分128个主分区,用gdisk分区没有逻辑分区和扩展分区之说,只有主…

【FPGA零基础学习之旅#17】搭建串口收发与储存双口RAM系统

🎉欢迎来到FPGA专栏~搭建串口收发与储存双口RAM系统 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒🍹 ✨博客主页:小夏与酒的博客 🎈该系列文章专栏:FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误&#xff0…

超声波清洗机品牌哪些好用?好评不断的超声波清洗机推荐

超声波清洗机目前的使用范围逐渐变广,一开始超声波清洗机只出现在大型的工业领域中的零件清洗,逐渐衍生到现在,出现了小型的超声波清洗机,可以让大家可以在家也使用上超声波清洗机。眼镜是现在大部分都离不开视线辅助的一个工具&a…

越流行的大语言模型越不安全

源自:GoUpSec “人工智能技术与咨询” 发布 安全研究人员用OpenSSF记分卡对GitHub上50个最流行的生成式AI大语言模型项目的安全性进行了评估,结果发现越流行的大语言模型越危险。 近日,安全研究人员用OpenSSF记分卡对GitHub上50个最流…

Powershell脚本自动备份dhcp数据库

文章目录 为什么要备份DHCP数据库呢?在PowerShell中自动备份DHCP数据库1,创建备份目录2,判断备份路径是否存在3,备份DHCP数据库4,完整自动备份脚本5,安排定期备份 推荐阅读 为什么要备份DHCP数据库呢&#…

故障解析丨Clone节点导致主从故障

1.背景概述 在一次主从复制架构中,由于主节点binlog损坏,导致从节点无法正常同步数据,只能重做从节点;因此使用MySQL 8.0.17开始提供的clone技术进行恢复,恢复后的2天都发生了主从报错数据冲突。 通过解析binlog发现…

网页轮播图

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>纯CSS实现轮播图(自动轮播)</title><style&…

Warning: ‘Destination Folder‘ contains 1 space.【Anaconda安装】

报错内容如下&#xff1a; 意思就是说你的安装路径下不要有空格哈哈&#xff0c;有空格就不行&#xff0c;比如&#xff1a; "D:\Program Files\Anaconda3"中间就有空格&#xff0c;Program与Files之间。 换个路径&#xff0c;例如&#xff1a; 就可以了。

EmbedChain:比LangChain更加轻量化的LLM框架

一、前言 在之前的文章中&#xff0c;我们研究了如何使用LangChain结合大型语言模型&#xff08;LLM&#xff09;API来构建用户友好且直观的聊天机器人。现在&#xff0c;我们将探索一个新的Python包来进一步简化LangChain的实现。只需3-4行代码&#xff0c;我们就可以轻松地与…

Runner GoUI自动化测试发布

构建自动化测试体系是当下每个项目团队愿意去做的&#xff0c;自动化测试减少重复操作节省人力成本。 RunnerGo UI自动化平台 RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块&#xff0c;覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selen…

APUS入驻百度灵境矩阵,普惠AI大模型插件能力

10月17日&#xff0c;APUS出席百度世界大会2023。会上&#xff0c;百度公布了灵境矩阵业务进展&#xff0c;APUS作为灵境矩阵首批合作伙伴正与百度携手拓展大模型能力边界、构建大模型应用生态。 百度认为&#xff0c;大模型将繁荣AI应用生态&#xff0c;在生态搭建过程中&…

springboot maven项目环境搭建idea

springboot maven项目环境搭建idea 文章目录 springboot maven项目环境搭建idea用到的软件idea下载和安装java下载和安装maven下载和安装安装maven添加JAVA_HOME路径&#xff0c;增加JRE环境修改conf/settings.xml&#xff0c;请参考以下 项目idea配置打开现有项目run或build打…

uview 1 uni-app表单 number digit 的输入框有初始化赋值后,但是校验失败

背景&#xff1a; 在onReady初始化规则 onReady() { this.$refs.uForm.setRules(this.rules); }, 同时&#xff1a;ref,model,rules,props都要配置好。 报错 当input框限定type为number&#xff0c;digit类型有初始值不做修改动作,直接提交会报错&#xff0c;验…

仿美团外卖微信小程序源码/美团外卖优惠券领劵小程序-自带流量主模式

源码简介&#xff1a; 仿美团外卖微信小程序源码&#xff0c;它是美团外卖优惠券领劵小程序&#xff0c;还自带流量主模式。可以领取外卖优惠券的小程序。实用方便。 美团优惠券小程序带举牌小人带菜谱流量主模式&#xff0c;挺多外卖小程序的&#xff0c;但是都没有搭建教程…

Leetcode每日一题6.05:二叉树搜索树BST

二叉搜索树&#xff08;BST&#xff09; 根节点大于等于左子树所有节点&#xff0c;小于等于右子树所有节点。 二叉搜索树中序遍历即为节点从小到大排序。 230. 二叉搜索树中第K小的元素 题目描述&#xff1a; 给定一个二叉搜索树的根节点 root &#xff0c;和一个整数 k &a…

tcpdump 异常错误

tcpdump 进行抓包的时候&#xff0c;-w 提示 Permission denied&#xff1a; sudo tcpdump -w test1.log tcpdump: test1.log: Permission denied 开始以为是用户权限的问题&#xff0c;后来换用 root 账户还是不行&#xff0c;经搜索&#xff0c;是 AppArmor 的问题。 解决方…

一台服务器成了哆啦A梦的神奇口袋

如果我有一台服务器&#xff0c;那简直就像打开了哆啦A梦的神奇口袋&#xff01;可以做的事情可太多啦&#xff0c;比如&#xff1a; 学习和探险 首先嘛&#xff0c;当然是用来学习和探险啦&#xff01;我可以安装和配置各种操作系统、编程语言和工具&#xff0c;深入了解计…

优优嗨聚集团:美团外卖,让美好儿童餐计划触手可及

在当今这个快节奏的社会&#xff0c;父母们对于孩子的饮食健康越来越关注。如何让孩子吃得健康、吃得安心&#xff0c;是每一个家长都非常关心的问题。而美团外卖&#xff0c;作为中国最大的外卖平台之一&#xff0c;一直在积极推动美好儿童餐计划&#xff0c;让家长们能够更方…

docker(2)部署前后端分离springboot+vue项目

前置知识 虚拟网桥 docker容器需要在同一个网段才能通信&#xff0c;当启动一个容器时会自动连接一个docker中默认网桥段但此默认网桥段非本容器固定&#xff0c;当下次容器启动分配的ip会变&#xff0c;并且不可用名称直接访问。 自定义网段将需要互通的容器放入&#xff0c…

容联七陌入选沙利文2023中国AI技术变革典型企业

近日&#xff0c;全球增长咨询公司弗若斯特沙利文&#xff08;Frost & Sullivan&#xff0c;简称“沙利文”&#xff09;发布《2023年中国AI技术变革企业服务白皮书》&#xff0c;白皮书显示&#xff0c;容联七陌以大模型为支撑&#xff0c;通过生成式一体化智能客服全方位…