Taming Transformers for High-Resolution Image Synthesis

  1. 问题引入
  • CNN结构有inductive bias,会更关注于局部的交互,但是effective,transformer结构computational但是可以进行long-range的interaction,本文想要做的就是结合两种结构的优点来完成超大尺寸图片的合成;
  • 首先使用CNNs来学习context rich vocabulary(codebook),之后使用transformer来model composition;
  • 总的来说就是transformer的时间复杂度和sequence lence成平方的关系,所以将transformer based的方法直接扩展到高分辨率图片的生成计算复杂度很大,所以本文提出首先使用CNNs来得到一个codebook,之后再这个空间上使用transformer based的方法;
  1. methods
    在这里插入图片描述
  • Codebook的获得:discrete codebook Z = { z k } k = 1 K ⊂ R n z Z=\{z_k\}^K_{k = 1}\subset\mathbb{R}^{n_z} Z={zk}k=1KRnz n z n_z nz是codebook的code维度,encoder E E E,decoder G G G,给出一张图片 x x x,首先经过encoder得到 z ^ = E ( x ) ∈ R h × w × n z \hat{z} = E(x)\in\mathbb{R}^{h\times w\times n_z} z^=E(x)Rh×w×nz,之后对应每一个 z ^ i j ∈ R n z \hat{z}_{ij}\in\mathbb{R}^{n_z} z^ijRnz,寻找到它在codebook中最近的一个code z k z_k zk组成 z q = q ( z ^ ) : = ( a r g m i n z k ∈ Z ∣ ∣ z ^ i j − z k ∣ ∣ ) ∈ R h × w × n z z_q = q(\hat{z}):=\left( argmin_{z_k\in Z}||\hat{z}_{ij}-z_k|| \right)\in\mathbb{R}^{h\times w\times n_z} zq=q(z^):=(argminzkZ∣∣z^ijzk∣∣)Rh×w×nz,之后将 z q z_q zq经过decoder得到reconstruction的结果 x ^ = G ( z q ) = G ( q ( E ( x ) ) ) \hat{x}=G(z_q) = G(q(E(x))) x^=G(zq)=G(q(E(x))) q q q是一个量化的操作,是不可微的,此处通过straight through gradient estimator实现,也就是直接将decoder的梯度复制到encoder来使得模型可以端到端的训练,损失函数是 L V Q ( E , G , Z ) = ∣ ∣ x − x ^ ∣ ∣ 2 + ∣ ∣ s g [ E ( x ) ] − z q ∣ ∣ 2 2 + β ∣ ∣ s g [ z q ] − E ( x ) ∣ ∣ 2 2 L_{VQ}(E,G,Z) = ||x - \hat{x}||^2 + ||sg[E(x)]-z_q||^2_2 + \beta||sg[z_q]-E(x)||^2_2 LVQ(E,G,Z)=∣∣xx^2+∣∣sg[E(x)]zq22+β∣∣sg[zq]E(x)22,其中第一项是重建损失, s g [ ⋅ ] sg[\cdot] sg[]是stop gradient的操作;VQGAN在VQVAE的基础上增加了discriminator以及perceptual loss, L G A N ( { E , G , Z } , D ) = [ log ⁡ D ( x ) + log ⁡ ( 1 − D ( x ^ ) ) ] L_{GAN}(\{E,G,Z\},D) = [\log D(x) + \log(1 - D(\hat{x}))] LGAN({E,G,Z},D)=[logD(x)+log(1D(x^))],总的优化目标: a r g   m i n E , G , Z m a x D E x ∼ p ( x ) [ L V Q ( E , G , Z ) + λ L G A N ( { E , G , Z } , D ) ] arg\ min_{E,G,Z}max_D\mathbb{E}_{x\sim p(x)}\left[ L_{VQ}(E,G,Z) + \lambda L_{GAN}(\{E,G,Z\},D) \right] arg minE,G,ZmaxDExp(x)[LVQ(E,G,Z)+λLGAN({E,G,Z},D)],其中 λ = ∇ G L [ L r e c ] ∇ G L [ L G A N ] + δ \lambda = \frac{\nabla_{G_L}[L_{rec}]}{\nabla_{G_L}[L_{GAN}] + \delta} λ=GL[LGAN]+δGL[Lrec]
  • 有了codebook,一张原始图片量化之后 z q = q ( E ( x ) ) ∈ R h × w × n z z_q = q(E(x))\in\mathbb{R}^{h\times w\times n_z} zq=q(E(x))Rh×w×nz,进行展平得到 s ∈ { 0 , ⋯   , ∣ Z ∣ − 1 } h × w , s i j = k , ( z q ) i j = z k s\in\{0,\cdots,|Z| - 1\}^{h\times w},s_{ij}=k,(z_q)_{ij} = z_k s{0,,Z1}h×w,sij=k,(zq)ij=zk,于是图片的生成任务建模成自回归式的next index prediction的任务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值