LAPGAN 论文笔记

LAPGAN1的目标是提升GAN生成图像的分辨率。在LAPGAN中,每一张图片由多次生成。前一次生成的输出为后一次的输入,并且分辨率逐层提升。在生成过程中每一步都是独立的一个GAN系统,并且分离训练。

高斯金字塔与拉普拉斯金字塔

金字塔

定义 d ( x ) d(x) d(x)为下采样操作, u ( x ) u(x) u(x)为上采样操作。对于图片 I I I,张图片 I k I_k Ik的尺寸为 J k × J k J_k\times J_k Jk×Jk

高斯金字塔

对于高斯金字塔 G ( I ) = [ I 0 , I 1 , … , I K ] \mathcal{G}(I)=\left[I_{0}, I_{1}, \ldots, I_{K}\right] G(I)=[I0,I1,,IK] I = I 0 , I k + 1 = d ( I k ) I = I_0,I_{k+1}=d(I_k) I=I0,Ik+1=d(Ik) J k + 1 = 2 J k J_{k+1} = 2J_{k} Jk+1=2Jk

拉普拉斯金字塔

对于拉普拉斯金字塔 h k = L k ( I ) = G k ( I ) − u ( G k + 1 ( I ) ) = I k − u ( I k + 1 ) h_k = \mathcal{L}_{k}(I)=\mathcal{G}_{k}(I)-u\left(\mathcal{G}_{k+1}(I)\right)=I_{k}-u\left(I_{k+1}\right) hk=Lk(I)=Gk(I)u(Gk+1(I))=Iku(Ik+1)。其中 h k h_k hk为高分辨率图像下采样时损失的信息,可表示为 I k = u ( I k + 1 ) + h k I_{k}=u\left(I_{k+1}\right)+h_{k} Ik=u(Ik+1)+hk

模型结构

与原始GAN不同,LAPGAN由数个GAN系统组成。其中大部分GAN生成的目标不是完整的图片,而是残差 h k h_k hk。在金字塔中每一层的图片 I ~ k \tilde{I}_{k} I~k由下一层的图片上采样再加上由生成器生成的残差 h k h_k hk组成。
训练过程

生成器

对于在底层的生成器,如图中 G 3 G_3 G3,输入为噪声 z 3 z_3 z3,输出为 4 × 4 4\times 4 4×4的图片。

除最底层外,生成器 G G G的输入为下层的输出 h k + 1 h_{k+1} hk+1加上噪声 z k z_k zk,输出为 h k h_k hk,即
h ~ k = G k ( z k , u ( I k + 1 ) ) \tilde{h}_{k}=G_{k}\left(z_{k}, u\left(I_{k+1}\right)\right) h~k=Gk(zk,u(Ik+1))

整个生成过程可表示为
I ~ k = u ( I ~ k + 1 ) + h ~ k = u ( I ~ k + 1 ) + G k ( z k , u ( I ~ k + 1 ) ) \tilde{I}_{k}=u\left(\tilde{I}_{k+1}\right)+\tilde{h}_{k}=u\left(\tilde{I}_{k+1}\right)+G_{k}\left(z_{k}, u\left(\tilde{I}_{k+1}\right)\right) I~k=u(I~k+1)+h~k=u(I~k+1)+Gk(zk,u(I~k+1))

鉴别器

对于底层的鉴别器,如图中 D 3 D_3 D3,功能与原始GAN中的鉴别器相同,输出图片,输出二分的鉴别结果。

除底层外,鉴别器 D D D的输入为下层的 h k + 1 h_{k+1} hk+1与当层的残差 h k h_k hk,同样输出二分的鉴别结构。

结合CGAN

LAPGAN实际上可以进行无监督学习,但在有标签的数据集中,为了使结果更优秀,能够将每一组GAN替换为CGAN,即在生成器 G G G与鉴别器 D D D的输入中额外增加一项标签 l l l

训练过程

全系统如图中所示自左向右进行训练,以 I 0 I_0 I0部分为例:

  1. I 0 I_0 I0进行下采样得 I 1 I_1 I1
  2. I 1 I_1 I1进行上采样至 I 0 I_0 I0尺寸,得 l 0 l_0 l0
  3. G 0 ( z 0 , l 0 ) G_0(z_0, l_0) G0(z0,l0) h ~ 0 \tilde{h}_{0} h~0
  4. I 0 − l 0 I_0 - l_0 I0l0 h 0 h_0 h0
  5. 通过 D 0 ( h 0 , l 0 ) D_0(h_0,l_0) D0(h0,l0)分别得到结果,并进行训练
  6. 进行下一层训练

对于除底层外的GAN系统,损失函数为
min ⁡ G max ⁡ D E h , l ∼ p Data  ( h , 1 ) [ log ⁡ D ( h , l ) ] + E z ∼ p Noise  ( z ) , l ∼ p l ( l ) [ log ⁡ ( 1 − D ( G ( z , l ) , l ) ) ] \min _{G} \max _{D} \mathbb{E}_{h, l \sim p_{\text {Data }}(\mathbf{h}, \mathbf{1})}[\log D(h, l)]+\mathbb{E}_{z \sim p_{\text {Noise }}(\mathbf{z}), l \sim p_{l}(\mathbf{l})}[\log (1-D(G(z, l), l))] GminDmaxEh,lpData (h,1)[logD(h,l)]+EzpNoise (z),lpl(l)[log(1D(G(z,l),l))]

而对于底层则与原始GAN损失函数相同。


  1. E. Denton, S. Chintala, R. Fergus, et al. Deep generative image models
    using a laplacian pyramid of adversarial networks. In Advances in Neural Information Processing Systems (NeurIPS), pages 1486–1494, 2015. ↩︎

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值