【生成模型】解决生成模型面对长尾类型物体时的问题 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不太相似。
图 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
介绍 尽管最先进的模型可以生成常见实体的高质量图像,但它们通常难以生成不常见实体的图像,例如“Chortai(狗)”或“Picarones(食物)”。为了解决这个问题,我们提出了检索增强文本到图像生成器…...

南美巴西市场最全分析开发攻略,收藏一篇就够了
巴西位于南美洲东部,是南美洲资源最丰富,经济活力和经济实力最强的国家。巴西作为拉丁美洲的出口大国,一直是一个比较有潜力的市场,亦是我国外贸公司和独立外贸人集群的地方。中国长期是巴西主要的合作伙伴,2022年占巴…...
c++中操作符->与 . 的使用与区别
在C中,-> 和 . 是两个不同的成员访问操作符,用于访问类、结构体或联合体的成员。 “->” 操作符: 用于通过指针访问指针所指向对象的成员。当有一个指向对象的指针时,可以使用 -> 操作符来访问该指针所指向对象的成员。…...

golang 编译器 汉化
1、找到左上角file选项,点击选中settings进行单机 2、找到settings中找到plugins选中进行点击 3、再框中输入chinese进行搜索,出结果后找到如下图所示,点击进行安装 4、安装完成后进行重启ide,完美解决...
压缩包系列
1、zip伪加密 一个zip文件由三部分组成:压缩源文件数据区压缩源文件目录区压缩源文件目录结束标志。 伪加密原理:zip伪加密是在文件头中加密标志位做修改,然后在打开时误被识别成加密压缩包。 压缩源文件数据区: 50 4B 03 04&a…...

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

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

vue elementui <el-date-picker>日期选择框限制只能选择90天内的日期(包括今天)
之前也写过其他限制日期的语句,感觉用dayjs()的subtract()和add()也挺方便易懂的,以此记录 安装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插件播放抖音直播实现(仅限Android端) 在之前的开发过程中,遇到video_player播放视频,通过查看video_player插件描述,可以看到video_player在Android端使用exoplayer,在iOS端…...

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

[动手学深度学习]注意力机制Transformer学习笔记
动手学深度学习(视频):68 Transformer【动手学深度学习v2】_哔哩哔哩_bilibili 动手学深度学习(pdf):10.7. Transformer — 动手学深度学习 2.0.0 documentation (d2l.ai) 李沐Transformer论文逐段精读&a…...

hadoop集群安装并配置
文章目录 1.安装JDK 环境2.系统配置2.1修改本地hosts文件2.2创建hadoop 用户2.2 设置ssh免密(使用hadoop 用户生成) 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 构建文档》第三期,前两期分别介绍了: 第一期 介绍了Quarto 构建文档的原理;可创建的文档类型;对应的参考资源分享。 第二期 介绍了如何使用 Quarto,并编译出文档(PDF…...

虚拟机Ubuntu18.04安装对应ROS版本详细教程!(含错误提示解决)
参考链接: Ubuntu18.04安装Ros(最新最详细亲测)_向日葵骑士Faraday的博客-CSDN博客 1.4 ROS的安装与配置_哔哩哔哩_bilibili ROS官网: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 官方文档,线程和任务一节我们可以知道 ,chromium有两类线程,一类是普通线程,最典型的就是io线程和ui线程。 另一类是 线程池线程。 今天我们先分析普通线程的实现,下一篇文章分析线程池的实现。ÿ…...

uniapp uni.showToast 一闪而过的问题
问题:在页面跳转uni.navigateBack()等操作的前或后,执行uni.showToast,即使代码中设置2000ms的显示时间,也会一闪而过。 解决:用setTimeout延后navigateBack的执行。...
代理模式介绍及具体实现(设计模式 三)
代理模式是一种结构型设计模式,它允许通过创建一个代理对象来控制对另一个对象的访问 实例介绍和实现过程 假设我们正在开发一个电子商务网站,其中有一个商品库存管理系统。我们希望在每次查询商品库存之前,先进行权限验证,以确…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 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,SRS管理页面端口是8080,可…...

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

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

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合
在汽车智能化的汹涌浪潮中,车辆不再仅仅是传统的交通工具,而是逐步演变为高度智能的移动终端。这一转变的核心支撑,来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒(T-Box)方案:NXP S32K146 与…...

Axure 下拉框联动
实现选省、选完省之后选对应省份下的市区...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...
使用python进行图像处理—图像滤波(5)
图像滤波是图像处理中最基本和最重要的操作之一。它的目的是在空间域上修改图像的像素值,以达到平滑(去噪)、锐化、边缘检测等效果。滤波通常通过卷积操作实现。 5.1卷积(Convolution)原理 卷积是滤波的核心。它是一种数学运算,…...