您好,欢迎访问代理记账网站
移动应用 微信公众号 联系我们

咨询热线 -

电话 15988168888

联系客服
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

CVPR2021—基于分布判别器的无监督的图像合成

前言

 该论文是关于GAN图像生成类的文章出自于大连理工大学并发表于CVPR2021。GAN生成能力最关键的一环在于模型利用真实数据的信息量的多少,但是GAN及其相应的变体因为利用的信息量比较单薄,所以会导致模型在训练的过程中非常脆弱,容易导致模型崩塌。为了解决这个问题,论文中作者提出了一种新的GAN的框架 P 2 G A N \mathrm{P^2GAN} P2GAN,不同于以往的GAN的判别器将样本映射为判别真假的概率值,该论文中判别器将输入样本映射成为高斯分布因子,借此充分的提取真实分布信息,作者从理论实验两方面验证了 P 2 G A N \mathrm{P^2GAN} P2GAN的有效性。论文中的作者还引入了很多个小技巧来文本GAN模型训练的过程。
在这里插入图片描述

预备知识

L S G A N \mathrm{LSGAN} LSGAN

 与最初的 G A N \mathrm{GAN} GAN不同, L S G A N \mathrm{LSGAN} LSGAN采用最小二乘法作为损失函数。它惩罚那些远离决策边界的样本,这些样本可以执行更稳定的学习过程。本文中的 P 2 G A N \mathrm{P^{2}GAN} P2GAN L S G A N \mathrm{LSGAN} LSGAN的损失函数为基础,其中目标函数为:
min ⁡ D V L S G A N ( D ) = 1 2 E x ∼ p d a t a ( x ) [ ( D ( x ) − b ) 2 ] + 1 2 E x ∼ p g ( x ) [ ( D ( x ) − a ) 2 ] \min_{D}V_{LSGAN}(D)=\frac{1}{2}\mathbb{E}_{x \sim pdata(x)}[(D(x)-b)^2]+\frac{1}{2}\mathbb{E}_{x \sim p_g(x)}[(D(x)-a)^2] DminVLSGAN(D)=21Expdata(x)[(D(x)b)2]+21Expg(x)[(D(x)a)2] min ⁡ V L S G A N ( G ) = 1 2 E x ∼ p g ( x ) [ ( D ( x ) − c ) 2 ] \min V_{LSGAN}(G)=\frac{1}{2}\mathbb{E}_{x \sim p_g(x)}[(D(x)-c)^2] minVLSGAN(G)=21Expg(x)[(D(x)c)2]其中 p d a t a ( x ) p_{data}(x) pdata(x)是真实图像的分布, p g ( x ) p_g(x) pg(x)是生成图像的分布。 a a a b b b分别表示假数据和真实数据的标签,而 c c c表示生成器 G G G希望判别器 D D D相信假数据的值。

A d a I N \mathrm{AdaIN} AdaIN

A d a I N \mathrm{AdaIN} AdaIN是针对风格传递提出的,它可以将外部风格的图像信息融合到归一化中。给定第 i i i个卷积特征 m i m_i mi A d a I N \mathrm{AdaIN} AdaIN通过实例归一化 I N \mathrm{IN} IN m i m_i mi进行归一化,然后使用 I N \mathrm{IN} IN在样式特征 s i s_i si上提供的相应均值和方差对其进行缩放和偏置。该操作被定义为:
A d a I N ( m i , s i ) = δ I N ( s i ) m i − μ I N ( m i ) δ I N ( m i ) + μ I N ( s i ) \mathrm{AdaIN}(m_i,s_i)=\delta_{IN}(s_i)\frac{m_i-\mu_{IN}(m_i)}{\delta_{IN}(m_i)}+\mu_{IN}(s_i) AdaIN(mi,si)=δIN(si)δIN(mi)miμIN(mi)+μIN(si)在该论文中,作者使用 A d a I N \mathrm{AdaIN} AdaIN层将真实信息应用于生成器。

参数化

 参数化技巧主要用在变分推理中梯度下降中,通过得到了多元高斯分布的因子,就可以通过参数化技巧生成该分布的样本。作者从标准高斯 N ( 0 , I ) \mathcal{N}(0,I) N(0,I)中采样一个随机噪声 ϵ \epsilon ϵ,然后从特定的多元高斯分布中采样可以是:
z = ϵ ⊙ σ + μ z = \epsilon \odot \sigma + \mu z=ϵσ+μ其中 μ \mu μ σ \sigma σ分别是高斯分布的参数。

模型方法

 由于本论文的数学符号过多,为了能够清晰的辨识,我将论文中的数学符号整理成下表。
在这里插入图片描述

 如下图所示为 P 2 G A N \mathrm{P^2GAN} P2GAN的模型结构图。判别器将图像作为输入,并输出多元高斯分布的因子 μ \mu μ σ \sigma σ。生成器在训练过程中借助于后验模块和 A d a I N \mathrm{AdaIN} AdaIN从随机噪声 ϵ \epsilon ϵ和后验向量 z z z中产生图像。
在这里插入图片描述

分布度量

假设: a 1 a_1 a1 a 2 a_2 a2是通过参数化技巧从两个不同的一维高斯分布 P 1 = N ( μ 1 , σ 1 2 ) P_1=\mathcal{N}(\mu_1,\sigma^2_1) P1=N(μ1,σ12) P 2 = N ( μ 2 , σ 2 2 ) P_2=\mathcal{N}(\mu_2,\sigma^2_2) P2=N(μ2,σ22)中采样的: a 1 = ϵ σ 1 + μ 1 a_1=\epsilon\sigma_1+\mu_1 a1=ϵσ1+μ1 a 2 = ϵ σ 2 + μ 2 a_2=\epsilon\sigma_2+\mu_2 a2=ϵσ2+μ2 a 1 a_1 a1 a 2 a_2 a2之间的最小平方距离为: D i s = 1 2 E a 1 ∼ P 1 , a 2 ∼ P 2 [ ( a 1 − a 2 ) 2 ] Dis = \frac{1}{2}\mathbb{E}_{a_1 \sim P_1,a_2 \sim P_2}[(a_1-a_2)^2] Dis=21Ea1P1,a2P2[(a1a2)2]其中对于 ∀ ϵ ∼ N ( 0 , 1 ) \forall \epsilon \sim \mathcal{N}(0,1) ϵN(0,1),如果说距离 D i s = 0 Dis=0 Dis=0,则可以认为分布 P 1 P_1 P1 P 2 P_2 P2基本一致。可以将上公式重新简化为 D i s = 1 2 ( P 1 − P 2 ) 2 Dis=\frac{1}{2}(P_1-P_2)^2 Dis=21(P1P2)2
证明:已知 a Δ = a 1 − a 2 = ϵ ( σ 1 − σ 2 ) + ( μ 1 − μ 2 ) a_{\Delta}=a_1-a_2=\epsilon (\sigma_1 - \sigma_2)+(\mu_1-\mu_2) aΔ=a1a2=ϵ(σ1σ2)+(μ1μ2) μ Δ = μ 1 − μ 2 \mu_{\Delta}=\mu_1-\mu_2 μΔ=μ1μ2 σ Δ = σ 1 − σ 2 \sigma_{\Delta}=\sigma_1-\sigma_2 σΔ=σ1σ2,则有 a Δ ∼ N ( μ Δ , σ Δ 2 ) a_{\Delta}\sim \mathcal{N}(\mu_{\Delta},\sigma_{\Delta}^2) aΔN(μΔ,σΔ2),进一步可以推知 2 D i s = E [ a Δ 2 ] = E [ ( a Δ − μ Δ + μ Δ ) 2 ] = E [ ( a Δ − μ Δ ) 2 ] + 2 E [ ( a Δ − μ Δ ) μ Δ ] + E [ μ Δ 2 ] = δ Δ 2 + 2 μ Δ ( E [ a Δ ] − μ Δ ) + μ Δ 2 = σ Δ 2 + μ Δ 2 \begin{aligned}2 Dis&=\mathbb{E}[a^2_{\Delta}]\\&=\mathbb{E}[(a_{\Delta}-\mu_{\Delta}+\mu_{\Delta})^2]\\&=\mathbb{E}[(a_{\Delta}-\mu_{\Delta})^2]+2\mathbb{E}[(a_{\Delta}-\mu_{\Delta})\mu_{\Delta}]+\mathbb{E}[\mu^2_{\Delta}]\\&=\delta^2_{\Delta}+2\mu_{\Delta}(\mathbb{E}[a_{\Delta}]-\mu_{\Delta})+\mu^2_{\Delta}\\&=\sigma^{2}_{\Delta}+\mu_{\Delta}^2\end{aligned} 2Dis=E[aΔ2]=E[(aΔμΔ+μΔ)2]=E[(aΔμΔ)2]+2E[(aΔμΔ)μΔ]+E[μΔ2]=δΔ2+2μΔ(E[aΔ]μΔ)+μΔ2=σΔ2+μΔ2如果 D i s = 0 Dis=0 Dis=0,则有 σ 1 = σ 2 \sigma_{1}=\sigma_2 σ1=σ2 μ 1 = μ 2 \mu_1=\mu_2 μ1=μ2。此时分布 P 1 P_1 P1 P 2 P_2 P2一致,但前提假设是多维高斯分布的每个元素之间时相互独立的。

后验分布判别器

 判别器输出的是后验分布的特征向量 z z z,而不是一个标量的概率数值。多元高斯后验分布的两个因子分别是均值 μ ∈ b × d \mu \in \mathbb{b \times d} μb×d和标准差 σ ∈ R b × d \sigma \in \mathbb{R}^{b \times d} σRb×d,其中 b b b b a t c h _ s i z e batch\_size batch_size d d d是多元高斯分布的维度。给定一批图像 x ∈ R b × h × w × c x \in \mathbb{R}^{b \times h \times w \times c} xRb×h×w×c,判别器同时输出 μ \mu μ σ \sigma σ,它们表示向量 z ∈ R b × d z \in \mathbb{R}^{b \times d} zRb×d上的高斯后验分布的因子,后验分布可以表示为 D ( x ) = N ( z ; μ , σ 2 I ) D(x)= \mathcal{N}(z;\mu,\sigma^2I) D(x)=N(z;μ,σ2I),其中 x x x可以从真实图像分布 p d a t a ( x ) p_{data}(x) pdata(x)采样或由分布 p g ( x ) p_g(x) pg(x)中生成。为了构造对抗损失,作者引入了向量 z z z的两个先验分布 P a = N ( μ a , σ a 2 I ) Pa= \mathcal{N}( \mu_a,σ^2_ aI) Pa=N(μa,σa2I) P b = N ( μ b , σ b 2 I ) P_b= \mathcal{N}(\mu_b,σ^2_bI) Pb=N(μb,σb2I),它们是用户给出的多元高斯分布。作者将 L S G A N \mathrm{LSGAN} LSGAN的损失推广为高斯分布的形式,具体的损失函数表示为 L D = 1 2 E x ∼ P d a t a ( x ) [ ( D ( x ) − P b ) 2 ] + 1 2 E x ∼ p g ( x ) [ ( D ( x ) − P a ) 2 ] \mathcal{L}_{D}=\frac{1}{2}\mathbb{E}_{x \sim Pdata(x)}[(D(x)-P_b)^2]+\frac{1}{2}\mathbb{E}_{x \sim p_g(x)}[(D(x)-P_a)^2 ] LD=21ExPdata(x)[(D(x)Pb)2]+21Expg(x)[(D(x)Pa)2]其中第一项缩短后验分布 D ( x ) D(x) D(x)和先验分布 P b P_b Pb之间的距离。后验分布 D ( x ) D(x) D(x)和先验分布 P a P_a Pa之间的距离。通过最小化 L D \mathcal{L}_D LD x ∼ p d a t a ( x ) x\sim pdata(x) xpdata(x)中的真实信息将被用来促进生成器的生成过程。

后验分布生成器

 生成器输入从标准高斯采样的随机噪声 ϵ \epsilon ϵ以及来自后给定真实图像的编码向量 z z z,并输出生成的图像。作者利用 A d a I N \mathrm{AdaIN} AdaIN来稳定生成器的训练,防止训练过程中真实信息的消失,对抗损失函数如下所示:
L a d v = 1 2 E x ∼ p g ( x ) [ ( D ( x ) − P c ) 2 ] \mathcal{L}_{adv}=\frac{1}{2}\mathbb{E}_{x \sim p_g(x)}[(D(x)-P_c)^2] Ladv=21Expg(x)[(D(x)Pc)2]传统上,生成器接收从标准高斯采样的随机噪声 ϵ ∈ R b × n \epsilon \in \mathrm{R}^{b \times n} ϵRb×n并用于产生图像,其中 n n n是随机噪声的维数。作者基于这个设计出发,在给定 x ∼ p d a t a ( x ) x \sim p_{data}(x) xpdata(x)的情况下,引入了一个来自于后验判别输出的后验向量 z ∼ D ( x ) z \sim D(x) zD(x),与 A d a I N \mathrm{AdaIN} AdaIN一起将包含在后验中的真实信息嵌入到生成器的每一层中。后验模块是相互独立的完全连接的层,没有任何激活功能,如模型结构图所示,它们用于将 z z z映射到对应于不同卷积信道的不同维度的特征。除了在每一层应用真实信息之外,后验模块还提供了根据不同卷积层的需求调整信息: s i p = P i ( z ) \mathrm{s}^p_i=\mathrm{P}_i(z) sip=Pi(z)其中 z z z D ( x ) D(x) D(x)中采样,给定 x ∼ p d a t a ( x ) x \sim p_{data}(x) xpdata(x) P i ( z ) P_i(z) Pi(z)是第 i i i个后验模块。作者的方法使用后验特征作为 A d a I N \mathrm{AdaIN} AdaIN中的外部信息,生成器中使用的 A d a I N \mathrm{AdaIN} AdaIN层如下:
A d a I N ( m i , s i p ) = σ I N ( s i p ) m i − μ B N ( m i ) σ B N ( m i ) + μ I N ( s i p ) \mathrm{AdaIN}(m_i,s_i^{p})=\sigma_{IN}(s_i^{p})\frac{m_i-\mu_{BN}(m_i)}{\sigma_{BN}(m_i)}+\mu_{IN}(s^{p}_i) AdaIN(mi,sip)=σIN(sip)σBN(mi)miμBN(mi)+μIN(sip)作者首先利用 B N \mathrm{BN} BN m i m_i mi进行归一化,使其具有零均值和单位方差,然后用具有真实信息的 s i p s_i^p sip的均值和方差对其进行偏置和缩放,最后将后验特征向量 z z z A d a I N \mathrm{AdaIN} AdaIN加入到生成器中,以真实图像为样式参考,对生成的图像进行“样式转换”。因此, A d a I N \mathrm{AdaIN} AdaIN通过改变特征的统计信息将真实信息融合到每一层。为了在训练过程中保留真实信息,作者提出了一个正则化器 L z \mathcal{L}_z Lz,它是用于最小化后验给定生成图像和真实图像之间的距离: L z = E x g ∼ p g ( x ) , x r ∼ p d a t a ( x ) [ ∣ D ( x g ) − D ( x r ) ∣ ] \mathcal{L}_z=\mathbb{E}_{x_g \sim p_g(x),x_r\sim p_{data}(x)}[|D(x_g)-D(x_r)|] Lz=Exgpg(x),xrpdata(x)[D(xg)D(xr)]其中下标 g g g r r r用于区分从不同分布 p g ( x ) p_g(x) pg(x) p d a t a ( x ) p_{data}(x) pdata(x)采样的图像。 ∣ ∗ ∣ |*| 表示绝对值。综上所述,生成器的总的损失函数为:
L G = L a d v + λ L z \mathcal{L}_{G}=\mathcal{L}_{adv}+\lambda \mathcal{L}_z LG=Ladv+λLz其中 λ \lambda λ表示的是平衡系数。

理论分析

 作者分析了 P 2 G A N \mathrm{P^2GAN} P2GAN f f f-散度之间的关系。给定固定的 G G G,可以推导出基于 L S G A N \mathrm{LSGAN} LSGAN的最优鉴别器
D ∗ ( x ) = P b P d a t a ( x ) + P a p g ( x ) p d a t a ( x ) + p g ( x ) D^{*}(x)=\frac{P_{bP_{data}}(x)+P_{ap_g(x)}}{p_{data}(x)+p_g(x)} D(x)=pdata(x)+pg(x)PbPdata(x)+Papg(x) D D D最优时,正则化损失 L z \mathrm{L}_z Lz为零。为了分析 G G G的最优值,作者将损失 L G \mathrm{L}_G LG改写如下形式:
C ( G ) = 1 2 E x ∼ p d a t a ( x ) [ ( D ( x ) − P c ) 2 ] + 1 2 E x ∼ p g ( x ) [ ( D ( x ) − P c ) 2 ] C(G)=\frac{1}{2}\mathbb{E}_{x \sim p_{data}(x)}[(D(x)-P_c)^2]+\frac{1}{2}\mathbb{E}_{x \sim p_g(x)}[(D(x)-P_c)^2] C(G)=21Expdata(x)[(D(x)Pc)2]+21Expg(x)[(D(x)Pc)2]其中第一项没有 G G G的参数,所以最优值保持不变。为了简单起见,作者在下面的等式中去掉了分布中的 x x x,则损失可以重新写成
2 C ( G ) = E x ∼ p d a t a [ ( D ∗ − P c ) 2 ] + E x ∼ p g [ ( D ∗ − P c ) 2 ] = E x ∼ p d a t a [ ( P b p d a t a + P a p g p d a t a + p g − P c ) 2 ] + E x ∼ p g [ ( P b p d a t a + P a p g p d a t a + p g − P c ) 2 ] = ∫ [ ( P b − P c ) p d a t a + ( P a − P c ) p g ] 2 p d a t a + p g d x = ∫ [ ( P b − P b ) p g − ( P b − P c ) ( p d a t a + p g ) ] 2 p d a t a + p g d x \begin{aligned}2C(G)&=\mathbb{E}_{x \sim p_{data}}[(D^{*}-P_c)^2]+\mathbb{E}_{x \sim p_g}[(D^{*}-P_c)^2]\\&=\mathbb{E}_{x \sim p_{data}}[(\frac{P_{bp_{data}}+P_{ap_g}}{p_{data}+p_g}-P_c)^2]+\mathbb{E}_{x \sim p_{g}}[(\frac{P_{bp_{data}}+P_{ap_g}}{p_{data}+p_g}-P_c)^2]\\&=\int \frac{[(P_b - P_c)p_{data}+(P_a-P_c)p_g]^2}{p_{data}+p_g}dx\\&=\int \frac{[(P_b-P_b)p_g-(P_b-P_c)(p_{data}+p_g)]^2}{p_{data}+p_g}dx\end{aligned} 2C(G)=Expdata[(DPc)2]+Expg[(DPc)2]=Expdata[(pdata+pgPbpdata+PapgPc)2]+Expg[(pdata+pgPbpdata+PapgPc)2]=pdata+pg[(PbPc)pdata+(PaPc)pg]2dx=pdata+pg[(PbPb)pg(PbPc)(pdata+pg)]2dx进而则有
2 C ( G ) = ∫ ( P b − P a 2 ) 2 [ 2 p g − ( p d a t a + p g ) 2 ] p d a t a + p g d x 2C(G)=\int (\frac{P_b-P_a}{2})^2\frac{[2 p_g-(p_{data}+p_g)^2]}{p_{data}+p_g}dx 2C(G)=(2PbPa)2pdata+pg[2pg(pdata+pg)2]dx
其中,项 P b − P a 2 \frac{P_{b}-P_{a}}{2} 2PbPa是相对于变量 z z z的,该项可以被视为一个常数值,可以把它排除在 x x x的积分之外,进而则有
2 C ( G ) = ( P b − P a ) 2 4 ∫ [ 2 p g − ( p d a t a + p g ) ] 2 p d a t a + p g d x = ( P b − P a ) 2 4 X p e a r s o n 2 ( ( p d a t a + p g ) ∣ ∣ 2 p g ) \begin{aligned}2C(G)&=\frac{(P_b-P_a)^2}{4}\int \frac{[2p_g-(p_{data}+p_g)]^2}{p_{data}+p_g}dx\\&=\frac{(P_b-P_a)^2}{4}\mathcal{X}^2_{pearson}((p_{data}+p_g)||2p_g)\end{aligned} 2C(G)=4(PbPa)2pdata+pg[2pg(pdata+pg)]2dx=4(PbPa)2Xpearson2((pdata+pg)2pg)如果 P a ≠ P b P_{a} \neq P_{b} Pa=Pb,最小化 2 C ( G ) 2C(G) 2C(G)意味着最小化 p d a t a ( x ) + p g ( x ) p_{data}(x) + p_g(x) pdata(x)+pg(x) 2 p g ( x ) 2p_g(x) 2pg(x)之间 X \mathcal{X} X散度。当且仅当 p d a t a ( x ) + p g ( x ) = 2 p g ( x ) p_{data}(x) + p_g(x) = 2p_g(x) pdata(x)+pg(x)=2pg(x)时,达到最佳 2 C ( G ) 2C(G) 2C(G),最优解为:
D ∗ ( x ) = P b p d a t a ( x ) + P a p g ( x ) p d a t a ( x ) + p g ( x ) = P b + P a 2 D^{*}(x)=\frac{P_bp_{data}(x)+P_ap_g(x)}{p_{data}(x)+p_g(x)}=\frac{P_b+P_a}{2} D(x)=pdata(x)+pg(x)Pbpdata(x)+Papg(x)=2Pb+Pa写成高斯分布的形式为:
D ∗ ( x ) = N ( μ a + μ b 2 , ( σ a + σ b ) 2 I ) D^{*}(x)=\mathcal{N}(\frac{\mu_a+\mu_b}{2},(\sigma_a+\sigma_b)^2I) D(x)=N(2μa+μb,(σa+σb)2I)

实验结果

质量分析

 下表给出了CIFAR10和CelebA的FID分数,可以发现 P 2 G A N \mathrm{P2GAN} P2GAN是所有基线中最好的。
在这里插入图片描述下面三幅图为定性结果的展示, P 2 G A N \mathrm{P^2GAN} P2GAN生成的图片如下两幅图所示:
在这里插入图片描述

在这里插入图片描述

模块分析

 下表示了论文中 P 2 G A N \mathrm{P^2GAN} P2GAN模型的四种设置的结果,该实验证了各个组件模块在 P 2 G A N \mathrm{P^2GAN} P2GAN中起到的积极的作用。
在这里插入图片描述 如下表所示,与使用 B N \mathrm{BN} BN相比,使用 I N \mathrm{IN} IN来标准化 A d a I N \mathrm{AdaIN} AdaIN会有更高的FID分数。
在这里插入图片描述

收敛性分析

 理论收敛分析可以通过检查全局收敛度量来验证,具体公式如下所示:
M c = 1 2 E x ∼ p d a t a ( x ) [ ( D ( x ) − D ∗ ( x ) ) 2 ] + 1 2 E x ∼ p g ( x ) [ ( D ( x ) − D ∗ ( x ) ) 2 ] \mathcal{M}_c=\frac{1}{2}\mathbb{E}_{x \sim p_{data}(x)}[(D(x)-D^{*}(x))^2]+\frac{1}{2}\mathbb{E}_{x \sim p_g(x)}[(D(x)-D^{*}(x))^2] Mc=21Expdata(x)[(D(x)D(x))2]+21Expg(x)[(D(x)D(x))2]其中 D ∗ ( x ) = P b + P a 2 D^{*}(\mathbf{x})=\frac{P_{b}+P_{a}}{2} D(x)=2Pb+Pa,如下图所示所示为 M c \mathcal{M}_c Mc的训练值,这验证了 P 2 G A N \mathrm{P^2GAN} P2GAN具有很好的收敛性。

在这里插入图片描述


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进