当前位置: 首页 > news >正文

【生成模型】解决生成模型面对长尾类型物体时的问题 RE-IMAGEN: RETRIEVAL-AUGMENTED TEXT-TO-IMAGE GENERATOR

介绍

尽管最先进的模型可以生成常见实体的高质量图像,但它们通常难以生成不常见实体的图像,例如“Chortai(狗)”或“Picarones(食物)”。为了解决这个问题,我们提出了检索增强文本到图像生成器(Re-Imagen),这是一种生成模型,它使用检索到的信息来生成高保真和忠实的图像,即使对于罕见或看不见的实体也是如此。给定文本提示,Re-Imagen 访问外部多模态知识库来检索相关(图像、文本)对,并将它们用作生成图像的参考。

Re-Imagen 在两个图像生成基准上取得了新的 SoTA FID 结果,例如 COCO (即,FID = 5.25)和 WikiImage(即,FID = 5.82),无需微调。为了进一步评估模型的功能,我们引入了 EntityDrawBench,这是一个新的基准,可跨多个视觉域评估从频繁到罕见的各种实体的图像生成。对 EntityDrawBench 的人类评估表明,Re-Imagen 在照片真实感方面的表现与最佳先前模型相当,但具有明显更好的现实世界忠实度,尤其是在不太频繁的实体上。
在这里插入图片描述

内容

通过在多模态知识库中搜索实体信息来减轻这种限制,而不是试图记住实体的外观稀有实体。
它包含三个独立的生成阶段(实现为 U-Nets (Ronneberger et al.,2015))以逐渐产生高分辨率(即, 1024
×
第1024章)特别是,我们在由 Imagen 使用的图像文本数据集构建的数据集上训练 Re-Imagen (Saharia等人,2022),其中每个数据实例基于文本与数据集中的前 k 个最近邻相关联-只有BM25分数。

文本到图像生成管道的
无分类器指导 Ho 和 Salimans ( 2021 )首先提出了无分类器指导来权衡多样性和样本质量。这种采样策略由于其简单性而被广泛使用。

模型的架构 ,其中我们将 UNet 分解为下采样编码器 (DStack) 和上采样解码器 (UStack)。具体来说,DStack以图像、文本和时间步作为输入,生成特征图,
当我们对检索到的< image, text >对进行编码时,我们共享相同的 DStack 编码器(使用t设置为零),这会产生一组特征图。
然后,我们使用多头注意力模块 (Vaswani et al.,2017)来提取最相关的信息以生成新的特征图。
然后上采样堆栈解码器预测噪声项,以用于训练期间的回归或 DDPM 采样。

评价指标

,FID (Fréchet Inception Distance) 和 ZS-FID (Zero-Shot Fréchet Inception Distance) 是两种常用的评估生成模型性能的指标。它们都是通过比较生成图像与真实图像的分布差异来进行评估的。

FID 需要访问到真实图像,并且在这些图像上训练模型,因此它更适合于有大量真实图像可用的情况。而 ZS-FID 不需要在真实图像上训练模型,因此它更适合于没有足够真实图像,或者想要评估模型在未见过的类别上的性能的情况。

FID

https://github.com/mseitzer/pytorch-fid#generating-a-compatible-npz-archive-from-a-dataset

FID 是一种衡量生成模型性能的指标,它通过比较生成图像与真实图像的统计特性来进行评估。具体来说,FID 使用 Inception 网络提取图像的特征,然后计算这些特征的高斯分布。FID 是根据这两个高斯分布的 Fréchet 距离来评价生成图像与真实图像的相似度。FID 越小,表明生成图像与真实图像的分布越接近,生成模型的性能越好。

ZS FID

ZS-FID 是 FID 的一个变种,它也是通过比较生成图像与真实图像的统计特性来进行评估。不过,ZS-FID 的一个关键区别在于,它不需要在真实图像上训练任何模型。这使得 ZS-FID 能够进行“零样本”或“零次射击”评估,即在没有真实图像的情况下评估生成模型的性能。这在某些情况下是非常有用的,例如当我们没有访问到足够的真实图像,或者当我们想要评估生成模型在未见过的类别上的性能时。

实验

Re-Imagen(使用 COCO 数据库)无需微调即可在 FID-30K 上实现显着增益:相对于 Imagen 大约有 2.0 的绝对 FID 改进。性能甚至比微调的 Make-A-Scene (Gafni et al. , 2022 )还要好,但比微调的 20B Parti 稍差。相比之下,从域外数据库检索的 Re-Imagen (LAION) 获得的增益较小,但仍比 Imagen 获得 0.4 FID 的改进。Re-Imagen 的性能远远优于另一种检索增强扩散模型 KNN-Diffusion。

由于 COCO 不包含不常见的实体,因此“实体知识”并不重要。相反,从训练集中检索可以为模型提供有用的“风格知识”。Re-Imagen能够使生成的图像适应相同风格的COCO分布,它可以获得更好的FID分数。从图4的上半部分可以看出 ,带有检索的Re-Imagen生成了与COCO相同风格的图像,而没有检索,输出仍然是高质量的,但风格与COCO不太相似。

检索到的 COCO 和 WikiImages 的前 2 个邻居以及模型生成。
图 4下半部分描述了一个示例 ,其中 LAION 检索找到“Island of San Giorgio Maggiore”,这有助于模型生成古典文艺复兴风格的教堂。当不检索生成时,模型无法生成特定的教堂。这表明在 WikiImages 数据集检索中拥有相关实体的重要性,也解释了为什么 LAION 数据库取得了最佳结果。我们还在附录 C中提供了来自 WikiImages 的更多示例。

ENTITYDRAWBENCH 上的以实体为中心的评估

数据集构建 我们引入EntityDrawBench来评估模型在不同视觉场景中生成不同实体集的能力。具体来说,我们从 Wikipedia Commons 和 Google Landmarks 中选择三种类型的视觉实体(狗品种、地标和食物)来构建我们的提示。我们总共收集了 150 个以实体为中心的评估提示。这些提示大多是独特的,我们无法通过Google图像搜索找到相应的图像。

我们使用提示作为输入,并使用其对应的图像文本对作为 Re-Imagen 的“检索”,生成四个 1024
×
1024 张图像。对于其他模型,我们也直接输入提示来生成四个图像。我们将从这四个样本中选出最好的图像来评价其真实感和忠实度。对于照片真实感,如果图像适度真实且没有明显的伪影,我们分配 1,否则,我们分配 0 分。对于忠实度度量,如果图像忠实于实体源和文本描述,我们分配 1,否则,我们分配0。

实体在 Imagen 训练语料库中的频率(前 50% 为“频繁”)进一步将实体分为“频繁”和“不频繁”类别。我们在 图 5中分别绘制了“频繁”和“不频繁”的忠实度得分。我们可以看到,我们的模型对输入实体的频率的敏感度低于其他模型,对于不频繁的实体仅下降了 10-20%。相比之下,Imagen 和 DALL-E 2 在不常见实体上都下降了 40%-50%。这项研究反映了文本到图像生成模型在长尾实体上的有效性。

我们提出了 Re-Imagen,一种检索增强扩散模型,并证明了其在生成真实且忠实图像方面的有效性。我们不仅通过标准基准(即COCO 和 WikiImage)上的自动 FID 测量,而且还通过新引入的 EntityDrawBench 上的人工评估来展示这些优势。我们进一步证明,我们的模型在从提及稀有实体的文本生成图像方面特别有效。

Re-Imagen 在文本到图像生成方面仍然存在众所周知的问题,我们将在下面的道德声明中对此进行回顾。此外,由于检索增强建模,Re-Imagen 还具有一些独特的局限性。首先,由于Re-Imagen对其所依赖的检索到的图像文本对很敏感,因此当检索到的图像质量较低时,会对生成的图像产生负面影响。其次,当实体的视觉外观超出生成空间时,Re-Imagen 有时仍然无法基于检索到的实体。第三,我们注意到超分辨率模型效果较差,并且经常会错过视觉实体的低级纹理细节。在未来的工作中,我们计划进一步研究上述局限性并解决它们。

相关文章:

【生成模型】解决生成模型面对长尾类型物体时的问题 RE-IMAGEN: RETRIEVAL-AUGMENTED TEXT-TO-IMAGE GENERATOR

介绍 尽管最先进的模型可以生成常见实体的高质量图像&#xff0c;但它们通常难以生成不常见实体的图像&#xff0c;例如“Chortai&#xff08;狗&#xff09;”或“Picarones&#xff08;食物&#xff09;”。为了解决这个问题&#xff0c;我们提出了检索增强文本到图像生成器…...

南美巴西市场最全分析开发攻略,收藏一篇就够了

巴西位于南美洲东部&#xff0c;是南美洲资源最丰富&#xff0c;经济活力和经济实力最强的国家。巴西作为拉丁美洲的出口大国&#xff0c;一直是一个比较有潜力的市场&#xff0c;亦是我国外贸公司和独立外贸人集群的地方。中国长期是巴西主要的合作伙伴&#xff0c;2022年占巴…...

c++中操作符->与 . 的使用与区别

在C中&#xff0c;-> 和 . 是两个不同的成员访问操作符&#xff0c;用于访问类、结构体或联合体的成员。 “->” 操作符&#xff1a; 用于通过指针访问指针所指向对象的成员。当有一个指向对象的指针时&#xff0c;可以使用 -> 操作符来访问该指针所指向对象的成员。…...

golang 编译器 汉化

1、找到左上角file选项&#xff0c;点击选中settings进行单机 2、找到settings中找到plugins选中进行点击 3、再框中输入chinese进行搜索&#xff0c;出结果后找到如下图所示&#xff0c;点击进行安装 4、安装完成后进行重启ide&#xff0c;完美解决...

压缩包系列

1、zip伪加密 一个zip文件由三部分组成&#xff1a;压缩源文件数据区压缩源文件目录区压缩源文件目录结束标志。 伪加密原理&#xff1a;zip伪加密是在文件头中加密标志位做修改&#xff0c;然后在打开时误被识别成加密压缩包。 压缩源文件数据区&#xff1a; 50 4B 03 04&a…...

互联网图片安全风控实战训练营开营!

内容安全风控&#xff0c;即针对互联网产生的海量内容的外部、内部风险做宏观到微观的引导和审核&#xff0c;从内容安全领域帮助企业化解监管风险和社会舆论风险&#xff0c;其核心是识别文本、图片、视频、音频中的有害内容。 由于互联网内容类型繁杂、多如牛毛&#xff0c;加…...

炫酷转换:Java实现Excel转换为图片的方法

摘要&#xff1a;本文由葡萄城技术团队原创并首发。转载请注明出处&#xff1a;葡萄城官网&#xff0c;葡萄城为开发者提供专业的开发工具、解决方案和服务&#xff0c;赋能开发者。 前言 在实际开发过程中&#xff0c;经常会有这样的需求&#xff1a;将Excel表格或特定区域转…...

vue elementui <el-date-picker>日期选择框限制只能选择90天内的日期(包括今天)

之前也写过其他限制日期的语句&#xff0c;感觉用dayjs()的subtract()和add()也挺方便易懂的&#xff0c;以此记录 安装dayjs npm install dayjs --save dayjs().add(value : Number, unit : String); dayjs().add(7, day); //在当前的基础上加7天dayjs().subtract(value : N…...

YOLOv5全新Neck改进:BiSPAN 结构独一无二,为目标检测打造全新融合网络,增强定位信号,对于小目标检测的定位具有重要意义

💡本篇内容:YOLOv5全新Neck改进:BiSPAN 结构升级版,为目标检测打造全新融合网络,增强定位信号,对于小目标检测的定位具有重要意义 💡🚀🚀🚀本博客 改进源代码改进 适用于 YOLOv5 按步骤操作运行改进后的代码即可 💡本文提出改进 原创 方式:二次创新,YOLOv…...

flutter开发实战-video_player插件播放抖音直播实现(仅限Android端)

flutter开发实战-video_player插件播放抖音直播实现&#xff08;仅限Android端&#xff09; 在之前的开发过程中&#xff0c;遇到video_player播放视频&#xff0c;通过查看video_player插件描述&#xff0c;可以看到video_player在Android端使用exoplayer&#xff0c;在iOS端…...

React组件

一、React组件 函数组件 // 函数组件 // 组件的名称必须首字母大写 // 函数组件必须有返回值 如果不需要渲染任何内容&#xff0c;则返回 null function HelloFn () {return <div>这是我的第一个函数组件!</div> }// 定义类组件 function App () {return (<di…...

[动手学深度学习]注意力机制Transformer学习笔记

动手学深度学习&#xff08;视频&#xff09;&#xff1a;68 Transformer【动手学深度学习v2】_哔哩哔哩_bilibili 动手学深度学习&#xff08;pdf&#xff09;&#xff1a;10.7. Transformer — 动手学深度学习 2.0.0 documentation (d2l.ai) 李沐Transformer论文逐段精读&a…...

hadoop集群安装并配置

文章目录 1.安装JDK 环境2.系统配置2.1修改本地hosts文件2.2创建hadoop 用户2.2 设置ssh免密&#xff08;使用hadoop 用户生成&#xff09; 3.安装 hadoop 3.2.43.1 安装hadoop3.1.1 配置Hadoop 环境变量 3.2配置 HDFS3.2.1 配置 workers 文件3.2.2 配置hadoop-env.sh3.2.3 配置…...

Quarto 入门教程 (3):代码框、图形、数据框设置

简介 本文是《手把手教你使用 Quarto 构建文档》第三期&#xff0c;前两期分别介绍了&#xff1a; 第一期 介绍了Quarto 构建文档的原理&#xff1b;可创建的文档类型&#xff1b;对应的参考资源分享。 第二期 介绍了如何使用 Quarto&#xff0c;并编译出文档&#xff08;PDF…...

虚拟机Ubuntu18.04安装对应ROS版本详细教程!(含错误提示解决)

参考链接&#xff1a; Ubuntu18.04安装Ros(最新最详细亲测)_向日葵骑士Faraday的博客-CSDN博客 1.4 ROS的安装与配置_哔哩哔哩_bilibili ROS官网&#xff1a;http://wiki.ros.org/melodic/Installation/Ubuntu 一、检查cmake 安装ROS时会自动安装旧版的Cmake3.10.2。所以在…...

#力扣:14. 最长公共前缀@FDDLC

14. 最长公共前缀 一、Java class Solution {public String longestCommonPrefix(String[] strs) {for (int l 0; ; l) {for (int i 0; i < strs.length; i) {if (l > strs[i].length() || strs[i].charAt(l) ! strs[0].charAt(l)) return strs[0].substring(0, l);}…...

Android 13.0 解锁状态下禁止下拉状态栏功能实现

1.前言 在13.0的系统定制化开发中,在关于一些systemui下拉状态栏的定制化功能开发中,对于关于systemui的下拉状态栏 是否可以下拉做了定制,用系统属性来判断是否可以在解锁的情况下可以下拉状态栏布局,虽然11.0 12.0和13.0的关于 下拉状态栏相关分析有区别,可以通过分析相…...

chromium线程模型(1)-普通线程实现(ui和io线程)

通过chromium 官方文档&#xff0c;线程和任务一节我们可以知道 &#xff0c;chromium有两类线程&#xff0c;一类是普通线程&#xff0c;最典型的就是io线程和ui线程。 另一类是 线程池线程。 今天我们先分析普通线程的实现&#xff0c;下一篇文章分析线程池的实现。&#xff…...

uniapp uni.showToast 一闪而过的问题

问题&#xff1a;在页面跳转uni.navigateBack()等操作的前或后&#xff0c;执行uni.showToast&#xff0c;即使代码中设置2000ms的显示时间&#xff0c;也会一闪而过。 解决&#xff1a;用setTimeout延后navigateBack的执行。...

代理模式介绍及具体实现(设计模式 三)

代理模式是一种结构型设计模式&#xff0c;它允许通过创建一个代理对象来控制对另一个对象的访问 实例介绍和实现过程 假设我们正在开发一个电子商务网站&#xff0c;其中有一个商品库存管理系统。我们希望在每次查询商品库存之前&#xff0c;先进行权限验证&#xff0c;以确…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Axure 下拉框联动

实现选省、选完省之后选对应省份下的市区...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...

2.2.2 ASPICE的需求分析

ASPICE的需求分析是汽车软件开发过程中至关重要的一环&#xff0c;它涉及到对需求进行详细分析、验证和确认&#xff0c;以确保软件产品能够满足客户和用户的需求。在ASPICE中&#xff0c;需求分析的关键步骤包括&#xff1a; 需求细化&#xff1a;将从需求收集阶段获得的高层需…...

使用python进行图像处理—图像滤波(5)

图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值&#xff0c;以达到平滑&#xff08;去噪&#xff09;、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算&#xff0c;…...