【论文精读】DALLE3:Improving Image Generation with Better Captions 通过更好的文本标注改进图像生成

news2025/1/10 23:33:39

文章目录

  • 一、文章概览
  • 二、数据重标注
    • (一)现在训练数据的文本标注主要存在的问题
    • (二)创建图像标注器
    • (三)微调图像标注器
  • 三、评估重新标注的数据集
    • (一)混合合成标注和真实标注
    • (二)评估方法
    • (三)问题一:评估在不同类型的标注上训练的模型之间的性能差异
    • (四)评估合成标注与真实标注的最佳混合比例
    • (五)实际应用
  • 四、对比DALLE3与其他模型的效果
    • (一)自动评估
    • (二)人工评估


DALLE3的核心:如何通过更好的文本标注让图像生成质量提升

一、文章概览

  • 提出问题: 现有的文本到图像模型很难遵循详细的图像描述,并且经常忽略单词或混淆提示的含义。
  • 作出假设: 假设这个问题是因为训练数据集中的噪声和不准确的图像标题。
  • 解决方案: 训练一个图片标注器用于生成标注,然后使用它来重新捕获训练数据集。
  • 主要工作: 训练了DALLE3,发现对生成的图片标注进行训练确实能提升生成模型的性能,并且提出了一套评估生成模型的方案。

在这里插入图片描述

二、数据重标注

(一)现在训练数据的文本标注主要存在的问题

  1. 厨房中的水槽或人行道上的停车标志等物体的存在以及对这些物体的描述。
  2. 场景中对象的位置以及这些对象的数量。
  3. 常识细节,例如场景中物体的颜色和大小。
  4. 图像中显示的文本。

更糟糕的是,在互联网上找到的字幕通常根本不正确;描述图像的切向相关细节。例如,在通常用于生成图像标题的替代文本中经常会发现广告。

(二)创建图像标注器

用于预测文本的传统语言模型:

  • 分词器将文本字符串分解为离散的标记: t = [ t 1 , t 2 , . . . , t n ] t=[t_1,t_2,...,t_n] t=[t1,t2,...,tn]
  • 通过最大化似然函数来构建文本的语言模型:
    L ( t ) = ∑ j l o g P ( t j ∣ t j − k , . . . , t j − 1 ; Θ ) L(t)=\sum_j logP(t_j|t_{j-k},...,t_{j-1};\Theta) L(t)=jlogP(tjtjk,...,tj1;Θ)

本文的图像标注器:

  • 基于CLIP的图像嵌入函数 F ( i ) F(i) F(i)对语言模型进行了条件调整:

图像有数千个像素值组成,因此需要一个压缩的表示空间,CLIP就提供了这一点

L ( t , i ) = ∑ j l o g P ( t j ∣ t j − k , . . . , t j − 1 ; z j ; F ( i ) ; Θ ) L(t,i)=\sum_j logP(t_j|t_{j-k},...,t_{j-1};z_j;F(i);\Theta) L(t,i)=jlogP(tjtjk,...,tj1;zj;F(i);Θ)

(三)微调图像标注器

作者训练了两种标注模式:

  • 短标注(SSC):只描述主要物体
  • 详细描述(DSC):不仅描述主体,还描述环境,背景,文字 风格等

在这里插入图片描述

三、评估重新标注的数据集

作者在评估生成文本标注对模型性能的影响时,主要集中讨论了两个问题:

  • 使用每种类型的合成标注对性能的影响。 (长标注、短标注)
  • 合成标注与真实标注的最佳混合比例。

(一)混合合成标注和真实标注

考虑到图像标注器会出现过拟合现象(过度拟合数据集中的分布规律),作者将合成标注和真实标注进行混合。混合发生在数据采样时,文章会以固定的百分比机会随机选择合成标注和真实标注。

(二)评估方法

文章采用的评估指标:CLIP 分数

CLIP 分数与文本图像相似度有很强的相关性

CLIP分数的计算方式:

  • 首先使用公共 CLIP ViT-B/32图像编码器来生成图像嵌入 z i z_i zi
  • 然后使用文本编码器为图像创建文本嵌入标题 z t z_t zt
  • 将 CLIP 分数计算为余弦相似度 C
    C ( z i , z t ) = z i . z t ∣ ∣ z i ∣ ∣ ∣ ∣ z t ∣ ∣ C(z_i,z_t)=\frac{z_i. z_t}{||z_i|| ||z_t||} C(zi,zt)=∣∣zi∣∣∣∣zt∣∣zi.zt

(三)问题一:评估在不同类型的标注上训练的模型之间的性能差异

作者设计了三个不同的模型:

  1. 仅根据真实标注训练的文本到图像模型。
  2. 在 95% 的短合成标注上训练的文本到图像模型。
  3. 在 95% 的描述性合成标注上训练的文本到图像模型。

对于每个模型,作者分别使用真实标注(左图)描述性合成标注(右图) 进行了两次评估计算:
在这里插入图片描述
结果表明:

  • 在基于真实标注进行评估时,两种基于合成标注训练的模型的 CLIP 评分性能都比基线模型稍好,而在描述性合成标注上进行评估时,性能明显更好。这表明在训练文本到图像模型时使用合成标注没有任何缺点。
  • 合成标注的评估曲线的方差要低得多。这说明重新标注确实可以被视为一种平均操作。
  • 在合成标注上评估的图像生成模型在所有训练的模型中也获得了更高的净 CLIP 分数,这支持了合成​​标注与其相应图像具有更好绑定的概念。

(四)评估合成标注与真实标注的最佳混合比例

作者使用了 65%、80%、90% 和 95% 四种混合比例的描述性合成标注训练了四个图像生成模型。实验进行到一半时,评估显示 65% 的混合物在所有评估中都远远落后于其他混合物,因此作者放弃了它。

在这里插入图片描述

结果表明: 更高程度的合成标注混合始终可以提高模型的 CLIP 分数。

(五)实际应用

由于用户在实际应用过程中,可能不会发出长的、高度描述性的标注的分布,因此可以借助大型语言模型帮助用户直接扩写,具体来说,可以使用 LLM进行“上采样”,将短的prompt转换成长的prompt,这样不仅可以添加缺失的细节,还可以消除复杂关系的歧义。
在这里插入图片描述

四、对比DALLE3与其他模型的效果

作者使用95%的合成标注和5%的真实标注对DALLE3进行训练,并使用自动评估和人工评估两种方式对DALLE3与其他模型的效果进行了对比。

(一)自动评估

评估指标:

  • CLIP score
  • Drawbench:基于lmagen提出的一系列比较全面的测评pompts,用GPT-V来评估生成图片和prompts的匹配度(实际上是用生成模型评估生成模型)
  • T2l-Compbench:与Drawbench类似,只是换了不同的prompts体系和不同的评估模型
    在这里插入图片描述
    结果表明,DALL-E 3 在所有评估的基准测试中都是最先进的。

(二)人工评估

人工评估主要考察的三个方面:

  • prompt following:向评估者呈现提供给文本到图像模型的完整上采样标题,并要求“选择哪个图像更好地对应于标题”。
  • style:要求评估者根据图片本身的风格舒适度进行选择。
  • coherence:要求评估者选择哪张图像包含更连贯的对象。

针对于前面两个方面,作者使用了自建的prompts体系去评估,coherence则使用MSCOCO数据集中的一些标注作为prompts体系(主要是因为MSCOCO中没有虚幻的场景)。Drawbench评估方法与自动评估的prompts体系一直,但是用人工来评判生成的图片和prompts是不是致,而不是用GPT-V这种生成模型。
在这里插入图片描述
结果显示,在所有三个方面,尤其是在prompt following方面,DALL-E 3 生成的图像在大多数情况下都比所有竞争对手更受人类评分者的青睐。

参考:【DALLE3论文】openAI最新图像生成模型

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

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

相关文章

如何看待腾讯 QQ 浏览器抄袭 Arc

今天在 Reddit 的帖子上看到,QQ 浏览器抄袭了 Arc 而且还是 Arc 官方发布的 It looks very similar lol 看起来也太像了,笑死我了 稍微震惊了一下,带着疑惑,打开了 QQ 浏览器官网页 点击下载 ⬇️ 下载后打开 翻找了下&#xff0…

DBO优化LSBoost回归预测(matlab代码)

DBO-LSBoost回归预测matlab代码 蜣螂优化算法(Dung Beetle Optimizer, DBO)是一种新型的群智能优化算法,在2022年底提出,主要是受蜣螂的的滚球、跳舞、觅食、偷窃和繁殖行为的启发。 数据为Excel股票预测数据。 数据集划分为训练集、验证集、测试集,比…

力扣994. 腐烂的橘子(DFS)

Problem: 994. 腐烂的橘子 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 1.定义一个二维矩阵dp初始化每个元素值为矩阵的行数乘以列数;用于记录每个新鲜橘子距离第一个腐烂橘子的最早的腐烂时间; 2.遍历矩阵grid若当前橘子是腐烂的橘子&a…

Redis中的缓存雪崩

缓存雪崩 🤔现象分析 缓存雪崩是指在同一时段大量的缓存key同时失效或者缓存服务(Redis等)宕机,导致大量请求到达数据库,带来巨大压力。 👊 解决方案 利用Redis集群提高服务的可用性,避免缓存服务宕机给缓存业务添…

2001-2023年中国各省市级是否属于“开通高铁”城市匹配数据

2001-2023年中国各省市级是否属于“开通高铁”城市匹配数据 1、时间:2001-2023年 2、范围:300个地级市(包括直辖市) 3、来源:历年中国铁道出版社出版的《全国铁路旅客列车时刻表》 4、用途:高铁开通可作…

53、Qt/信号与槽、QSS界面设计20240322

一、使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是…

Python正则表达式之边界字符你学会了吗?

今天来学习Python正则表达式中的边界字符,它简直就是字符串处理的神器!不知道大家有没有遇到过这样的场景:在一大段文字里,你需要找到某个特定的单词或模式,但是又不希望匹配到它的部分出现?这时候&#xf…

SQPSK

文章目录 [1]张显辉,沈国松.SQPSK调制体制在跟踪与数据中继卫星中的应用[J].遥测遥控,2007(S1):26-29.[2]保骏.QPSK、SQPSK信号解调相位模糊及其对Viterbi译码的影响[J].四川兵工学报,2011,32(03):53-55.[3]赵辉,严晓芳,张玉. 星载SQPSK高速调制系统的设计[C]//中国通信学会.20…

基于springboot学生心理咨询评估系统(含源文件)

(源码附文章底部) 摘 要 使用旧方法对学生心理咨询评估信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在学生心理咨询评估信息的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数…

vue学习日记14:工程化开发脚手架Vue CLI

一、概念 二、安装 1.全局安装&查看版本 注意启动cmd输入命令 要以管理员运行哦 安装了一次就行以后不用再创建了 yarn global addvue/cli vue --version 显示了版本号即可 2.创建项目架子 创建项目的路径在哪 项目就在哪 项目名字不能用中文 vue create project-n…

什么是485数据采集模块?

在工业自动化、智能楼宇、环境监测等众多领域,数据的采集与传输是实现智能化管理的关键。而485数据采集模块,作为一种高效、稳定的数据采集设备,正日益受到广泛关注。HiWoo Box,作为一款卓越的485数据采集模块,以其强大…

Python中错误和异常的区别你搞清楚了吗?

​ 在Python编程的世界里,错误(Error)和异常(Exception)都是用来处理运行时出现的问题的。但它们之间有着微妙的差别,今天我们就来弄清楚。 错误(Error)通常指的是那些更严重、不可…

[小程序开发] 分包加载

一、介绍 分包加载是一种小程序的优化技术,将小程序不同功能的代码,分别打包成不同的子包,在构建时打包成不同的分包,用户在使用时按需进行加载,在构建小程序分包项目时,构建会输出一个或多个分包&#xff…

搜索二维矩阵

题目链接 搜索二维矩阵 题目描述 注意点 每行中的整数从左到右按非严格递增顺序排列每行的第一个整数大于前一行的最后一个整数1 < matrix.length, matrix[0].length < 100 解答思路 先二分查找找到target所处的行&#xff0c;找到行后再二分查找找到target所处的列…

OpenHarmony实现一次开发多端部署分布式新闻客户端页面

分布式新闻客户端&#xff08;ArkTS&#xff09; 介绍 本篇Codelab基于栅格布局、设备管理和多端协同&#xff0c;实现一次开发&#xff0c;多端部署的分布式新闻客户端页面。主要包含以下功能&#xff1a; 展示新闻列表以及左右滑动切换新闻Tab。点击新闻展示新闻详情页。点…

防范IP地址被攻击的五种措施

IP地址被攻击是网络安全领域的一个常见问题&#xff0c;它可能导致数据泄露、网络瘫痪、恶意软件传播等一系列严重后果。为了保护网络安全&#xff0c;我们需要采取一系列防范措施。以下是五种有效的防范方法&#xff1a; 首先&#xff0c;加强个人设备的安全防护至关重要。我们…

使用npm创建一个全局的cli命令,就像vue-cli一样

我们用过vue-cli等工具包&#xff0c;全局安装之后&#xff0c;我们可以直接使用vue create等命令&#xff0c;实际上能够这样使用的原因&#xff0c;就是使用了package.json里面的bin字段注册命令。接下来就以一个脚本文件为例子为大家演示一下bin是如何发挥作用的。 创建项目…

C语言例3-33:从键盘输入一个正整数保存至int 型变量 num,输出由8~11构成的数(从低位、0号开始编号)

算法分析&#xff1a; 使变量num右移8位&#xff0c;将原来的8~11位移到低4位上构造一个低4位为1&#xff0c;其余位为0的整数&#xff08;0000 0000 0000 1111&#xff09;与变量num进行按位与运算 代码如下&#xff1a; #include<stdio.h> int main(void) {int num,…

优惠:阿里云4核16G服务器优惠价格26.52元1个月、149.00元半年

阿里云4核16G服务器优惠价格26.52元1个月、79.56元3个月、149.00元半年&#xff0c;配置为阿里云服务器ECS经济型e实例ecs.e-c1m4.xlarge&#xff0c;4核16G、按固定带宽 10Mbs、100GB ESSD Entry系统盘&#xff0c;活动链接 aliyunfuwuqi.com/go/aliyun 活动链接打开如下图&a…

蓝桥杯 2022 省B 砍竹子

思路&#xff1a; 非常明显&#xff0c;这题是个贪心。因为这题是求最小操作次数&#xff0c;而且每次操作都会变小&#xff0c;所以肯定要优先操作大的元素&#xff0c;这样它变小之后才可能和其它元素一起操作以减少操作次数。 所以&#xff1a;建立两个数组&#xff0c;一…