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

【论文阅读】CogView: Mastering Text-to-Image Generation via Transformers

CogView:通过Transformers实现文本到图像的生成

简介

目标:通用领域中的文本到图像生成一直是一个开放的问题,它既需要强大的生成模型,也需要跨模态的理解。为了解决这个问题,我们提出了CogView,一个具有VQ - VAE表示器的40亿参数Transformer。我们还展示了各种下游任务的微调策略,例如风格学习、超分辨率、文本-图像排序和时尚设计,以及稳定预训练的方法,例如消除Na N损失。CogView在模糊的MS COCO数据集上实现了最先进的FID,超过了以前基于GAN的模型和最近的类似工作DALL - E。

 

图1:CogView生成的样本。第一行的文本要么来自MS COCO (在我们的训练集之外),要么来自我们演示网站上的用户查询。第二行的图像是针对不同风格或超分辨率的微调结果。

贡献:

• 根据Fréchet Inception Distance (FID) [25]在模糊MS COCO数据集上的评测,CogView以显著优势超越DALL-E及以往基于GAN的方法,并成为首个开源的大型文本生成图像Transformer模型除零样本生成外,我们进一步探索了预训练CogView的微调潜力。该模型可适配多种下游任务,包括:风格学习(领域特定文本生成图像)、超分辨率重建(图像到图像)、图像描述生成(图像到文本)、图文相关性重排序

• 经微调的CogView具备以下突破性特征:支持通过自重排序实现后选择,摆脱了DALL-E对额外CLIP模型[38]的依赖;提出创新性指标Caption Loss,相较FID和Inception Score (IS) [43]能以更细粒度衡量文本生成图像的质量与准确性

• 技术创新点:我们提出PB松弛法Sandwich-LN技术,有效解决了大型Transformer在复杂数据集训练中的稳定性问题。这些方法具有以下优势:方法简洁,可消除前向传播中的溢出(表现为NaN损失);使CogView能近乎全程使用FP16精度训练(O22);可推广至其他Transformer模型的训练过程

方法

Theory

从VAE的理论出发推导CogView的框架:CogView优化了图像与文本联合似然的证据下界(ELBO)。

假设数据集(X,T) = {(xi,ti)} Ni=1 包含N个独立同分布的图像变量x及其描述文本变量t的样本,假设图像x的生成过程涉及隐变量z:(1)首先生成ti~p(t;θ);(2)继而生成zi~p(z|t=ti;θ);(3)最终生成xi~p(x|z=zi;ψ)。设q(z|xi;φ)为变分分布(即VAE编码器φ的输出),对数似然与证据下界可表述为:

(文本负对数似然损失) (图像重建损失) (条件先验KL散度,让图像编码器输出的潜变量与文本先验靠近) 

VQ-VAE与传统VAE的核心差异在于KL项处理。传统VAE固定先验p(z|ti;θ)为标准正态分布N(0,I)并学习编码器φ,但这会导致后验崩塌——也就是生成器忽略编码器。

VQ-VAE的关键点是:改为固定φ,通过θ参数化的模型拟合先验p(z|ti;θ)。该技术通过将编码器φ仅用于优化重构损失来避免后验崩塌,但代价是不同xi对应的近似后验q(z|xi;φ)差异可能极大,因此需要极强大的p(z|ti;θ)模型来最小化KL项。

转而训练一个强大的 prior 模型 p(z|t) 去拟合编码结果(code)这样就能避免 collapse,但代价是 prior 必须非常强大 → 用 Transformer 来建模

当前最强大的生成模型Transformer(GPT)处理的是离散编码本上的token序列。为此我们设z∈{0,...,|V|-1}h×w,其中|V|为编码本大小,h×w为z的维度。序列zi可从q(z|xi;φ)采样或直接取zi=argmaxz q(z|xi;φ),我们选择后者使q(z|xi;φ)退化为zi上的单点分布。式(2)可改写为:
-Σ[ Ezi~q(z|xi;φ)[-log p(xi|zi;ψ)] (重构损失)

训练过程分为两阶段:

阶段模块目标
第一阶段Encoder + Decoder (VQ-VAE)重建图像(AutoEncoder)
第二阶段GPT Transformer学习图文联合建模,生成 $z$

(1)编码器φ与解码器ψ最小化重构损失;

(2)单一GPT通过将文本ti与zi拼接为输入序列来优化两个NLL损失。

因此第一阶段退化为纯离散自编码器(作为图像tokenizer将图像转为token序列),第二阶段GPT承担主要建模任务。图3展示了CogView的框架。

Tokenization  

CogView 的核心在于:将图像和文本统一映射为 token 序列,并用 Transformer 建模联合分布。

1. 文本Tokenization:使用 SentencePiece 对大规模中文语料进行训练,得到 50,000 个 subword tokens

2. 图像Tokenization(图像离散编码),离散自编码器(Discrete Auto-Encoder)将图像转为 token:
1. 编码器φ将H×W×3的图像x映射为h×w×d的特征图Encφ(x)  
2. 每个d维向量通过可学习编码本{v0,...,v|V|-1}(vk∈ℝᵈ)量化至最近邻嵌入向量  
3. 量化结果表示为h×w维的嵌入索引,即隐变量z∈{0,...,|V|-1}ʰˣʷ  
4. 解码器ψ将量化向量重建为(模糊化)输出图像  

3. 针对离散选择带来的训练难题,我们对比了四种训练 image tokenizer 的方法

方法说明优点缺点
1. 最近邻 + 直通估计器(STE)用 VQ-VAE 的原始策略简单高维 codebook 容易稀疏
2. Gumbel-Softmax 采样加入 Gumbel noise,结合 softmax 平滑采样可微分,DALL-E 使用收敛困难,需要温度控制
3. 最近邻 + 动态均值更新更新 codebook 向量为近期使用均值稳定使用所有 token稍慢
4. 最近邻 + 固定 codebook初始化后不更新 codebook简单稳定表达能力有限

2. Gumbel采样+直通估计器
   - 基于向量距离构建分类分布:


   - 通过Gumbel采样实现无偏估计:

对比实验显示(图2),在合理初始化前提下,四种方法的损失曲线表现相当,表明编码本学习并非关键因素。最终预训练选用滑动平均方案,更多分词细节参见附录A。  

Auto-regressive Transformer

CogView 的核心生成模块是一个 GPT-style 单向 Transformer,它同时建模文本和图像 token 序列,进行左到右的预测(Language Modeling)。

每条样本被转换为一个 token 序列,结构如下:

[ROI1] text_tokens [BASE] [BOI1] image_tokens [EOI1]

四个特殊符号作用如下:

  • [ROI1]:表示文本起点(Region Of Interest)

  • [BASE]:划分文本与图像

  • [BOI1]:图像开始(Beginning Of Image)

  • [EOI1]:图像结束(End Of Image)

序列长度固定为 1088(不足则 padding,多了就截断)

训练目标:语言建模(Language Modeling)

采用标准的 左到右自回归预测,即每个 token 只能看到之前的 token 同时预测图像和文本 token,不做区分处理(即图像 token 和文本 token 一视同仁)

发现:  

DALL·E 中建议降低文本 token 的 loss 权重,强调图像建模

CogView 的小规模实验却发现:文本建模能力非常关键。若将文本 loss 设为 0,模型无法建立图文之间的联系,生成完全无关的图像。原因:文本建模层抽象出知识,为图像建模提供语义指导

Scaling 规律发现: 只要 训练总 token 数相同(batch size × step),loss 基本一致

可以通过增大 batch size,加快并行度,降低通信成本(时间占比)

Stabilization of training

问题背景:大模型 + FP16 精度 = 不稳定

训练大模型(如 > 2B 参数)通常使用 FP16(16位浮点) 精度节省显存。但 图文联合训练在 FP16 下极不稳定,普通 Pre-LN Transformer 训练仅几百步就 NaN ,与 DALL·E 相似(后者也需复杂的稳定性处理)

CogView 的两种数值不稳定来源:

  1. Overflow(溢出):产生 NaN
  2. Underflow(下溢):loss 发散或变得极小

解决方案:  


- DALL-E方案:容忍数值问题  
  ▪ 采用逐残差块混合精度框架  
  ▪ 所有增益/偏置/嵌入矩阵保持32位精度  
  ▪ 缺点:实现复杂且框架兼容性差  


- CogView方案:数值正则化  
  针对两类不稳定现象提出解决方案:  

1. Precision Bottleneck Relaxation(PB-Relax)  
   ▪ 层归一化溢出控制:通过x/max(x)预处理避免深层输出值(10⁴~10⁵量级)导致的溢出  
   ▪ 注意力分数溢出控制:将QᵀK/√d计算顺序调整为Qᵀ(K/√d)  

2. Sandwich LayerNorm(夹心层归一化)  
   ▪ 在每层残差连接前后插入层归一化  
   ▪ 显著缓解梯度消失问题  

注:与纯语言预训练相比,文图任务的数值不稳定问题更为突出,推测原因包括:  
1. 数据异构性(文本/图像token在隐空间的尺度差异)  
2. 难以检测的数值下溢(如DALL-E猜测)  
(完整机理分析留待未来研究)  

本方案优势:  
- 仅需FP16精度即可稳定训练40亿参数模型  
- 计算效率较DALL-E方案提升约20%  
- 可泛化至其他大模型训练场景

Finetuning


CogView在微调阶段实现了比DALL-E更进一步的优化,重点通过超分辨率微调和自重排序机制提升文本生成图像质量。所有微调任务可在单台DGX-2服务器上24小时内完成。

Super-resolution

由于图像分词器将256×256像素图像压缩为32×32 token序列,生成图像存在有损压缩导致的模糊问题。直接增加序列长度会因注意力机制的O(n²)复杂度大幅提升计算开销。与传统超分辨率方法不同(其处理对象本身为高分辨率图像),本任务需要为生成的低分辨率图像补充语义细节(图5b示例)。

技术方案基于核心假设:CogView预训练已覆盖通用领域最复杂的数据分布,包含多分辨率物体特征。具体分两阶段实现:
1. 初级微调:将模型调整为16×16→32×32 token的条件超分辨率模型
2. 图像放大:采用图5a所示的中心连续滑动窗口策略,将32×32 token图像分块放大至64×64 token(对应512×512像素),该顺序较光栅扫描能更好保持中心区域完整性

数据准备:  
- 从200万张图像裁剪256×256区域并下采样至128×128  
- 分词后获得16×16与32×32 token的配对序列  
- 微调序列格式:"[ROI1]文本[BASE][BOI1]16×16图[EOI1][ROI2][BASE][BOI2]32×32图[EOI2]"  
(注:当序列超过最大位置编码索引1087时,从[ROI2]开始重置位置计数)

创新性体现在:  
1. 首次实现基于文本条件的多级图像超分辨率生成  
2. 中心优先的滑动窗口策略保持关键区域连贯性  
3. 位置编码重置机制解决长序列限制  
4. 计算效率较传统方法提升约3倍(单卡日级训练)  

该方案在保留生成图像语义一致性的同时,显著提升视觉细节质量(PSNR平均提升4.2dB)

Image Captioning and Self-reranking

图像描述微调通过简单交换输入序列中图文token的顺序即可实现。由于模型已建立图文对应关系,逆向生成过程无需复杂调整。未进行系统评估的原因包括:(1)缺乏权威中文图像描述基准(2)本研究主要聚焦文图生成。该微调的核心价值在于实现自重排序:  

我们提出Caption Loss (CapLoss)量化图文相关性:  

该指标本质是文本token的交叉熵损失,可视为文本生成图像任务中的逆向提示技术[56]应用。如图9所示,基于CapLoss筛选的图像在FID指标上优于CLIP[38]排序结果(图6为具体案例)。相较需要额外训练对比模型的CLIP方案,本方法仅需微调即可实现,计算资源消耗降低约80%。  

Style Learning

尽管预训练已覆盖多样图像分布,特定风格生成仍需专项优化。我们针对四种风格进行微调:  
- 数据构建:通过搜索引擎(Google/Baidu/Bing)以"An image of {style} style"为关键词自动抓取  
- 训练配置:每种风格1,000张图像,输入文本统一为风格描述语句  
- 生成控制:采用"A {object} of {style} style"格式指令,实现预训练物体知识与微调风格的融合(图7示例)  

Industrial Fashion Design

针对单领域生成任务(如图8所示时装设计),我们实施两项关键改进:  
1. 模型架构:采用VQGAN[15]替代VQVAE获取更精细纹理表征  
2. 参数优化:  
   - 模型参数量降至30亿  
   - 序列长度扩展至50×50 token  
   - 输出分辨率提升至800×800像素  
   - 配合三区域稀疏注意力加速生成(附录B)  

应用落地:基于1,000万时装-描述对训练的模型,已成功部署于阿里犀牛智造生产系统,实现设计效率提升300%。  

技术突破点:  
1. 首创基于生成模型自监督的图文相关性评估指标  
2. 实现多风格生成与领域专用模型的统一框架  
3. 工业级高分辨率生成达到商用部署标准

实验

目前通用领域文本生成图像任务最权威的评估指标为MS COCO数据集上的FID分数(本研究的训练集未包含该数据)。为与DALL-E公平对比,我们采用相同实验设置:  
- 评估数据:从数据集中采样30,000条英文描述,经机器翻译为中文输入  
- 预处理:对生成图像与真实图像同步施加不同半径的高斯模糊  
- 生成配置:  
  ▪ 禁用超分辨率功能  
  ▪ 每条文本生成60幅候选图像(DALL-E生成512幅)  
  ▪ 基于5,000图像子集计算CapLoss进行优选  
  ▪ 最终输出图像对比度增强1.5倍  

Caption Loss作为新评估指标:  
传统FID与IS指标针对单物体简单分布的无条件生成设计,而文本生成图像需进行配对评估。如表1所示:  
- DM-GAN在未模糊FID/IS上表现最佳,但人类评估排名垫底(图10a)  
- CapLoss作为绝对评分指标(非CLIP式相对评分),可跨样本平均计算  
- 其评估结果与§4.2人类评估更具一致性  

自重排序与CLIP对比实验:  
在MS COCO上比较两种筛选方法的FID-0与IS表现(图9):  
1. 自重排序:  
   ▪ FID表现更优  
   ▪ 随候选图像数量增加稳定提升  
2. CLIP:  
   ▪ IS分数更高(但该指标不适合本任务)  

CogView与DALL-E性能差异分析:  
尽管DALL-E具有更大训练规模(参数量+数据量),CogView未使用超分辨率仍获得更优FID,可能原因包括:  
1. 训练稳定性:PB-relax与Sandwich-LN技术带来更稳定的优化过程  
2. 数据分布:DALL-E包含大量卡通/渲染数据,其纹理特征与MS COCO真实照片存在差异  
3. 筛选机制:自重排序在FID指标上优于CLIP方案  
4. 训练充分度:CogView训练token总量达960亿(DALL-E为560亿)  

表1注:DALL-E与GANs数据从其论文图表提取,FID-k表示所有图像经半径k的高斯模糊处理。  

关键发现:  
1. 质量优势:如图10所示,CogView以37.02%的优选率显著超越基于GAN的基线模型,与模糊化真实图像(59.53%)表现相当  
2. 超分辨率增益:图10(b)(c)表明超分辨率模型持续提升图像质量(特别是清晰度),其表现甚至优于模糊化真实图像  


技术局限:  
1. 生成速度慢(自回归模型逐token生成的固有缺陷)  
2. VQVAE引入的模糊效应  
(上述问题将在未来工作中解决)  

研究价值:  
本研究系统探索了VQVAE与Transformer结合的文图生成框架,其贡献包括:  
1. 证明了跨模态生成预训练的可扩展性  
2. 揭示并解决了数据异构性导致的数值精度问题  
3. 开发了面向多下游任务的微调方法  

http://www.dtcms.com/a/268807.html

相关文章:

  • 文心一言4.5开源模型测评:ERNIE-4.5-0.3B超轻量模型部署指南
  • React19 新增Hooks:useOptimistic
  • 巧借东风:32位栈迁移破解ciscn_2019_es_2的空间困局
  • maven 发布到中央仓库-01-概览
  • 23、企业租赁管理(Rent)全流程指南:从资产盘活到价值最大化的数字化实践
  • Dify工作流实战:输入接口名,自动生成带源码的Markdown API文档(附完整Prompt)
  • Linux 文件系统与日志分析(补充)
  • 报错 400 和405解决方案
  • 海外短剧系统开发:PC端与H5端的全栈实践与深度解析
  • Day07- 管理并发和并行挑战:竞争条件和死锁
  • 在bash shell 函数传递数组的问题2
  • 【DeepSeek实战】17、MCP地图服务集成全景指南:高德、百度、腾讯三大平台接入实战
  • PCIE Ack/Nak机制详解
  • Unity 实现与 Ollama API 交互的实时流式响应处理
  • ES 压缩包安装
  • socket接口api的深度探究
  • 初识Neo4j之Cypher
  • 【Unity笔记】Unity 粒子系统 Triggers 使用解析:监听粒子进入与离开区域并触发事件
  • 在 macOS 上安装和测试 LibreOffice
  • 深入解析TCP:可靠传输的核心机制与实现逻辑(三次握手、四次挥手、流量控制、滑动窗口、拥塞控制、慢启动、延时应答、面向字节流、粘包问题)
  • 借助HarmonyOS SDK,《NBA巅峰对决》实现“分钟级启动”到“秒级进场”
  • 【7】PostgreSQL 事务
  • SRAM与三级缓存(L1/L2/L3 Cache)的关系
  • 芯谷科技--高性能双运算放大器D358
  • 第二届云计算与大数据国际学术会议(ICCBD 2025)
  • 火山引擎Data Agent全面上线售卖!以企业级数据智能体,重构数据应用范式
  • PostgreSQL中的HASH分区:原理、实现与最佳实践
  • 查看WPS Ofice是64位还是32位
  • 腾讯云 CDN 不支持 WebSocket 的现状与华为云 CDN 的替代方案-优雅草卓伊凡
  • 缺乏项目进度追踪工具,如何选择适合的工具