生成对立网络(GAN)是一种无监督学习模型,其方针是发明出与练习样本集难以差异的新样本。GAN 首要是用来生成新样本的一种机制,它并不树立模型数据的概率散布,因而无法判别一个新数据点是否归于同一散布。

在 GAN 结构中,生成器网络经过将随机噪声映射到输出数据空间来生成样本。若辨别器网络无法差异生成样本与实在样本,则能够为这些样本是合理的。若辨别器能辨认出二者的差异,则这种辨认成果能够作为练习信号反响给生成器,以进步生成样本的质量。这个概念尽管简略,但GAN的练习充满应战:学习算法或许会呈现不安稳,而且尽管GAN能够生成高度传神的样本,这并不保证它们能够掩盖一切或许的样本类型。

GAN 已经被广泛运用于很大都据类型,包含音频、三维模型、文本、视频及图形数据等。尤其在图画处理领域,GAN 展现出了极高的成就,能够生成与实在图片简直无法差异的图画样本。因而,本章首要评论的是图画组成的运用实例。

15.1 将辨别作为信号

咱们的方针是生成新样本集{xj∗}{x_j^*},这些样本来历于与实在练习数据集{xi}{x_i}同一散布。生成单个新样本xj∗x_j^*的进程包含:(i) 从一个简略的根底散布(如规范正态散布)中挑选一个潜变量zjz_j,然后 (ii) 经过参数为theta的网络x∗=g(zj,)x^* = g(z_j, theta)传递这些数据。此网络称为生成器。学习进程的方针是寻觅参数theta,使得生成的样本集{xj∗}{x_j^*}与实在数据集{xi}{x_i}在视觉上“类似”(参见图 14.2a)。

“类似”能够有多种界说办法,但GAN选用的原则是,样本与实在数据在核算上应无法差异。为达此意图,引进了一个名为辨别器的第二网络f(⋅,)f(cdot, phi),参数为phi。该网络企图将输入分类为实在样本或生成样本。若做到这一点变得不或许,即生成样本与实在样本无法差异,咱们便达成了方针。若能差异,辨别器便供给了一个信号,可用于改善生成进程。

图 15.1 说明了这一方案。咱们从一组实在的一维(1D)示例{xi}{x_i}作为练习集动身。每个面板展现了这些示例的不同批次的十个{xi}i=110{x_i}^{10}_{i=1}(青色箭头)。为生成一批样本{xj∗}{x_j^*},咱们选用简略的生成器公式:

xj∗=g[zj,]=zj+,(15.1)x_j^* = g[z_j, theta] = z_j + theta, tag{15.1}

其间潜变量{zj}{z_j}源自规范正态散布,参数theta使生成样本沿x轴进行平移(见图 15.1)。

在初始阶段,=3.0theta = 3.0,生成的样本(橙色箭头)位于实在样本(青色箭头)的左边。经过练习,辨别器学习差异生成样本与实在样本(sigmoid曲线显现了数据点为实在的或许性)。练习进程中,调整生成器参数theta,以进步其样本被以为是实在的概率。这意味着添加theta值,使样本向右移,到达sigmoid曲线的较高方位。

咱们替换更新辨别器和生成器。图 15.1b–c 显现了这个进程的两次迭代。跟着时刻的推移,数据分类变得越来越困难,改动theta的动力相应削弱(即,sigmoid曲线变得愈加平缓)。在进程结束时,两组数据变得无法差异;此刻的辨别器表现好像随机挑选,因而被舍弃,留下能够生成可信样本的生成器。

了解深度学习:第十五章 生成对立网络

图 15.1 GAN 机制。a) 给定一个参数化函数(生成器),它能够组成样本(橙色箭头)而且接纳一批实在样本(青色箭头)。接着,咱们对辨别器进行练习,使其能差异实在样本与生成样本(S形曲线标明样本为实在的估量概率)。b) 经过调整生成器的参数,降低辨别器对样本组成性的判别准确度(此处经过将橙色样本向右移动完成)。随后更新辨别器。c) 经过替换更新生成器和辨别器,使生成样本与实在样本变得难以差异,一起削减改动生成器的动力(即 S形函数的斜率)。

15.1.1 GAN 丢掉函数

咱们接下来将准确界说练习生成式对立网络(GAN)所用的丢掉函数。辨别器f(x,)f(x, phi)接纳输入xx,拥有参数phi,并回来一个标量值,当输入被断定为实在样本时,此值较大。鉴于这是一个二分类使命,咱们适用了二元穿插熵丢掉函数(见第5.4节),它的原始办法是:

=argmin[∑i(1−yi)log⁡(1−sig[f(xi,)])−yilog⁡(sig[f(xi,)])],(15.2)hat{phi} = text{argmin}_{phi} left[ sum_i (1 – y_i) log left( 1 – text{sig}[f(x_i, phi)] right) – y_i log left( text{sig}[f(x_i, phi)] right) right], tag{15.2}

这儿yi∈{0,1}y_i in {0, 1}标明标签,而sig[⋅]text{sig}[cdot]代表logistic sigmoid函数(参见图5.7)。

在此根底上,咱们假定实在样本xx的标签y=1y = 1,生成样本x∗x^*的标签y=0y = 0,因而丢掉函数变为:

=argmin[∑j−log⁡(1−sig[f(xj∗,)])−∑ilog⁡(sig[f(xi,)])],(15.3)hat{phi} = text{argmin}_{phi} left[ sum_j -log left( 1 – text{sig}[f(x_j^*, phi)] right) – sum_i log left( text{sig}[f(x_i, phi)] right) right], tag{15.3}

其间索引iijj别离代表实在样本和生成样本。

现在,咱们用生成器的界说xj∗=g(zj,)x_j^* = g(z_j, theta)来替代,并留意到关于theta咱们需求寻求最大化,由于咱们期望生成的样本被误判(即,它们被辨以为组成样本的或许性低,或负对数似然度高):

=argmaxmin⁡[∑j−log⁡(1−sig[f(g(zj,),)])−∑ilog⁡(sig[f(xi,)])].(15.4)hat{theta} = text{argmax}_{theta} min_{phi} left[ sum_j -log left(1 – text{sig}[f(g(z_j, theta), phi)] right) – sum_i log left( text{sig}[f(x_i, phi)] right) right]. tag{15.4}

15.1.2 练习 GANs

方程 15.4 描绘的丢掉函数较之前咱们所见要杂乱;辨别器参数 phi 经过最小化丢掉函数进行调整,而生成器参数 theta 经过最大化丢掉函数进行调整。生成式对立网络(GAN)的练习能够被视作一种极小极大游戏;生成器不断寻觅新办法以诈骗辨别器,而辨别器则不断探究新办法差异出生成样本与实在样本。技能上,这一处理方案被称为纳什均衡——优化算法旨在找到一个一起对一个函数是最小值而对另一个函数是最大值的点。假如练习顺利进行,终究在收敛时,g[z,]g[z, theta] 的产出将与数据同散布,且 sig[f(⋅,)]text{sig}[f(cdot, phi)] 的值会挨近机会水平(即,0.5)。

为了练习 GAN,咱们将方程 15.4 分解成两个丢掉函数:

L[]=∑j−log⁡[1−sig[f(g(zj,),)]]−∑ilog⁡[sig[f(xi,)]]L[]=∑jlog⁡[1−sig[f(g(zj,),)]],(15.5)begin{align} &L[phi] = sum_j -log left[ 1 – text{sig}[f(g(z_j, theta), phi)] right] – sum_i log left[ text{sig}[f(x_i, phi)] right] \ &L[theta] = sum_j log left[ 1 – text{sig}[f(g(z_j, theta), phi)] right], end{align} tag{15.5}

其间,咱们经过将第二个丢掉函数乘以负一来将其转化为最小化问题,而且忽略了与 theta 无关的第二项。最小化第一个丢掉函数的意图是练习辨别器,而最小化第二个丢掉函数则是为了练习生成器。

在练习的每一进程中,咱们从根底散布中抽取一批潜变量 zjz_j,经过生成器生成样本 xj∗=g[zj,]x_j^* = g[z_j, theta]。接着咱们选取一批实在练习样本 xix_i。有了这两批数据,咱们现在能够对每个丢掉函数履行一次或多次梯度下降进程(参见图 15.2)。

了解深度学习:第十五章 生成对立网络

图 15.2 GAN 丢掉函数。一个潜变量 zj 从基本散布中提取,并经过生成器生成样本 x∗。一批生成样本 {x∗j } 和实在样本 {xi} 被送至辨别器,后者为每个样本分配一个实在性的概率。调整辨别器参数 ,以进步对实在样本的辨认概率,降低对生成样本的辨认概率。一起调整生成器参数 ,使其能够让辨别器更倾向于将生成样本断定为实在。

15.1.3 深度卷积生成式对立网络(DCGAN)

深度卷积生成式对立网络(DCGAN)是前期专为图画生成设计的GAN架构(参见图15.3)。生成器g[z,]g[z, theta]接纳的输入是一个从均匀散布中采样的100维潜变量zz。首要,经过线性变换将其映射到一个具有1024个通道的4×4空间标明中。紧接着是四层卷积操作,每层选用分步卷积,完成分辨率加倍(即步长为0.5的卷积)。在终究层,64x64x3的信号经过一个tanh函数处理,生成一个取值规划在([-1, 1])内的图画x∗x^*。辨别器f(⋅,)f(cdot, phi)选用规范的卷积网络架构,在终究一层卷积操作后,图画规范被减缩到1×1,通道数为1。这个单一数值经过sigmoid函数sig[⋅]text{sig}[cdot]处理后,得到终究的输出概率。

练习完成后,辨别器部分将被舍弃。生成新样本时,从根底散布中抽取潜变量zz,并经过生成器进行处理。图15.4展现了一些生成图画的示例。

了解深度学习:第十五章 生成对立网络

图 15.3 DCGAN 架构。在生成器中,一个 100D 潜变量 z 从均匀散布中抽取,并经过线性变换被映射到一个 44、1024 通道的标明。这个标明随后经过多个卷积层进行处理,逐渐上采样并削减通道数。终究,经过一个 tanh 函数将 64643 的标明映射到一个固定规划,用于标明图画。辨别器则由一个规范的卷积网络组成,用于判别输入是实在样本仍是生成样本。

了解深度学习:第十五章 生成对立网络

图 15.4 来自 DCGAN 模型的组成图画。a) 随机抽取的样本,依据在人脸数据集上练习的 DCGAN。b) 运用 ImageNet 数据库的随机样本(参见图 10.15)。c) 依据 LSUN 场景了解数据集的随机抽取样本。据 Radford 等(2015)改编。

15.1.4 练习GAN的困难

理论上,生成式对立网络(GAN)的概念相对简略。但是,GAN的练习实践却异常困难。举例来说,为了保证深度卷积GAN(DCGAN)能够安稳练习,需求采取以下措施:(i)选用步进卷积完成上下采样;(ii)在生成器和辨别器中运用批量归一化(BatchNorm),但别离在最末层和首层除外;(iii)在辨别器中运用leaky ReLU激活函数(参见图3.13);及(iv)选用Adam优化器,但其动量系数需低于惯例设置。这种状况不太常见,由于大部分深度学习模型对这类设置相对不敏感。

一个频频呈现的失利办法是生成器虽能发生看起来合理的样本,但这些样本只掩盖了数据的一小部分(例如,在生成人脸时,或许无法生成带胡须的面孔)。这种现象被称为“办法丢掉”。更极点的状况是生成器简直或彻底忽视潜在变量zz,导致一切样本收敛至一个或少数几个点,这一现象被称作“办法塌缩”(参见图15.5)。

了解深度学习:第十五章 生成对立网络

图 15.5 办法崩塌。运用与 DCGAN 参数和层数类似的 MLP 生成器,在 LSUN 场景了解数据集上练习得到的 GAN 组成图画。这些样本质量低,且大都类似。依据 Arjovsky 等(2017)改编。

15.2 进步安稳性

要弄清楚为什么GAN练习难度大,首要需求深入了解丢掉函数的实践含义。

15.2.1 GAN丢掉函数的剖析

假如咱们将方程15.3中两个求和别离除以实在样本数II和生成样本数JJ,则丢掉函数能够用期望办法标明:

L[]=1J∑j=1Jlog⁡[1−sig[f(xj∗,)]]+1I∑i=1Ilog⁡[sig[f(xi,)]]≈Ex∗[log⁡(1−sig[f(x∗,)])]+Ex[log⁡(sig[f(x,)])]=∫Pr(x∗)log⁡[1−sig[f(x∗,)]]dx∗+∫Pr(x)log⁡[sig[f(x,)]]dx,(15.6)begin{align} L[phi] &= frac{1}{J} sum_{j=1}^{J} log left[ 1 – text{sig}[f(x_j^*, phi)] right] + frac{1}{I} sum_{i=1}^{I} log left[ text{sig}[f(x_i, phi)] right] \ &approx mathbb{E}_{x^*} left[ log left( 1 – text{sig}[f(x^*, phi)] right) right] + mathbb{E}_{x} left[ log left( text{sig}[f(x, phi)] right) right] \ &= int Pr(x^*) log left[ 1 – text{sig}[f(x^*, phi)] right] dx^* + int Pr(x) log left[ text{sig}[f(x, phi)] right] dx, end{align} tag{15.6}

这儿Pr(x∗)Pr(x^*)Pr(x)Pr(x)别离标明生成样本和实在样本的概率散布。

关于来历未知的示例x~tilde{x},最优辨别器表达为:

Pr(real∣x~)=sig[f(x~,)]=Pr(x~∣real)Pr(x~∣generated)+Pr(x~∣real)=Pr(x)Pr(x∗)+Pr(x)(15.7)Pr(text{real}|tilde{x}) = text{sig}[f(tilde{x}, phi)] = frac{Pr(tilde{x}|text{real})}{Pr(tilde{x}|text{generated}) + Pr(tilde{x}|text{real})} = frac{Pr(x)}{Pr(x^*) + Pr(x)} tag{15.7}

这儿,咱们把x~tilde{x}别离与生成的散布Pr(x∗)Pr(x^*)和实在散布Pr(x)Pr(x)进行对比。将其代入方程15.6中,咱们得到:

L[]=∫Pr(x∗)log⁡[1−sig[f(x∗,)]]dx∗+∫Pr(x)log⁡[sig[f(x,)]]dx=∫Pr(x∗)log⁡[1−Pr(x)Pr(x∗)+Pr(x)]dx∗+∫Pr(x)log⁡[Pr(x)Pr(x∗)+Pr(x)]dx=∫Pr(x∗)log⁡[Pr(x∗)Pr(x∗)+Pr(x)]dx∗+∫Pr(x)log⁡[Pr(x)Pr(x∗)+Pr(x)]dx.(15.8)begin{align} L[phi] &= int Pr(x^*) log [1 – sig[f(x^*, phi)]] dx^* + int Pr(x) log [sig[f(x, phi)]] dx \ &= int Pr(x^*) log left[ frac{1 – Pr(x)}{Pr(x^*) + Pr(x)} right] dx^* + int Pr(x) log left[ frac{Pr(x)}{Pr(x^*) + Pr(x)} right] dx \ &= int Pr(x^*) log left[ frac{Pr(x^*)}{Pr(x^*) + Pr(x)} right] dx^* + int Pr(x) log left[ frac{Pr(x)}{Pr(x^*) + Pr(x)} right] dx. end{align} tag{15.8}

去掉加法和乘法常数后,这是组成散布Pr(x∗)Pr(x^*)与实在散布Pr(x)Pr(x)之间的詹森-香农散度:

DJS[Pr(x∗)∥Pr(x)]=12DKL[Pr(x∗)∥Pr(x∗)+Pr(x)2]+12DKL[Pr(x)∥Pr(x∗)+Pr(x)2]=12∫Pr(x∗)log⁡[2Pr(x∗)Pr(x∗)+Pr(x)]dx∗+12∫Pr(x)log⁡[2Pr(x)Pr(x∗)+Pr(x)]dx.(15.9)begin{align} D_{JS} [ Pr(x^*) | Pr(x) ] &= frac{1}{2} D_{KL} left[ Pr(x^*) | frac{Pr(x^*) + Pr(x)}{2} right] + frac{1}{2} D_{KL} left[ Pr(x) | frac{Pr(x^*) + Pr(x)}{2} right] \ &= frac{1}{2} int Pr(x^*) log left[ frac{2Pr(x^*)}{Pr(x^*) + Pr(x)} right] dx^* + frac{1}{2} int Pr(x) log left[ frac{2Pr(x)}{Pr(x^*) + Pr(x)} right] dx. end{align} tag{15.9}

其间DKL[⋅∥⋅]D_{KL}[cdot|cdot]标明库尔巴克-莱布勒散度。

第一项指出,假如样本密度Pr(x∗)Pr(x^*)较高的地区,混合散布(Pr(x∗)+Pr(x))/2(Pr(x^*) + Pr(x))/2也具有较高概率,则间隔较小。换言之,它赏罚了那些有x∗x^*样本但没有实在样本xx的区域;这保证了生成样本的质量。第二项标明,假如实在样本密度Pr(x)Pr(x)较高的地区,混合散布(Pr(x∗)+Pr(x))/2(Pr(x^*) + Pr(x))/2也具有较高概率,则间隔较小。换言之,它赏罚了那些有实在样本但没有生成样本的区域;这保证了掩盖规划。回忆方程15.6,咱们留意到第二项不依赖于生成器,因而生成器不关心掩盖规划;它只专心于准确生成或许的样本子集。这便是所谓的办法丢掉的原因。

15.2.2 梯度消失

在上一节,咱们了解到,当辨别器到达最优时,丢掉函数旨在最小化生成样本与实在样本间间隔的衡量。但是,将这种概率散布间的间隔作为优化 GANs 的原则时,会遇到一个问题。假如这些概率散布彼此之间彻底没有交集,那么这个间隔将变得无限大,任何细小的调整关于生成器来说都无法削减丢掉。考虑到原始的公式设定,假如辨别器能够完美差异生成样本和实在样本,那么对生成数据做出的任何细微调整都不会影响分类得分 (图 15.6)。

惋惜的是,生成样本和实在样例的散布或许确实是别离的。生成样本存在于一个由潜在变量 z 界说的子空间中,而实在样例也因数据生成的物理进程而处于一个低维子空间中 (图 1.9)。这些子空间之间或许简直没有或底子没有交集,导致梯度十分小或许底子不存在。

图 15.7 供给了支撑这种假设的实证依据。假如将 DCGAN 的生成器固定不变,而不断更新辨别器以进步其分类功能,咱们会发现生成器的梯度逐渐削减。简言之,辨别器与生成器的质量之间需求坚持一个极端精密的平衡;一旦辨别器的功能过于出色,就会削弱对生成器的练习更新。

了解深度学习:第十五章 生成对立网络

图 15.6 GAN 丢掉函数问题。当生成样本(橙色箭头)与实在样本(青色箭头)简略差异时,辨别器(sigmoid)在样本处的斜率或许十分平缓;因而,用于更新生成器参数的梯度或许十分细小。

了解深度学习:第十五章 生成对立网络

图 15.7 DCGAN 的生成器梯度消失问题。生成器在第 1、10 和 25 个练习周期后冻住,而辨别器继续进行练习。生成器的梯度敏捷下降(留意对数刻度);若辨别器过于精准,生成器的梯度将消失。依据 Arjovsky & Bottou (2017) 改编。

15.2.3 Wasserstein 间隔

前面的部分评论了两点:(i) GAN 丢掉能够被了解为不同概率散布间间隔的表达,以及 (ii) 当生成样本与实在样例过于简略差异时,这种间隔的梯度会降为零。一个天然的改善方向是选用一种具备更佳特性的间隔衡量规范。

Wasserstein 间隔,或关于离散散布来说的地球推土机间隔,指的是将一个散布的概率质量搬运至另一个散布所需的劳动量。这儿的“劳动量”界说为移动间隔与质量的乘积。这一界说显着更具吸引力;即使在散布彻底不堆叠的状况下,Wasserstein 间隔也是有清晰界说的,而且跟着散布间逐渐挨近,其间隔会平滑减小。

15.2.4 离散散布的 Wasserstein 间隔

Wasserstein 间隔在处理离散散布时最为直观(见图 15.8)。想象有两个散布 Pr(x=i)Pr(x = i)q(x=j)q(x = j),它们别离界说在 KK 个区间上。设从第一个散布中某区间 ii 向第二个散布中某区间 jj 移动单位质量的本钱为 CijC_{ij},这个本钱可所以两个区间索引的肯定差值 ∣i−j∣|i – j|。这种移动构成了一个运送方案,其细节经过矩阵 PP 来记载。

Wasserstein 间隔的核算公式为:

Dw[Pr(x)∣∣q(x)]=min⁡P[∑i,jPij⋅∣i−j∣],(15.10)D_w [ Pr(x) || q(x) ] = min_{P} left[ sum_{i,j} P_{ij} cdot |i – j| right], tag{15.10}

这一核算遭到几个束缚条件的约束:

begin{align} &$sum_j P_{ij} = Pr(x = i)$,$Pr(x)$ 的开端散布 \ &$sum_i P_{ij} = q(x = j)$, $q(x)$ 的开端散布 \ &$P_{ij} geq 0$,一切质量都对错负的。 end{align} tag{15.11}

简而言之,Wasserstein 间隔是一个将一个散布的质量搬运到另一个散布上的最优化问题的解,这个进程遭到一系列束缚的约束。尽管这个最优化问题需求每次核算间隔时都处理,这或许有些不便,但幸运的是,这是一个规范的线性规划问题,关于小型体系方程来说是简略处理的。

primal form dual form
minimiza c^T p,
such that Ap = b
and p>=0
maximiza b^T f,
such that A^T f <=c

此处,pp 包含向量化的元素 PijP_{ij},这些元素确认了搬运的质量量,cc 记载了各点间的间隔,Ap=bAp = b 规则了初始散布的束缚条件,而 p≥0p geq 0 保证了搬运的质量非负。

与一切线性规划问题相同,存在一个等价的对偶问题,其解与原问题相同。在对偶问题中,咱们测验最大化与初始散布相关联的变量 ff 的值,这一进程需求遵从依据间隔 cc 的束缚条件。对偶问题的解能够表达为:

Dw[Pr(x)∣∣q(x)]=max⁡f[∑iPr(x=i)fi−∑jq(x=j)fj],(15.12)D_w [Pr(x) || q(x)] = max_f left[ sum_i Pr(x = i)f_i – sum_j q(x = j)f_j right], tag{15.12}

这个进程遵从的束缚是:

∣fi+1−fi∣<1(15.13)|f_{i+1} – f_i| < 1 tag{15.13}

换言之,咱们在一组新变量 {fi}{f_i} 上寻求最优解,要求这组变量中任意相邻两个值之间的差异不得超越一。

了解深度学习:第十五章 生成对立网络

图 15.8 Wasserstein 间隔或 earth mover’s distance。a) 考虑离散散布 P r(x = i)。b) 咱们期望移动概率质量以形成方针散布 q(x = j)。c) 运送方案 P 确认了从 i 到 j 的质量搬运量。例如,青色高亮的方块 p54 标明从 i = 5 到 j = 4 将搬运的质量。运送方案的元素有必要非负,对 j 的总和应等于 P r(x = i),对 i 的总和应等于 q(x = j)。因而,P 是一个联合概率散布。d) 元素 i 与 j 之间的间隔矩阵。最优运送方案 P 旨在最小化 P 与间隔矩阵点乘的总和(即 Wasserstein 间隔),因而 P 的元素倾向于集合在间隔本钱最低的对角线邻近。依据 Hermann (2017) 改编。

15.2.5 接连散布的 Wasserstein 间隔

在回到接连多维空间的布景下,原始问题的接连办法(即方程 15.10)能够标明为:

Dw[Pr(x),q(x)]=min⁡≥0∫∫(x1,x2)⋅∣x1−x2∣dx1dx2,(15.14)D_w [Pr(x), q(x)] = min_{pi geq 0} int int pi(x_1, x_2) cdot |x_1 – x_2| dx_1 dx_2 , tag{15.14}

这儿,(x1,x2)pi(x_1, x_2) 代表从 x1x_1 方位到 x2x_2 方位搬运的质量的运送方案,需求满足与方程 15.11 类似的束缚条件。对偶问题的接连办法(即方程 15.12)为:

Dw[Pr(x),q(x)]=max⁡[f]x[∫Pr(x)f(x)dx−∫q(x)f(x)dx],(15.15)D_w [Pr(x), q(x)] = max_{[f]x} left[ int Pr(x)f(x)dx – int q(x)f(x)dx right] , tag{15.15}

这一最大化进程遭到一个条件的束缚,即函数 f(x)f(x) 的Lipschitz 常数有必要小于一(也便是说,函数的梯度肯定值有必要小于一)。

15.2.6 Wasserstein GAN 丢掉函数

在神经网络运用中,咱们经过调整神经网络 f[x,]f[x, phi] 中的参数 phi 来最大化函数 f[x]f[x] 空间,运用生成的样本 xi∗x_i^* 和实在样本 xix_i 进行积分近似:

L[]=∑j[f[xj∗,]]−∑i[f[xi,]],=∑j[f[g[zj,],]]−∑i[f[xi,]],(15.16)begin{align} L[phi] &= sum_j [f[x_j^*, phi]] – sum_i [f[x_i, phi]], \ &= sum_j [f[g[z_j, theta], phi]] – sum_i [f[x_i, phi]], end{align} tag{15.16}

咱们需求保证神经网络中的判别器 f[xi,]f[x_i, phi] 在每一个点 xx 处的梯度范数都小于一:

∣∂f[x,]∂x∣<1.(15.17)left| frac{partial f[x, phi]}{partial x} right| < 1. tag{15.17}

一种完成办法是将判别器的权重约束在一个较小的区间内(比方 [−0.01,0.01][-0.01, 0.01])。另一种战略是运用梯度赏罚 Wasserstein GAN(WGAN-GP),经过添加一个正则项来保证梯度范数挨近于一,当梯度范数违背一时,这个正则项的值会添加。

15.3 渐进式添加、小批量判别和切断

Wasserstein 办法为 GAN 练习带来了更高的安稳性。不过,要生成高质量图画,咱们还需求额定的技能手段。接下来,咱们将介绍渐进式添加、小批量判别和切断技能,它们均能明显进步生成图画的质量。

在渐进式添加战略中(参见图 15.9),开端阶段是练习一个能够生成 44 图画的 GAN,选用与 DCGAN 类似的架构。随后,咱们向生成器添加新的层,这些层担任上采样并进一步处理,以生成 88 规范的图画。判别器同样被参加新的层,使其能够处理并分类更高分辨率的图画。在实践中,高分辨率层会逐渐并平滑地引进,起初经过残差衔接传递上采样的成果,随后新参加的层逐渐发挥作用。

小批量判别技能保证生成的样本具备满足的多样性,然后有用防止了办法溃散现象。经过对组成数据和实在数据的小批次进行特征核算,并将核算成果作为特征图参加到判别器中,判别器能够反响信号给生成器,鼓舞其在生成数据时引进与原始数据集相仿的多样性。

进步生成质量的另一技巧是切断战略(见图 15.10),在此战略中,仅在采样时挑选那些高概率(即,挨近均值的)潜在变量 z。这尽管削减了样本的多样性,但能明显进步样本的质量。经过准确的归一化和规范化处理,样本质量得到进一步改善。选用这些技能组合,GAN 能够生成既多样化又传神的图画(如图 15.11 所示)。经过在潜在空间内平滑过渡,有时还能完成从一个组成图画到另一个的传神插值(如图 15.12 所示)。

了解深度学习:第十五章 生成对立网络

图 15.9 逐渐添加的 GAN 练习。a) 初始阶段,生成器被练习生成十分小的图画(44),辨别器则被练习辨认这些图画是组成的仍是降采样的实在图画。b) 在这个低分辨率的练习完成后,为生成器添加更多层来生成更大的图画(88),辨别器也添加相应的降采样层。c) 此进程持续进行,依次生成更大的图画(如1616等)。经过这种办法,能够练习出能发生极为传神的高分辨率图画的 GAN。d) 运用相同的潜变量,在不同阶段生成的逐渐增大分辨率的图画。据 Wolf (2021),选用 Karras 等人 (2018) 的办法。

了解深度学习:第十五章 生成对立网络

图 15.10 样本切断。经过拒绝违背均值超越 规范差的潜变量 z 的样本,能够权衡 GAN 样本的质量与多样性。a) 当这个阈值较大( = 2.0)时,样本在视觉上多样但或许有缺点。b-c) 跟着这个阈值的降低,样本的均匀视觉质量进步,但多样性削减。d) 当阈值十分小,样本看起来简直相同。经过合理挑选这个阈值,能够进步 GAN 成果的均匀质量。依据 Brock 等人 (2019) 改编。

了解深度学习:第十五章 生成对立网络

图 15.11 逐渐添加法。这种办法在练习 CELEBA-HQ 数据集时能生成传神的人脸图画,在练习 LSUN 分类时则能生成更为杂乱和多变的方针。据 Karras 等(2018)改编。

了解深度学习:第十五章 生成对立网络

图 15.12 遍历 LSUN 轿车数据集上练习的渐进式 GAN 的潜空间。在潜空间中的移动使得轿车图画平滑地改变,这种现象一般仅在短间隔轨道中有用;终究,潜变量移至一个区域,导致发生不现实的图画。据 Karras 等(2018)改编。

15.4 条件生成

尽管 GAN 能够生成传神的图画,但它们并不答应指定图画的具体特点,比方无法挑选生成的面孔的头发色彩、种族或年龄,除非针对每种特点组合练习独自的 GAN。条件生成模型则为咱们供给了这种特点操控的能力。

15.4.1 条件 GAN

条件 GAN 经过向生成器和判别器一起传递一个包含特点信息的向量 c 来作业,别离用 g[z, c, ] 和 f[x, c, ] 标明。这样,生成器的使命就变成了将潜在变量 z 转化成带有特定特点 c 的数据样本 x,而判别器则致力于辨别生成的样本是否携带方针特点或许是实在样本携带实在特点(见图 15.13a)。

对生成器来说,能够将特点 c 直接参加到潜在向量 z 中。而关于判别器,假如处理的是一维数据,这些特点能够参加到输入数据中;关于图画数据,则能够将特点转化成二维办法并作为一个额定通道参加到判别器的输入或其内部某个中心层。

了解深度学习:第十五章 生成对立网络

图 15.13 条件生成。a) 条件 GAN 的生成器还接纳一个描绘图画特征的特点向量 c。如惯例做法,辨别器接纳实在或生成的样本,但现在它还得接纳特点向量,以鼓舞样本一起符合传神性和特点兼容性。b) 辅佐分类器 GAN(ACGAN)的生成器选用一个离散特点变量。辨别器需求判别输入是实在仍是组成,并正确辨认类别。c) InfoGAN 把潜变量分红噪声 z 和未指定的随机特点 c。辨别器需求辨识输入的实在性,并重构这些特点。实践中,这意味着变量 c 对应于具有现实国际解说的数据的明显特征(即,潜空间被解耦)。

15.4.2 辅佐分类器 GAN

辅佐分类器 GAN(ACGAN)经过简化条件生成的要求——判别器需求正确辨认出特点——来完成其功能(见图 15.13b)。关于有 C 类别的离散特点,判别器接纳实在或组成图画作为输入,并输出 C + 1 个成果;其间第一个成果经过 sigmoid 函数处理,用于猜测样本是实在仍是生成的,而其他输出经过 softmax 函数处理,猜测样本归于各个类别的概率。选用此办法练习的网络能够生成 ImageNet 中的多类图画(见图 15.14)。

了解深度学习:第十五章 生成对立网络

图 15.14 辅佐分类器 GAN。生成器接纳类别标签和潜向量作为输入。辨别器不仅需判别数据点是否实在,还要猜测类别标签。该模型在十个 ImageNet 类别上进行练习,生成的样本包含帝王蝶、金翅雀、雏菊、红腿鹬和灰鲸等。据 Odena 等(2017)改编。

15.4.3 InfoGAN

与条件 GAN 和 ACGAN 不同,它们生成具有特定特点的样本,InfoGAN(见图 15.13c)则旨在主动发现重要特点。生成器接纳一个由随机噪声变量 z 和随机特点变量 c 组成的向量,而判别器则担任判别图画的真假并估量特点变量。

要害洞察是,那些能够简略猜测的、与现实国际特征相关的特点,最有或许被特点变量 c 所标明。c 中的特点既可所以离散的(此刻运用二元或多分类穿插熵丢掉函数),也可所以接连的(此刻运用最小二乘丢掉函数)。离散变量用于辨认数据的类别,而接连变量则揭示数据的渐变办法(见图 15.15)。

了解深度学习:第十五章 生成对立网络

图 15.15 InfoGAN 在 MNIST 数据集上的运用。a) MNIST 数据库的练习样本包含 2828 像素的手写数字图画。b) 第一个特点 c1 是一个具有 10 个类别的分类变量;每一列展现了运用其间一个类别生成的样本。InfoGAN 能够复原十个数字。特点向量 c2 和 c3 是接连的。c) 从左到右,每列代表在其他潜变量坚持不变时 c2 的不同值,这个特点似乎与字符的方向有关。d) 第三个特点与笔画的粗细度相关。据 Chen 等(2016b)改编。

15.5 图画翻译

尽管对立性判别器 (adversarial discriminator) 开端是在生成对立网络 (GAN) 中用于生成随机样本的布景下提出的,但它也可作为一种偏好于现实感的先验,用于将一种数据办法转化成另一种办法的使命中。这种运用最常见于图画处理,例如将灰度图画转化成五颜六色、将噪声图画清理成干净的图画、将模糊图画转化成清晰的图画,或是将草图转化成相片级传神的图画。

本节将评论三种图画翻译模型,它们在练习时依赖于不同程度的手艺标示。Pix2Pix 模型运用成对的前/后图画进行练习。选用对立性丢掉的模型在主模型中运用成对的图画,一起在判别器中运用未配对的“后”图画。CycleGAN 模型则运用未配对的图画。

15.5.1 Pix2Pix

Pix2Pix 模型(图 15.16)是一个网络 x=g[c,]x = g[c, theta],经过一个带有参数 Theta 的 U-Net(图 11.10)将一幅图画 cc 映射到另一种风格的图画 xx 上。一个典型的运用场景是色彩化,即将灰度输入转化为五颜六色输出。输出图画应与输入类似,这一方针经过一个内容丢掉 (content loss) 来完成,该丢掉赏罚输入和输出之间的 ℓ1ell_1 范数 ∥x−g[c,]∥1|x – g[c, Theta]|_1 差异。

但是,输出图画还应看似对输入的一个传神转化。为到达此意图,运用了一个对立性判别器 f[c,x,]f[c, x, phi] 来处理前后图画 ccxx。判别器每一步测验差异实在的前后对和前/组成对。成功差异这些对时,将反响信号用于调整 U-Net 以让其输出更传神。由于内容丢掉保证了图画的大规范结构正确,判别器首要用于保证部分纹理的实在性。为此,PatchGAN 丢掉依据纯卷积分类器设计。在终究一层,每个隐藏单元判别其接纳规划内的区域是实在的仍是组成的。这些反响被均匀化,以得出终究输出。

能够将此模型视为一个条件 GAN,其间 U-Net 作为生成器,而且是以图画而非标签作为条件。值得留意的是,U-Net 的输入不包含噪声,因而并不彻底是传统意义上的“生成器”。有趣的是,原始作者测验向 U-Net 中添加噪声 zz 以及输入图画 cc,但网络终究学会忽略了噪声。

了解深度学习:第十五章 生成对立网络

图 15.16 Pix2Pix 模型。a) 这个模型运用 U-Net(参见图 11.10)将输入图画转化成不同风格的猜测成果。例如,它能将灰度图画转化为看似实在的五颜六色版别。U-Net 的练习依据两种丢掉:内容丢掉鼓舞输出图画结构与输入类似,而对立丢掉则保证灰度和五颜六色图画对在图画的每个部分区域内难以差异。这个结构能够适用于多种使命,包含 b) 将地图转化为卫星图画,c) 将包包的素描转化为传神图画,d) 五颜六色化处理,以及 e) 将标签地图转化为传神的建筑立面图。据 Isola 等(2017)改编。

15.5.2 对立性丢掉

Pix2Pix 模型的判别器测验判别图画翻译使命中的前后图画对是否合理。这样做的不便之处在于,咱们需求实在的前后对来运用判别器丢掉。幸运的是,存在一种更简略的办法能够在监督学习的布景下,不需求额定的标示练习数据,就能运用对立性判别器的力气。

对立性丢掉 (adversarial loss) 经过判别器来添加赏罚,假如判别器能差异出监督网络的输出与其输出域中的实在样例。因而,监督模型会调整其猜测以削减这种赏罚。这既能够在整个输出层面上进行,也能够在补丁等级进行,如 Pix2Pix 算法中所示。这有助于进步杂乱结构输出的传神度。但是,这并不一定能在原始丢掉函数方面带来更好的处理方案。

超分辨率 GAN(SRGAN)选用了这种办法(图 15.17)。主模型是一个含有残差衔接的卷积网络,它接纳一个低分辨率图画,并经过上采样层转化成高分辨率图画。网络经过三种丢掉来练习:内容丢掉丈量输出和实在高分辨率图画之间的平方差异;VGG 丢掉或感知丢掉经过 VGG 网络传递组成和实在输出,丈量它们激活值之间的平方差异,鼓舞图画在语义上与方针类似;对立性丢掉则运用判别器来测验差异该图画是否为实在的高分辨率图画或是上采样的图画,以促进输出与实在样例无法差异。

了解深度学习:第十五章 生成对立网络

图 15.17 超分辨率生成对立网络(SRGAN)。a) 运用残差衔接的卷积网络被练习来将图画分辨率进步四倍。这个模型旨在使内容尽或许挨近实在的高分辨率图画,一起经过对立丢掉赏罚那些可与实在高分辨率图画差异开的成果。b) 选用双三次插值法上采样的图画。c) 运用 SRGAN 上采样的图画。d) 再次选用双三次插值法上采样的图画。e) 再次运用 SRGAN 上采样的图画。据 Ledig 等(2017)改编。

15.5.3 CycleGAN

对立性丢掉假设咱们拥有用于主监督网络的符号前后图画。CycleGAN 处理了当咱们拥有两组具有独特风格但无匹配对的数据时的状况。一个例子是将相片转化为莫奈的艺术风格。尽管存在许多相片和莫奈的画作,但它们之间没有直接对应联系。CycleGAN 运用了一个理念:若图画先转化成一种风格(例如,相片→莫奈),然后再转化回原始风格,应能康复原图。

CycleGAN 的丢掉函数是三种丢掉的加权和(图 15.18)。内容丢掉鼓舞前后图画类似,依据 l1 范数。对立性丢掉运用判别器来鼓舞输出与方针域的实在样例无法差异。终究,循环一致性丢掉鼓舞映射的可逆性。此处,一起练习两个模型:一个担任从第一个域映射到第二个域,另一个则反向映射。假如经过映射转化的图画能够成功地再次转化回原始域的图画,则循环一致性丢掉较低。该模型经过结合这三种丢掉来练习网络,完成图画从一种风格到另一种风格的转化,然后再回到原来的风格。

了解深度学习:第十五章 生成对立网络

图 15.18 CycleGAN。一起练习两个模型,一个模型将第一种风格的图画(马)转化成第二种风格的图画(斑马),另一个模型则进行相反的映射。循环一致性丢掉保证这两个模型能够成功地进行领域转化并康复到原图。除此之外,两个对立丢掉使转化后的图画在方针领域中看起来更实在(此处以斑马为例)。内容丢掉保证每次映射前后图画的细节和布局坚持一致性(即斑马和马的方位和姿态相同,布景也相同)。据 Zhu 等(2017)改编。

15.6 StyleGAN

StyleGAN 是一款较为先进的生成对立网络 (GAN),它能够将数据会集的变异分解为有意义的组件,每个组件都由一小部分潜变量操控。特别地,StyleGAN 能够在不同层级上调控输出图画,并清晰差异风格与噪声。在处理人脸图画时,大规范的改变包含脸型和头部姿态;中规范改变触及面部特征的形态和细节;而细规范改变则涵盖头发和皮肤色彩。风格成分指的是对人类明显的图画特征,而噪声成分则指图画中不那么重要的改变,比方头发的准确方位、胡渣、斑点或皮肤毛孔等。

咱们之前见到的 GAN 从一个规范根底散布中抽取的潜变量 z 开端,经过一系列卷积层的处理生成输出图画。但是,在生成器中,潜变量的输入能够(i)在架构的不同方位引进,且(ii)以不同办法调整这些方位的当时标明。StyleGAN 精心挑选了这些办法来操控不同的规范,并差异风格与噪声(图 15.19)。

StyleGAN 的首要生成分支以一个学习得到的 44、512 通道的常数标明开端,经过一系列逐渐上采样的卷积层,生成终究分辨率的图画。在每个规范上,都会引进代表风格和噪声的两组随机潜变量;这些变量越挨近输出,它们代表的细节就越精密。

代表噪声的潜变量是独立采样的高斯向量 z1,z2z_1, z_2 等,它们在主生成流程的每次卷积操作后以加法办法注入。这些向量在空间巨细上与它们被参加时的首要标明相同,但经过乘以学习到的每通道缩放因子 1,2psi_1, psi_2 等,因而对每个通道的贡献量不同。跟着网络分辨率的进步,这些噪声在更细的规范上发生影响。

代表风格的潜变量开端于一个 11512 的噪声张量,经过一个七层全衔接网络处理,生成一个中心变量 w。这样做使得网络能够解耦风格的各个方面,使得 w 的每个维度都能独立代表现实国际的某个要素,如头部姿态或头发色彩。这个 w 变量经线性转化后成为 21512 的张量 y,用于在主分支的空间方位上调整标明的每通道均值和方差,此进程称为自适应实例规范化 (adaptive instance normalization)(图 11.14e)。经过这种办法,在主分支的几个不同方位注入一系列向量 y1,y2y_1, y_2 等,使得相同的风格在不同规范上有所贡献。图 15.20 展现了在不同规范上操作风格和噪声向量的示例。

了解深度学习:第十五章 生成对立网络

图 15.19 StyleGAN。其中心流程(中心行)开端于一个固定的学习标明(灰色框)。经过多层卷积和逐渐上采样进程生成终究图画。不同规范的噪声(顶行)经过周期性参加具有每通道缩放的高斯变量 z• 来完成。高斯风格变量 z 经过全衔接网络转化成中心变量 w(底行),用于在流程的不同阶段调整每个通道的均值和方差。

了解深度学习:第十五章 生成对立网络

图 15.20 StyleGAN 成果。前四列展现了不同规范下风格的体系性改变。第五列显现了增大噪声幅度的作用。终究两列在两个不同的规范上展现了不同的噪声向量改变。

15.7 总结

GAN(生成对立网络)经过学习一个生成器网络,能够将随机噪声变换成与练习会集的数据类似的数据。为了达成这一方针,练习生成器时会用到一个辨别器网络,该网络企图差异出实在的样本与生成的样本。接着,生成器会被调整,以便它发生的数据愈加被辨别器以为是“实在”的。这个思想的原始表述存在一个问题,即当断定样本是实在仍是生成的变得简略时,练习信号会变弱。这促成了 Wasserstein GAN 的开展,它能够供给一个更安稳的练习信号。

咱们回忆了用于生成图画的卷积GAN技能及一系列进步生成图画质量的技巧,包含渐进添加、小批量判别和切断战略。条件GAN架构经过引进一个辅佐向量来操控输出内容(如,挑选特定的方针类别)。在图画翻译使命中,这种条件信息以图画的办法被保留,但随机噪声则被省掉。如今,GAN的辨别器充当了一个额定的丢掉函数,偏好生成看起来“更实在”的图画。终究,咱们介绍了StyleGAN,它在不同规范上经过战略性地向生成器注入噪声来操控风格和噪声。

Notes

Goodfellow 等人在 2014 年引进了生成对立网络(GAN)。Goodfellow 在 2016 年的文章中对前期的开展进行了回忆。更近期的总述包含 Creswell 等人于 2018 年以及 Gui 等人于 2021 年的作业。Park 等人在 2021 年发布的总述专心于 GAN 模型在核算机视觉运用中的开展。Hindupur 在 2022 年维护了一份命名的 GAN 模型列表,现在共有 501 个,从 ABC-GAN(Susmelj 等人,2017年)到 ZipNet-GAN(Zhang 等人,2017年)都有涵盖。Odena 在 2019 年列出了 GAN 相关的敞开性问题。

数据:GAN 首要用于图画数据处理,例如本章介绍的深度卷积 GAN(Radford 等人,2015年)、渐进式 GAN(Karras 等人,2018年)以及 StyleGAN(Karras 等人,2019年)。因而,大都 GAN 依据卷积层构建,近期还开发了交融 Transformer 的 GAN,经过生成器和辨别器捕捉长间隔相关性,如 SAGAN(Zhang 等人,2019年)。此外,GAN 还运用于生成分子结构图(De Cao & Kipf, 2018)、声响数据(Saito 等人,2017; Donahue 等人,2018; Kaneko & Kameoka, 2017; Fang 等人,2018)、脑电波数据(Hartmann 等人,2018)、文本(Lin 等人,2017; Fedus 等人,2018)、音乐(Mogren,2016; Guimaraes 等人,2017; Yu 等人,2017)、3D 模型(Wu 等人,2016)、DNA(Killoran 等人,2017)及视频数据(Vondrick 等人,2016; Wang 等人,2018)。

GAN 丢掉函数:尽管开端以为 GAN 在练习进程中会收敛到纳什均衡,但更多的依据标明这种状况并不总发生(Farnia & Ozdaglar, 2020; Jin 等人,2020; Berard 等人,2019)。Arjovsky 等人(2017)、Metz 等人(2017)和 Qi(2020)指出,原始的 GAN 丢掉函数存在不安稳性,促进人们提出了不同的公式。Mao 等人在 2017 年引进了最小二乘 GAN,对某些参数挑选,这隐式地最小化了 Pearson ^2 不合。Nowozin 等人(2016)以为 Jensen-Shannon 不合是 f-不合大家族中的一个特例,展现了任何 f-不合都能够用于练习 GAN。Jolicoeur-Martineau(2019)提出了相对论 GAN,其辨别器估量实在数据样本比生成样本更实在的概率,而不是肯定的实在性概率。Zhao 等人(2017)将 GAN 重构为一个依据能量的通用结构,辨别器将低能量赋予实在数据,其他状况则赋予高能量。例如,他们运用自编码器,依据重构误差来界说能量。

Arjovsky 和 Bottou(2017)剖析了 GAN 中的梯度消失问题,然后提出了依据地球移动间隔/最优传输的 Wasserstein GAN(Arjovsky 等人,2017)。Wasserstein 办法要求辨别器的 Lipschitz 常数小于一;原文提议经过裁剪辨别器的权重来完成,但后续研讨经过引进梯度赏罚(Gulrajani 等人,2016)或施加谱归一化(Miyato 等人,2018)来约束 Lipschitz 常数。Wasserstein GAN 的其他变种由 Wu 等人(2018)、Bellemare 等人(2017)和 Adler & Lunz(2018)提出。Hermann(2017)评论了对偶性和 Wasserstein GAN 的杰出博客文章。关于最优传输的更多信息,能够参考 Peyre 等人(2019)的作品。Lucic 等人(2018)对当时的 GAN 丢掉函数进行了实证比较。

练习 GAN 的技巧:许多启示式办法进步了练习 GAN 的安稳性和终究成果的质量。Marchesi(2017)初次选用切断技巧来平衡 GAN 输出的多样性和质量。Pieters & Wiering(2018)和 Brock 等人(2019)也提出了此法,并添加了一个使生成器中权重矩阵坚持正交的正则器。这意味着切断潜在变量与缩小输出方差的联系更为严密,然后进步了样本质量。

其他技巧包含仅运用最实在的前 K 张图画的梯度(Sinha 等人,2020)、在辨别器中运用标签平滑技能(Salimans 等人,2016)、经过运用生成图画的历史记载而非最新生成器发生的图画来更新辨别器,以防止模型“振荡”(Salimans 等人,2016),以及在辨别器输入中参加噪声(Arjovsky & Bottou, 2017)。Kurach 等人(2019)总述了 GAN 中的规范化和正则化办法。Chintala 等人(2020)进一步提出了练习 GAN 的建议。

样本多样性:原始 GAN 论文(Goodfellow 等人,2014)提出,只需有满足的容量、练习样本和核算时刻,GAN 就能学会最小化生成样本与实在散布之间的 Jensen-Shannon 不合。但是,后来的研讨对此提出了疑问。Arora 等人(2017)指出,辨别器的有限容量导致即使输出散布的变异有限,GAN 练习方针也或许挨近其最优值。Wu 等人(2017)经过退火重要性采样估算 GAN 发生的散布的对数似然值,发现生成的散布与实在散布存在不匹配。Arora & Zhang(2017)经过让人类调查者辨认 GAN 生成的(简直)重复样本,从重复的频率中推测出图画的多样性。他们发现,关于 DCGAN,400个样本中呈现重复的概率超越50%,这标明其支撑的巨细约为400,000,低于练习集的规划。他们还发现,跟着辨别器的巨细添加,多样性有所添加。Bau 等人(2019)选用了不同的办法,探究了 GAN 无法生成的数据空间部分。

添加多样性与防止办法塌陷:缺少多样性的极点事例是办法塌陷,这种状况下网络重复生成相同的图画(Salimans 等人,2016)。这在条件 GAN 中尤为突出,由于潜变量有时会被彻底忽略,输出彻底依赖于条件信息。Mao 等人(2019)提出了一种正则项,以防止条件 GAN 发生办法塌陷,经过最大化生成图画与其对应潜变量之间间隔的比率,然后鼓舞输出多样性。其他旨在削减办法塌陷的作业包含 VEEGAN(Srivastava 等人,2017),它引进了一个重构网络,把生成的图画映射回原始噪声,然后防止噪声到图画的多对一映射。

Salimans 等人(2016)提出了一种核算小批次内部核算量的办法,并运用辨别器保证这些核算量与实在图画批次的核算量无法差异。这被称为小批次辨别,经过在辨别器的结尾添加一个层来完成,该层学习每个图画的批次核算量的张量。Karras 等人(2018)简化了这一进程,为小批次中每个空间方位的每个特征核算规范差。然后,他们对空间方位和特征进行均匀,得到一个单一估量值,该估量值被仿制形成一个单一特征图,附加在辨别器网络挨近结尾的一个层上。Lin 等人(2018)将衔接后的(实在或生成的)样本输入辨别器,并理论剖析了向辨别器供给多个样本怎么添加多样性。MAD-GAN(Ghosh 等人,2018)经过运用多个生成器并要求单一辨别器辨认出哪个生成器创立了样本,添加了 GAN 样本的多样性,然后为生成器供给了发明不同样本的动力。

多规范处理:Wang 等人(2018b)经过在不同规范上运用多个辨别器,保证了一切频率带中图画质量的高度一致。其他研讨在不同分辨率上界说了生成器和辨别器(Denton 等人,2015; Zhang 等人,2017d; Huang 等人,2017c)。Karras 等人(2018)引进了一种渐进式添加的办法(图 15.9),这种办法更简略,练习速度也更快。

StyleGAN:Karras 等人(2019)介绍了 StyleGAN 结构(第 15.6 节)。在随后的研讨中(Karras 等人,2020b),他们经过重新设计生成器中的归一化层来消除“水滴”伪影,以及经过改动渐进式添加结构来削减细节不跟从大略细节的伪影,然后进步了生成图画的质量。进一步的改善包含开发了在数据有限的状况下练习 GAN 的办法(Karras 等人,2020a)和修正走样伪影(Karras 等人,2021)。大量研讨经过找到并操作 StyleGAN 中的潜变量来修正图画,例如 Abdal 等人(2021)、Collins 等人(2020)、Hrknen 等人(2020)、Patashnik 等人(2021)、Shen 等人(2020b)、Tewari 等人(2020)、Wu 等人(2021)、Roich 等人(2022)等的作业。 条件生成对立网络(Conditional GANs): 条件生成对立网络(Conditional GAN)是由 Mirza & Osindero 在 2014 年提出的,辅佐分类器生成对立网络(auxiliary classifier GAN)则是由 Odena 等人在 2017 年开发,InfoGAN 则是由 Chen 等人于 2016 年提出。这些模型的辨别器一般会将条件信息加在输入层(Mirza & Osindero, 2014; Denton 等人, 2015; Saito 等人, 2017)或某个中心隐藏层(Reed 等人, 2016a; Zhang 等人, 2017d; Perarnau 等人, 2016)。不过,Miyato & Koyama 在 2018 年的试验中测验了一种新办法,将嵌入的条件信息与辨别器的某层做内积,这个做法遭到了底层概率模型中类别信息作用的启示。GAN 生成的图画可依据多种条件,例如类别(如 Odena 等人, 2017)、文本输入(Reed 等人, 2016a; Zhang 等人, 2017d)、特点(Yan 等人, 2016; Donahue 等人, 2018a; Xiao 等人, 2018b)、边界框和要害点(Reed 等人, 2016b)以及其他图画(如 Isola 等人, 2017)。

图画翻译: Isola 等人在 2017 年开发了 Pix2Pix 算法(图 15.16),随后 Wang 等人于 2018 年提出了一个能生成更高分辨率成果的类似体系。StarGAN(Choi 等人, 2018)能够运用单一模型跨多个域进行图画到图画的翻译。周期一致性丢掉的概念初次由 Zhou 等人(2016b)在 DiscoGAN 中引进,并由 Zhu 等人(2017)在 CycleGAN(图 15.18)中进一步开展。

对立性丢掉: 在很多图画翻译使命中,并不总是需求“生成器”;这类模型可视为一种带有促进生成成果实在性的对立性丢掉的监督学习使命。Ledig 等人在 2017 年提出的超分辨率算法便是一个典型例子(图 15.17)。Esser 等人于 2021 年运用带对立性丢掉的自编码器。这种网络经过减小数据标明的规范来创立一个“瓶颈”,然后从这一减缩的数据空间重建图画。这个架构在实践运用中类似于编解码网络(例如,图 10.19)。练习后,自编码器能够复原与原图画十分挨近且极具实在感的图画。他们将自编码器的瓶颈进行矢量量化(离散化),随后运用 Transformer 解码器来学习离散变量上的概率散布。经过从该 Transformer 解码器采样,他们能生成极端高质量的大规范图画。

回转 GANs: 修正实在图画的一种办法是将它们映射到潜在空间,调整潜在变量后,再将其投射回图画空间,这一进程称为重组成。惋惜的是,GANs 只能从潜在变量映射到调查数据,反之则不可。这促成了回转 GANs 的办法开展,即寻觅与调查图画尽或许挨近的潜在变量。这些办法大致分为两类:第一类是学习一个能够反向映射的网络(Donahue 等人, 2018b; Luo 等人, 2017a; Perarnau 等人, 2016; Dumoulin 等人, 2017; Guan 等人, 2020),即编码器。第二种办法是从某个潜在变量 z 动身,经过优化使其尽或许准确地重构图画(Creswell & Bharath, 2018; Karras 等人, 2020b; Abdal 等人, 2019; Lipton & Tripathi, 2017)。Zhu 等人(2020a)将这两种办法结合起来。

StyleGAN 的回转特别遭到关注,由于它能发生出色的成果,并能在不同规范上操控图画。但是,Abdal 等人(2020)标明,在没有人为痕迹的状况下回转 StyleGAN 是不或许的,并提出了向扩展的样式空间回转的方案,Richardson 等人(2021)练习了一个可靠映射到该空间的编码器。即使在回转到扩展空间之后,修正超出域的图画或许仍旧面对应战。Roich 等人(2022)经过对 StyleGAN 的生成器进行微调以准确重建图画来处理这一问题,并展现了杰出的修正作用。他们还添加了准确重建邻近点的额定条件,以保证修正的部分性。这种技能称为要害调整。关于 GAN 回转技能的总述能够在 Xia 等人(2022)的研讨中找到。

运用 GANs 修正图画: iGAN(Zhu 等人,2016)答运用户经过在现有图画上涂鸦或变形来进行交互式修正。工具随后调整输出图画,使之既实在又符合这些新的束缚条件。它经过寻觅一个能生成与修正图画类似并遵从任何新增线条边际映射的潜在向量来完成这一点。一般,还会添加一个遮罩,以便只要靠近修正部位的图画区域会被更改。EditGAN(Ling 等人,2021)一起处理图画及其语义切割掩码,并答应对掩码进行修正。

Problems

问题 15.1 当 (q(x) = Pr(x)) 时,方程 15.8 中的丢掉是多少?

问题 15.2* 描绘方程 15.8 中的丢掉 (L) 与方程 15.9 中的 Jensen-Shannon 间隔 DJS[q(x)∣∣Pr(x)]D_{JS}[q(x) || Pr(x)] 之间的联系。

问题 15.3 考虑运用线性规划的原始办法来核算推土机间隔(Wasserstein 间隔)。离散散布 Pr(x=i) 和 q(x=j) 界说在 x = 1,2,3,4 上,其间:

b=[Pr(x=1),Pr(x=2),Pr(x=3),Pr(x=4),q(x=1),q(x=2),q(x=3),q(x=4)]T(15.18)b = [Pr(x=1), Pr(x=2), Pr(x=3), Pr(x=4), q(x=1), q(x=2), q(x=3), q(x=4)]^T tag{15.18}

请给出 8×16 矩阵 (A) 的内容。假设 (P) 的内容已按列优先次序向量化为 (p)。

问题 15.4* 核算两个散布之间的 (i) KL 散度 (KL divergence),(ii) 反向 KL 散度 (reverse KL divergence),(iii) Jensen-Shannon 散度 (Jensen-Shannon divergence),以及 (iv) Wasserstein 间隔 (Wasserstein distance):

Pr(z)={0z<010≤z≤10z>1Pr(z) = begin{cases} 0 & z < 0 \ 1 & 0 leq z leq 1 \ 0 & z > 1 end{cases}

Pr(z)={0z<a1a≤z≤a+10z>a(15.19)Pr(z) = begin{cases} 0 & z < a \ 1 & a leq z leq a + 1 \ 0 & z > a end{cases} tag{15.19}

关于 (a in [-3,3]) 的规划。为了这个特别状况下核算 Wasserstein 间隔,考虑有必要移动的总“土壤”(即,概率质量)并乘以其有必要移动的平方间隔。

问题 15.5 当 (sigma_1 = sigma_2 = 1) 时,以 (mu_1 – mu_2) 为自变量,绘制单变量高斯散布间的 KL 间隔和 Wasserstein 间隔:

DKL=log⁡(21)+12+(1−2)2222−12,(15.20)D_{KL} = log left( frac{sigma_2}{sigma_1} right) + frac{sigma_1^2 + (mu_1 – mu_2)^2}{2sigma_2^2} – frac{1}{2}, tag{15.20}

DW=(1−2)2+12+22−212,(15.21)D_{W} = (mu_1 – mu_2)^2 + sigma_1^2 + sigma_2^2 – 2sqrt{sigma_1sigma_2}, tag{15.21}

问题 15.6 想象一个维度为 100 的潜变量 z。当咱们对这个变量的值进行切断处理,别离考虑 = 2.0、 = 1.0、 = 0.5 以及 = 0.04 规范差 (standard deviations) 的状况。在每种状况下,有多大比例的原始概率散布被排除了?