UNROLLED GENERATIVE ADVERSARIAL NETWORKS

UNROLLED GENERATIVE ADVERSARIAL NETWORKS

2 METHOD

2.1 GENERATIVE ADVERSARIAL NETWORKS

GAN的学习问题是为生成器函数 G ( z ; θ G ) G(z; θ_G) G(z;θG)寻找最佳参数 θ G ∗ θ^∗_G θG,以达到最小的目标

在这里插入图片描述

在这里插入图片描述

这里 x ∈ X x∈\mathcal X xX是数据变量, z ∈ Z z∈\mathcal Z zZ是潜变量, p d a t a p_{data} pdata是数据分布,判别器 D ( ⋅ ; θ D ) : X → [ 0 , 1 ] D(\cdot;θ_D):\mathcal X→[0,1] DθDX[0,1]输出样本x来自数据分布的估计概率, θ D 和 θ G θ_D和θ_G θDθG是判别器和发生器参数,生成器函数 G ( ⋅ ; θ G ) : Z → X G(\cdot;θ_G):\mathcal Z→\mathcal X G;θGZX将潜空间的样本转换为数据空间的样本。

对于公式4中的最小损失,最佳判别器 D ∗ ( x ) D^∗(x) D(x)是一个已知的生成器概率 p G ( x ) p_G(x) pG(x)的平滑函数(Goodfellow等人,2014)。

在这里插入图片描述

当公式2中的生成器损失直接用 p G ( x ) p_G(x) pG(x)和公式5重写,而不是 θ G 和 θ D ∗ ( θ G ) θ_G和θ^∗_D(θ_G) θGθD(θG),那么它同样是 p G ( x ) p_G(x) pG(x)的一个平滑函数。当 D ( x ; θ D ) 和 G ( z ; θ G ) D (x; θ_D)和G (z; θ_G) D(x;θD)G(z;θG)从参数族中抽取时,这些平稳性保证通常会丢失。尽管如此,他们还是认为等式2中真正的生成器目标通常表现良好,是直接优化的理想目标。

对于基于神经网络的判别器来说,在生成器G的每个更新步骤中明确求解最佳判别器参数 θ D ∗ ( θ G ) θ^∗_D(θ_G) θD(θG)在计算上是不可行的。因此,这个最小优化问题通常是通过对 θ G θ_G θG的梯度下降和对 θ D θ_D θD的上升交替解决的。

最佳解决方案 θ ∗ = { θ G ∗ , θ D ∗ } θ^∗=\{θ^∗_G, θ^∗_D\} θ={ θG,θD}是这些迭代学习动态的固定点。此外,如果 f ( θ G , θ D ) f(θ_G,θ_D) f(θGθD) θ G θ_G θG中是凸的,在 θ D θ_D θD中是凹的,然后,在某些额外的弱假设下,交替梯度下降(上升)信赖域更新保证收敛到不动点(Juditsky et al.,2011)。然而,在实践中, f ( θ G , θ D ) f(θ_G,θ_D) f(θGθD)通常在 θ G θ_G θG中离凸很远,在 θ D θ_D θD中离凹很远,而且更新没有以适当的方式受到约束。因此,GAN训练存在模式崩溃、undamped oscillations以及第1.1节中详述的其他问题。为了解决这些困难,我们将引入一个代用目标函数 f K ( θ G , θ D ) f_K(θ_G,θ_D) fK(θG,θD)来训练生成器,它更接近于真正的生成器目标 f ( θ G , θ D ∗ ( θ G ) ) f(θ_G,θ^∗_D(θ_G)) f(θGθD(θG))

2.2 UNROLLING GANS

鉴别器参数 θ D ∗ θ^∗_D θD的局部最优可以表示为迭代优化程序的固定点( the fixed point of an iterative optimization procedure)。

在这里插入图片描述

其中 η k η^k ηk是 learning rate schedul。为了清楚起见,我们将公式7表示为一个 full batc最陡梯度上升方程( a full batch steepest gradient ascent equatio)。更复杂的优化器也可以类似地展开。在我们的实验中,我们对Adam(Kingma & Ba, 2014)进行了 unrol。

通过展开K步,我们为生成器的更新创建了一个代理目标

在这里插入图片描述

当K=0时,这个目标完全对应于标准的GAN目标,而当K→∞时,它对应于真正的生成器目标函数 f ( θ G , θ D ∗ ( G ) ) f(θ_G,θ^∗_D(G)) f(θGθD(G))。通过调整展开步骤K的数量,我们能够在标准的GAN训练动态与相关的病理之间进行穿插( By adjusting the number of unrolling steps K, we are thus able to interpolate between standard GAN training dynamics with their associated pathologies),并在真实生成器上进行更昂贵的梯度下降。

2.3 PARAMETER UPDAT

使用这种代用损失的生成器和鉴别器参数更新为

在这里插入图片描述

为了清楚起见,我们在上面使用了步长为η的use full batch steepest gradient descent (ascent),而在实验中,我们反而对这两个更新使用了minibatch Adam。公式10中的梯度需要通过公式7的优化过程进行反向传播。通过梯度下降的微分的清晰描述如(Maclaurin等人,2015)中的算法2所示,尽管在实践中,使用自动微分包意味着这一步不需要明确编程。图1中提供了这些更新的图示。

在这里插入图片描述

图1:具有3个展开步骤的unrolled GAN的计算图。方程10中的生成器更新涉及通过unrolled optimization的生成器梯度(蓝色箭头)的反向传播。unrolled优化的每一步k都使用 f k f_k fk相对于 θ D k θ^k_D θDk的梯度,如方程7所述,由绿色箭头表示。方程11中的判别器更新不依赖于unrolled optimization(红色箭头)。

重要的是要将其与(Goodfellow等人,2014)中建议的方法区分开来,即在生成器的每个单一更新步骤之前,应该运行几个鉴别器参数的更新步骤。在该方法中,两个模型的更新步骤仍然是相对于其他模型参数的固定值的梯度下降(上升),而不是我们在公式9中描述的代用损失。在生成器更新的每个单步之间执行K步判别器更新,相当于只用下面公式12中的第一个项来更新生成器参数θG(Performing K steps of discriminator update between each single step of generator update corresponds to updating the generator parameters θG using only the first term in Eq. 12 below.)。

2.4 THE MISSING GRADIENT TERM

为了更好地理解代用损失 f K ( θ G , θ D ) f_K(θ_G,θ_D) fK(θG,θD)的行为,我们研究了它相对于生成器参数θG的梯度。
在这里插入图片描述
标准的GAN训练完全对应于只使用该梯度的第一项来更新生成器参数, θ D K ( θ G , θ D ) θ^K_D(θ_G,θ_D) θDK(θGθD)是鉴别器更新步骤产生的参数。任何固定鉴别器的最佳生成器是鉴别器分配最高数据概率的x处的δ函数。因此,在标准的GAN训练中,每个生成器的更新步骤都是对Delta函数的部分折叠。. Therefore, in standard GAN training, each generator update step is a partial collapse towards a delta function.

第二个项抓住了鉴别器对生成器的变化的反应。它减少了生成器进行模式崩溃的趋势。例如,第二项反映了当生成向delta函数坍缩时,鉴别器会做出反应,给该状态分配较低的概率,增加生成器的损失。因此,它阻止了生成器的崩溃,并可能提高稳定性。

当K→∞时, θ D K θ^K_D θDK进入f的局部最优,其中 ∂ f / ∂ θ D K = 0 ∂f/ ∂θ^K_D=0 f/θDK=0,因此公式12中的第二项归为0(Danskin,1967)。因此,当K=0和K→∞时,he unrolled surrogate lo f K ( θ G , θ D ) f_K(θ_G,θ_D) fK(θG,θD)相对于θG的梯度与标准GAN损失 f K ( θ G , θ D ) f_K(θ_G,θ_D) fK(θG,θD)的梯度相同,其中我们认为K→∞意味着在标准GAN中,判别器在每次生成器更新之间也被完全优化。在这两个极端之间, f K ( θ G , θ D ) f_K(θ_G,θ_D) fK(θG,θD)捕捉到了关于判别器对发生器变化的反应的额外信息。

2.5 CONSEQUENCES OF THE SURROGATE LOSS

GANs可以被认为是判别器(D)和生成器(G)之间的博弈。agents轮流采取行动并更新他们的参数,直到达到纳什均衡。D的最佳行动是评估生成器移动x的概率比$p_{data}(x) /p_G(x)+p_{data}(x) $(公式5)。最佳的生成行动是使这个比率最大化。

G的最初行动将是在其参数族和更新步骤允许的范围内尽可能多地移动到使概率密度比最大化的单点。然后,D将采取的行动是非常简单的。它将跟踪该点,并在其自己的参数族和更新步骤允许的范围内为其分配低数据概率,而在其他地方分配统一概率。G移动和D跟随的这个循环将永远重复或收敛,这取决于两个agents的变化率。这与简单的矩阵游戏如石头剪刀布和匹配便士的情况类似,在这种情况下,已知具有固定学习率的交替梯度下降(上升)不会收敛(Singh等人,2000;Bowling & Veloso,2002)。

然而,在unrolled 的情况下,这种不理想的行为不再发生。现在G的行动考虑到了D会如何反应。特别是,G将试图做出D将很难做出反应的步骤。这种额外的信息有助于生成器分散其质量,使下一个D步骤不那么有效,而不是崩溃到一个点。

原则上,代用损失函数可以同时用于D和G。在1步解卷优化的情况下,已知这将导致梯度下降(上升)失败的游戏的收敛(Zhang & Lesser, 2010)。然而,第2.2节中使用代用生成器损失的动机,即解开两个嵌套的最小和最大函数的内部,并不适用于使用代用判别器损失。此外,在训练GAN时,判别器压倒生成器的情况比反过来更常见。因此,通过允许G "看到未来 "而给它更多的信息可能有助于两个模型更加平衡。

猜你喜欢

转载自blog.csdn.net/weixin_37958272/article/details/117428444