NeurIPS 2022 | MoVQ: 基于Modulating Quantized Vectors的高保真图像生成

news2024/11/26 16:47:16

原文标题:MoVQ: Modulating Quantized Vectors for High-Fidelity Image Generation

一、问题提出

虽然两级Vector Quantized (VQ)【指VQVAE-2】生成模型允许合成高保真和高分辨率图像,但它们的量化操作符将图像中的相似patch编码到相同的索引中,导致使用现有解码器架构的相似相邻区域重复产生伪影。

尽管现有模型的性能出色,VQ-VAE或VQGAN管道也有其缺点。例如,其第二阶段通常以自回归的方式建模为序列生成过程,即在不同的空间位置逐个生成每个离散的潜码,这是非常耗时的推理。MaskGIT通过在每个步骤中基于预测置信度预测多个令牌,很好地解决了这个问题,这大大减少了自回归令牌生成器所需的步骤数。

结合空间条件归一化来调制量化向量,以便在嵌入的索引映射中插入空间变化的信息,鼓励解码器生成更逼真的图像。在不增加模型和码本成本的前提下,利用多信道量化提高离散码的重组能力。

为了在第二阶段生成离散token,采用Masked Generative Image Transformer(MaskGIT)来学习压缩潜在空间中的潜在先验分布,这比传统的自回归模型快得多。在两个基准数据集上的实验表明,modulated VQGAN能够极大地提高重建图像的质量,并提供高保真的图像生成。

二、模型

首先,训练一个编码器-解码器架构的量化器,使用学习到的codebook中的离散token将图像embedding到紧凑序列中,然后学习一个先验网络来建模离散空间中的底层分布。与流行GAN模型中的极大极小博弈不同,基于vq的生成器通过优化训练集中所有示例的负对数似然来训练,从而导致稳定的训练并避免“模式崩溃”问题。

左:MoVQ的量化器架构。我们将空间条件归一化层合并到解码器中,其中两个卷积层以point-wise的方式预测调制参数γ和β,以调制学习到的离散结构信息。右:Masked image generation。一个双向transformer被用于估计具有多个通道的离散表示的基础先验分布。

1、Modulating Quantized Vector

模型基于VQVAE(关于VQVAE可以查看:详解VQVAE:Neural Discrete Representation Learning_羊飘的博客-CSDN博客

Spatially conditional normalization(adaptive instance normalization)

输入是embedding的离散特征,其中包含学习到的紧凑内容。这是第一个在基于vq的图像生成框架上调制量化向量并使用多通道量化的工作。

量化算子为有损,相似的patch通常embedding为相同的codebook索引,导致通过现有解码器架构合成时会出现重复的伪影:

引入一个新的空间条件归一化层来将embedding的内容传播到activations.。动机是在离散映射中添加空间变量,这样模型就可以生成合理而多样的结果,即使是相邻区域的相同量化索引

通过常规Norm对F进行归一化,然后通过从embedding向量计算的学习尺度和偏差进行调制。具体地说,解码器Gθ中第i层的F为(可对照stage1的右图MoVQ结构):

这种Spatially conditional normalization是由自适应实例归一化(AdaIN)派生而来的。由于这种调制算子注入了空间变异的信息,它鼓励相同的量化项在不同位置上产生可信且不同的结果。

Multichannel representation

与现有的量化器将图像映射为单通道索引映射不同,这里将其转换为具有共享码本的多通道索引映射,以进一步提高图像质量。其中1 × 1 × Nc随机向量能够生成结构合理的逼真图像,表明跨通道的值包含丰富的信息。在实践中,首先沿着通道维度将编码的连续特征z∈Rh×w×nz细分为多个块,即z = {z(1),···,z(c)}。然后,这些块中的每一个都基于equation2到codebook中最接近的codevector进行量化。

对于256 × 256的图像,通过16到16 × 16个特征的固定因子对其进行降采样。使用c = 4个并行块,等效序列表示为16 × 16 × 4,比原始图像小192x倍。注意,这样codebook中的codevector数将降为nq = nz/c。由于降低了每个code的维数,总的计算成本与全维的单通道表示相似。事实上,codebook Z的尺寸更小,维数为nq = nz/c = 256/4 = 64。

虽然较高的分辨率表示,如32 × 32 × 1或64 × 64 × 1也可以提高重建质量,但由于序列s = h × w较长,第二阶段的计算成本将较高。相比之下,多通道表示保持了更小的序列长度,即16 × 16,尽管每个序列标记现在由四个片段重新组合,每个片段对应一个量化指标。对于每个空间网格特征zij,这样的指数组合容量Kc,使得多通道表示能力远大于原始码本中的K项。

2、Modeling Prior Distribution

直接用现有方法进行第二阶段,包括传统自回归模型和最新掩码生成图像transformer(MaskGIT)

Autoregressive token generation.

图像生成可以自然地表述为自回归下一符号预测问题。特别地,最大化似然函数:

Masked token generation.

为了高效地生成索引序列,遵循MaskGIT并行预测所有token。目的是根据固定长度内的可见指标来估计所有指标的分布:

将训练过程中带有随机掩码比的掩码图s¯m输入多层双向transformer,以估计每个掩码指标的可能分布,其中还在ground-truth one-hot指标与预测指标之间计算负对数似然(NLL)。在推理时,模型运行固定的步骤,并在每次迭代中基于先前产生的可见token同时并行地预测所有token。然后,选出最可信的token,剩余的masked token将在下一步条件下对先前预测的token进行预测。

Multichannel token generation.

对于每个位置,沿着通道将块反向拼接为输入的一个token,并预测输出的c个index。在实际操作中,为各个通道和位置独立地屏蔽每个索引。与MaskGIT相比,模型中的预测指标依赖于三个方向,即来自不同位置和通道的可见索引,由于组合能力的原因导致了更大的多样性。

三、实验Experiments

1、Experimental Details

Datasets. 在无条件和类条件图像生成任务上实例化MoVQ,分别使用FFHQ和ImageNet。训练和验证设置遵循基线模型VQGAN的默认设置。在256 × 256的图像上训练所有模型。

Evaluation metrics. 使用两个最常见的评估指标Fréchet初始距离(FID)和初始分数(IS)来评估生成图像和真实图像之间的质量和多样性。也评估重建图像与原始图像之间的质量,还报告了传统的patch-level图像质量指标,包括峰值信噪比(PSNR)、结构相似指数(SSIM),以及最新学习到的配对重建图像和真实图像的特征级LPIPS

2、Image Quantization

Network structures and implementation details.

只在256 × 256图像上训练一个具有码本Z∈R1024×64的尺度量化器,即每个64维的1024个码向量。编码器-解码建立在VQGAN1上,唯一的区别是用spatially conditional normalization layer取代了Group Normalization。在解码器的前三个块中应用了新的归一化层。按照VQGAN中的默认设置,图像总是按16的固定因子进行下采样,即从256 × 256 × 3到一个大小为16 × 16 × 4的token grids。根据VQGAN设置超参数,并在4个V100 GPU上训练,per_gpu_batch_size为48,40个epoch。第一阶段的重建性能评估:

更少的参数量,更好的性能。学习的codebook只包含1024个64维的码向量,但有趣的是,它优于使用更大codebook的其他方法。这表明,一个更好的量化器可以提高码本的使用率,而不需要贪婪地增加码本的大小。

重建图像细节

3、Image Generation

Network structures and implementation details.

第二阶段用transformer来估计底层先验分布。配置:  layers:24,heads:16,embedding_dim:1024和hidden_state:4096。网络架构建立在VQGAN基线之上,除了最后一层预测16 × 16 × 4 × 1024的张量,其中16 × 16 × 4是预测索引的数量,1024是codebook中的条目数量。在这里,将图像生成设置为两种场景:(1)“auto”场景,其中训练和推理与VQGAN基线完全相似;(2)“mask”场景,其中训练和推理受到MaskGIT的启发。默认使用MaskGIT中的token进行采样,以便更快地进行采样。超参数遵循VQGAN中的默认设置,在4个V100 gpu上训练200个epoch,batch_size为64。

无条件生成评估:

优于大多数基于VQ的方法,具有更小的参数和更快的推断时间(采样)。虽然模型比并行工作vit-vqgan表现得更差,但他们在第二阶段使用了更大的模型(比作者模型大5倍),训练时间更长,这并不是一个好方法。(买点是快)

条件生成:

模型为每个类别生成50个样本,共50,000个样本,用于定量评价

与同样采用多通道表示的并发工作RQ-VAE相比,即使没有专门设计用于进一步预测多通道指标的RQ-transformer,性能也具有竞争力。由于MaskGIT和vit-vqgan使用更多的gpu进行更长时间的训练,因此与MoVQ进行比较并不直接公平。(这里的买点不是效果,而是效率)

条件生成实例:

4、Discussion

Architecture、Codebook size、Latent size:

最终:

在未来,希望探索学习codebook中每个条目的语义含义。

由于模型不仅能像最先进的GAN一样生成高保真图像,而且还能提供更好的重建图像,对基于vq的模型的未来感到兴奋,并计划将其应用于更多的图像反演、插值和翻译任务。

限制。

尽管MoVQ在相同压缩比下显著提高了图像表示质量,但模型有时会生成具有高频外观的图像,而结构信息缺失。这部分是由于在模型中采用的多通道表示。因此,需要进一步研究一种更好的多通道指标建模生成模型。

论文中最后提出的codebook中的语义是一个很好的想法,但是这个工作难度大,涉及可解释性,如果能做出来,那就很棒了。

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

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

相关文章

2023年MBA联考英语(二)大作文:关于某高校大学生的十大主题

2023年管理类联考倒计时9天!在历年的联考英语二作文主题中,大学生群体是时长会出现一期的,这既是对联考中部分专业涉及大学生群体的一种反映,也是因为这个群体的话题对大多数考生来讲都相对熟悉,毕竟都是从这个阶段经历…

世界杯竞猜项目Dapp-第四章(subgraph)

subgraph 是什么 subgraph 索引协议作为 Dapp 领域最重要的基建之一(如 uniswap、wave 等都在使用),主要用来做链上数据索引,即在链下对链上事件进行捕捉(扫链、计算、存储),然后可对存储下来的…

CAN总线学习笔记 | CAN盒测试STM32的CAN中断接收

CAN基础知识介绍文中介绍了CAN协议的基础知识,以及STM32F4芯片的CAN控制器相关知识,下面将通过实例,利用STM32CubeMX图形化配置工具,并配合CAN盒,来实现CAN通讯的中断收发测试 一、STM32CubeMX配置 CAN是挂载在APB1总…

《钱进球场》:球场争锋·棒球1号位

动画《钱进球场》改编自森高夕次原作、足立刑事著同名体育漫画,于2017年3月宣布动画化 ,由STUDIO DEEN负责动画制作,于2018年4月6日起播出。动画第二期于2018年10月5日开始播出。全24话。 中文名 钱进球场 原版名称 グラゼニ 动画制作 Stud…

pytorch 生成手写数字图像

生成对抗网络的概念 最基本的GAN模型由一个生成器 G 和判别器 D 组成。生成器用于生成假样本,判别器用于判断样本是真实的还是假的。 生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器…

jQuery - AJAX 简介

什么是 AJAX? AJAX 异步 JavaScript 和 XML(Asynchronous JavaScript and XML)。 简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据,并在网页上进行显示。 使用 AJAX 的应用程序案例&#xff…

个人简介网页设计作业 静态HTML个人介绍网页作业 DW个人网站模板下载 WEB静态大学生简单网页 个人网页作品代码 个人网页制作 学生个人网页

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

[附源码]Nodejs计算机毕业设计基于百度AI平台的财税报销系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

Redis中BIO、NIO、IO多路复用

1 BIO(阻塞IO) 阻塞IO就是两个阶段都必须阻塞等待 通常IO操作都是阻塞I/O的,也就是说当你调用read时,如果没有数据收到,那么线程或者进程就会被挂起,直到收到数据。 read直到数据复制到应用进程的缓冲区或者发生错误才会返回&am…

【数据结构与算法】第十六篇:图论(基础篇)

知识导航图形结构的引进图(Grapth)1.图的概念与应用2.有向图入度,出度3.无向图4.完全图无向完全图有向完全图5.连通图6.连通分量强连通分量图的实现方案1.邻接矩阵实现法2.邻接表实现法3.两种方法对比分析图形结构的引进 🌎 数据…

Linux基础-目录操作

该文章主要为完成实训任务及总结,详细实现过程及结果见【参考文章】 参考文章:https://howard2005.blog.csdn.net/article/details/126962205 文章目录一、常用权限操作1.1 常用权限操作1. chgrp命令2. chown命令3. chmod命令1.2 权限操作实战任务1 创建…

14、Redis_主从复制

文章目录14、Redis_主从复制14.1 是什么14.2. 能干嘛14.3 怎么玩:主从复制14.3.1 新建redis6379.conf,填写以下内容14.3.2 新建redis6380.conf,填写以下内容14.3.3 新建redis6381.conf,填写以下内容14.3.4 启动三台redis服务器14.…

java项目_第173期ssm高校二手交易平台_计算机毕业设计

java项目_第173期ssm高校二手交易平台_计算机毕业设计 【源码请到下载专栏下载】 今天分享的项目是《ssm高校二手交易平台》 该项目分为2个角色,管理员和用户。 用户可以浏览前台商品,并且进行购买商品,并在 个人后台查看自己的订单、查看商品…

DPDK源码分析之DPDK技术简介

Cache和内存技术 1. Cache一致性 多核处理器同时访问同一段cacheline时,会出现写回冲突的情况,操作系统解决这个问题会消耗一部分性能,DPDK采用了两个技术来解决这个问题: 对于共享的数据,每个核都定义自己的备份lc…

区块链学习2-合约开发

概述 智能合约本质上是运行在某种环境(例如虚拟机)中的一段代码逻辑。 长安链的智能合约是运行在长安链上的一组“动态代码”,类似于Fabric的chaincode,Fabric的智能合约称为链码(chaincode),…

对氯间二甲苯酚在活性污泥发酵过程中重塑ARGs的机制类别

2022年8月,凌恩生物客户河海大学罗景阳教授团队在《Science of the Total Environment》期刊上发表研究论文“Para-chloro-meta-xylenol reshaped the fates of antibiotic resistance genes during sludge fermentation: Insights of cell membrane permeability, …

ChatGPT技术解构

ChatGPT的训练主要分为三个步骤,如图所示: Step1: 使用有监督学习方式,基于GPT3.5微调训练一个初始模型;训练数据约为2w~3w量级(根据InstructGPT的训练数据量级估算,参照https://arxiv.org/pdf…

【内网安全-防火墙】防火墙、协议、策略

目录 一、基础知识 1、防火墙五个域 2、协议模型 二、出入站策略 1、单个机器防火墙 2、域控的防火墙 3、安全策略 一、基础知识 1、防火墙五个域 1、Untrust(不信任域,低级安全区域): 用来定义Internet等不安全的网络,用于网络入口线的接入 ——…

沁恒 CH32V003J4M6 开发测试

一、概述 具体看图,SOP8价格在0.6R,TSSOP20价格在0.7R,优势太大了 二、开发准备 通过原厂可以拿到样片,目前我拿到这颗是SOP8,另外官方淘宝可以买到TSSOP20的测试板,也带样片购买WCHLINK,TB…

Mysql 进阶(面向面试篇)锁

全局锁、表级锁(表锁、元数据锁、意向锁(意向共享锁、意向排它锁))、行级锁(行锁(共享锁、排它锁)、间隙锁、临键锁) 表级锁(表锁(表锁分为:表共…