RCG Self-conditioned Image Generation via Generating Representations

RCG: Self-conditioned Image Generation via Generating Representations

TL; DR:将图像的无监督表征作为(自)条件(而非是将文本 prompt 作为条件),生成与原图语义内容一致的多样且高质量结果。视觉训练能不能 / 需不需要摆脱文本,仍有待研究。

引言

就像图像自监督表征学习(对比学习 / 图像掩码建模)成功赶超了有监督训练一样,作者想要在图像生成领域,使得无条件(自条件)生成的性能追赶上条件生成。

不同于无条件生成直接将噪声分布映射到图像分布。本文提出的自条件生成框架是先通过自监督表征训练得到图像编码器提取图像的表征,再训练一个表征 diffusion 模型对表征进行去噪,最后使用根据去噪后的表征再生成真实图片。

在这里插入图片描述

方法

本文提出了 RCG(Rpresentation Conditioned image Generation),RCG 由三部分组成:一个预训练的自监督图像编码器、一个表征生成器和一个像素生成器。详细介绍如下:

图像编码器:RCG 使用了 moco-v3 作为图像编码器,将图像分布(image distribution)映射到表征分布(representation distribution)。表征分布需要具有两个特点:易于用 diffusion 模型建模和含有丰富的高层语义特征。每个表征都根据自身的均值和标准差进行标准化

表征生成器:RCG 中的表征生成器称为 RDM,用于从表征分布中采样。RDM 采用具有多个残差块的全连接网络作为其骨干网络,残差块的具体结构如图所示。RDM 采用 DDIM 的训练和采样算法。训练阶段,图像表征 z 0 z_0 z0 会掺入高斯噪声 ϵ \epsilon ϵ 得到 z t z_t zt,RDM 的训练目标就是对 z t z_t zt 进行去噪,得到 z 0 z_0 z0 。推理阶段,采用 DDIM 的采样方式,RDM 对采样的高斯噪声降噪,生成图像表征。

在这里插入图片描述

像素生成器:RCG 中的像素生成器负责根据给定的图像表征作为条件,来生成图像像素。理论上来说,这里的像素生成器可以是任何条件生成模型,只要将原本的条件(text, label, etc.)表征换成自监督的图像表征即可。这里作者使用了 MAGE (本文一作的另一篇工作)作为像素生成器。训练阶段,像素生成器根据带掩码的图像和该图的表征,来重建原图。推理阶段,像素生成器根据 RDM 生成的图像表征和一个完全的掩码图,来生成图像。

在这里插入图片描述

以上介绍了 RCG 的三个主要组件及其训练方式。另外,RCG 还有一个重要特点,即虽然它本身是一种无条件(自条件)的生成方法,但它可以应用 Classifier-free Guidance(CFG)。

Classifier-free Guidance:CFG 可以提高生成模型的性能,但一般在无条件生成模型上没法用,因为 CFG 实际上是一种通过无条件的生成,来为条件生成提供引导的方法。虽然 RCG 也可以用于无条件生成,但实际上 RCG 中的像素生成器是要根据无监督的图像表征(作为自条件)来生成的,所以 RCG 可以应用 CFG,来进一步提高性能。

RCG 采用了 Muse 方法来在 MAGE 像素生成器中使用 CFG。在训练阶段,MAGE 有 10% 的概率会在没有自监督表征作为条件的情况下进行训练。在推理时,MAGE 每步会为每个 mask token 预测一个无条件的 logit l u l_u lu,和一个条件于自监督表征的 logit l c l_c lc,最终的 logits l g l_g lg l c l_c lc 根据系数 τ \tau τ 远离 l u l_u lu l g = l c + τ ( l c − l u ) l_g=l_c+\tau (l_c-l_u) lg=lc+τ(lclu)。MAGE 根据最终的 l g l_g lg 预测 mask token。

结果

定量结果

先看一下再 ImageNet 256px 上图像生成的定量指标结果。需要说明的是,由于无条件生成的方法无法使用 CFG,故这里 RCG 列出的结果也是没用 CFG 的。RCG-L FID 达到 3.56,IS 达到 186.9,超越了所有的无条件生成的 baseline,甚至超越了所有的条件生成的模型。

在这里插入图片描述

下面这张表是对比条件生成,并且加 CFG 的结果。可以看到,使用 CFG 之后,RCG 的 FID (3.56->3.31) 和 IS (186.9->253.4) 都有所提升,对比条件生成的方法使用 CFG 之后,也很接近了。

在这里插入图片描述

文章还做了丰富的消融实验,包括自监督表征模型大小/深度/宽度、projection 维度、去噪步数等,详见原文。

定性结果

文章的定性结果也很有意思,这里主要看表征重建和表征插值两个结果。

表征重建 是首先 ImageNet 中的图像提取自监督表征,然后对表征加入一定噪声之后,RDM 去噪,再生成图像。可以看到,RCG 的生成结果几乎完美的保持了图像的语义,并且具有一定的多样性。这说明了预训练的自监督表征真的能够表达图像的语义。

多说一句,感觉这种能力非常适合拿来做图像分类的数据增强,因为它能忠实地保持语义,同时具有多样性。而数据增强的目标就是在不改变图像基本语义的基础上,尽量丰富图像的多样性。一般的图像增强是在 pixel 维度加噪声,而 RCG 生成则相当于在 representation 维度加噪声。

在这里插入图片描述

P.S. 在笔者自己的实验中,RCG 对于自然图像的生成基本没有问题,但是对于人脸的生成却是崩的一塌糊涂。经知友提点,这是因为处于 ethics 考虑,目前 ImageNet 的人脸都被加了模糊,完全没有细节。如需生成人脸图像,自行收集相关数据集 finetune 会好一点。

在这里插入图片描述

表征重建

既然有丰富语义的表征,那能不能像之前 GAN 那样对 latent 进行编辑/插值,来控制生成图片的属性呢?这样的实验自然也是少不了,可以看到,两个图片表征之间插值的生成结果反应了变化的过程。这表明自监督表征空间确实是含有丰富的语义的,并且非常平滑。

在这里插入图片描述

总结

在计算机视觉领域,自监督表征学习(对比学习 / 图像掩码建模)基本已经摆脱了人工标注数据的束缚,迈入自监督学习的新时代。而在图像生成领域,还是需要大量的带标签(text/label)的图文对。本文尝试根据自监督表征,来进行自条件的图像生成,性能直逼有条件生成,可以说是接近弥合了这一 gap。

从方法的角度来看,是很有意思的一篇工作,结合视觉自监督表征,实现了无标注、无文本条件的生成。唯一遗憾就是方法本身看起来不太简洁,不熟悉几篇前置工作的话,理解起来还是要稍微费点劲儿的。

从应用的角度来看,上文中已经提到,RCG 生成的图像是一个很自然的数据扩增方法,而且在少样本的 setting 下,可能能发挥不小的作用。

从更大的视角来看,视觉智能的出现到底需不需要依赖于文本。即使是已经被认为取得成功的图像自监督表征方法中,无论如何最终都至少需要一个 linear probing 的微调,与我们想象中的”智能“还相去甚远。CLIP 的意义和影响力无疑是非常巨大的,它借助图文对这一弱监督数据,对齐了图文双模态。视觉领域终于也借助语言监督,实现了所谓的 zero-shot,从而带来了无限的想象力。从此,各种各样的视觉任务(分类、检测、分割等)都借助 CLIP 实现了 open-vocab。

然而,毕竟图像与文本是两个不同的模态,差别也是固有的。文本能帮助视觉,也会限制视觉。所谓”一图胜千言“,很多情况下,一张图的内容可能是语言很难甚至无法精确描述的。即,视觉的细粒度可以认为是无限的。以 CLIP 为例,熟悉它的人都知道,虽然说是对齐了两种模态,但是无论正负样本,CLIP 的图像文本相关性分数会集中在一个很小的区间(如 0.2-0.5),而非遍布整个 0-1 区间,这或许就是图文两模态之间 gap 的一点体现。

无独有偶,近期大火的 LVM,也是脱离文本的纯视觉训练方式,把视觉数据都统一起来,然后做自回归式的预测下一个 token。似乎大牛们都在探索无文本(text, label)的视觉训练。在 LLM 爆火的这一年,感觉 CV 的主题就是往上蹭,随便兜一个什么 adapter,就把视觉编码器的特征接到 LLM 上去。这种方式当然可以很好地借助 LLM 的理解能力,出一些前所未有的效果(GPT4 等)。但是按照条路走下去,看起来从此视觉就没什么需要研究的了,只是训一个 encoder,做好 LLM 的 sensor 即可。个人觉得这不会是 CV 或者图文多模态的最终形态。很期待视觉领域本身能涌现出更多更有想法的工作。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java体系总结

Java体系总结 Java技术体系总结涵盖了Java基础(Java运行原理、运行环境、Java特性、集合、线程、JVM、SPI)、Netty框架、Https原理、Spring框架、SpringBoot框架的知识整理 目录 Java体系总结一、Java基础1、Java运行原理2、运行环境3、Java特性1&#x…

国产Type-C PD芯片:USB-C接口快充取电芯片

常用USB PDTYPE-C受电端,即设备端协议IC芯片(PD Sink,也叫PD诱骗芯片),诱导取电芯片。 产品介绍 LDR6328: ◇ 采用 SOP-8 封装 ◇ 兼容 USB PD 3.0 规范,支持 USB PD 2.0 ◇ 兼容 QC 3.0 规范&#x…

深度学习 Day10——T10数据增强

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 | 接辅导、项目定制 文章目录 前言一、我的环境二、代码实现与执行结果1.引入库2.设置GPU(如果使用的是CPU可以忽略这步)3.导入数据4.查…

哪种单机版进销存软件好用且真正免费的?

——“哪种单机版进销存软件好用且真正免费的?” ——“免费可使用,但付费实现更大价值。” 作为相关行业的从业者,我十分理解很多小微企业/个体户生存不易,希望在进销存系统上节省成本,或者没有付费使用管理系统的习…

基于ssm应急资源管理系统论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本应急资源管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息…

JS的变量提升ES6基础

JS的变量提升&ES6基础 变量var关键字var声明作用域实例一实例二多个变量 变量提升 let关键字暂时性死区全局声明for循环中使用let const关键字 变量 ECMAScript变量时松散类型的,意思是变量可以用于保存任何类型的数据。 声明变量:var 、const、let …

软件测试面试八股文(答案解析+视频教程)

1、B/S架构和C/S架构区别 B/S 只需要有操作系统和浏览器就行,可以实现跨平台,客户端零维护,维护成本低,但是个性化能力低,响应速度较慢。 C/S响应速度快,安全性强,一般应用于局域网中&#xf…

外包干了3年,技术退步太明显了。。。。。

先说一下自己的情况,本科生生,18年通过校招进入武汉某软件公司,干了差不多3年的功能测试,今年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能…

Linux 高级管理,基于域名的虚拟Web主机

实验环境 某公司的网站服务器使用的公网IP地址为192.168.184.50并使用该IP地址注册了两个域名 www.bdqn1.com和www.jbit.com。服务器中已经安装好了 CentOS 7操作系统.并通过源码编译的 方式安装了Web服务器软件httpd-2.4.25.现需要对httpd服务进行配置.以支持同时运行这两个 W…

OpenHarmony 如何去除系统锁屏应用

前言 OpenHarmony源码版本:4.0release / 3.2 release 开发板:DAYU / rk3568 一、3.2版本去除锁屏应用 在源码根目录下:productdefine/common/inherit/rich.json 中删除screenlock_mgr组件的编译配置,在rich.json文件中搜索th…

智能时代:互联网+如何改变我们的生活与工作

引言 随着科技的不断进步和互联网的普及,我们正处在一个智能时代。这个时代被互联网所定义,它深刻地改变了我们的生活和工作方式。从社交互动到日常工作,智能时代的影响无处不在,给人们带来了前所未有的变革和机遇。 互联网的涌…

【基础知识】大数据概述

关键词—分布式 化整为零,再化零为整 大数据的定义 传统数据库处理起来困难的数据集。 发展历程 中国开源生态图谱2023 参考内容 中国开源生态图谱 2023.pdf 技术组件说明 数据集成 sqoop、dataX、flume 数据存储 hdfs、kafka 数据处理 mapreduce、hive…