生成对抗网络[4]在人工智能领域广泛应用,被深度学习代表性人物Yann Lecun评为近年来最令人欣喜的成就。生成对抗网络受启发于自博弈论中的两人零和博弈思想:参与博弈的双方在严格竞争下,一方收益必然意味着另一方损失,博弈双方的收益和损失相加总和永远为“零”,也就是说双方不存在合作的可能。在生成对抗网络中,博弈双方分别由生成模型和判别模型来建模。生成模型通过学习数据概率分布并生成新的数据,其目的是尽可能生成以假乱真的样本,称之为生成器。判别模型判断样本来自真实数据还是生成数据,称之为判别器。生成器和判别器互相竞争,直到生成数据和真实数据无法区分。生成器和判别器均由深度神经网络构成,且它们的目的互为对抗,所以称为对抗网络。
1.问题定义
给定真实数据x,其数据分布表示为Pdata(x),定义输入噪声变量的先验概率分布为Pz(z),深度生成对抗网络的生成器G是由多层感知器构成的深度神经网络,目的是学习从噪声变量空间到真实数据空间的映射。将生成器学习到的分布表示为Pg(x),一个理想的生成器使得生成器学得的分布与真实数据分布完全相同,即Pdata(x)=Pg(x)。判别器D也是由多层感知器构成的深度神经网络,目的是学习区分输入样本是来自真实数据还是由G生成。判别器D的输入是真实数据x和生成器生成的数据G(z),输出表示输入来自真实数据分布Pdata(x)而不是生成数据分布Pg(x)的概率,通常是维度为1的标量。
深度生成对抗网络的目标函数为
其中,第一项是根据真实数据x的对数损失函数构建的,最大化这一项相当于使判别器D在x~Pdata(x)时能够预测D(x)=1;第二项是根据生成器生成的数据G(z)的对数损失函数构建的,最大化这一项相当于使判别器D在z~Pz(z)时能够预测D(G(z))=0。最优化的判别器D∗通过最大化目标函数得到,即
生成器G的目的是尽可能生成足够真实的数据使得判别器无法正确区分真实数据和生成数据。根据其目的,当学到最优判别器D=D∗时,最优化的生成器G∗通过最小化目标函数得到,即
在下一部分将给出理论证明。因此,通过两人极大极小博弈,判别器D和生成器G的整体优化策略定义为
两人极大极小博弈的对抗过程可以理解为,在给定G的情况下,最大化V(D,G)使得判别器能够正确区分真实数据和生成数据;然后固定D=D∗,最小化V(D∗,G)得到最优的生成器G∗使得判别器不能正确区分输入样本是来自真实数据分布Pdata(x)还是生成器学得的数据分布Pg(x),即判别器D∗的输出都是0.5。当极大极小博弈策略得到全局最优解D∗和G∗时,Pg(x)=Pdata(x)成立。
2.理论证明
本部分将证明当且仅当极大极小博弈策略得到全局最优解D∗和G∗时,生成数据和真实数据同分布成立,即Pg(x)=Pdata(x)成立。
1)最优判别器
给定生成器G,通过最大化V(D,G)得到最优判别器D∗。目标函数V(D,G)可表示成在x的积分形式,即
求积分的最大值可以转换为求被积函数的最大值。当求解最优判别器D∗时,不涉及判别器D的项均可以看作常数项,因此V(D,G)可以看作是关于D的函数。设D(x)=y,真实数据分布Pdata(x)=a,生成器学得的数据分布Pg(x)=b,式(4.17)可以简写为
当a+b≠0时,对式(4.18)求一阶导数得
然后求f(y)在驻点的二阶导数,可得
由一阶导数等于零且二阶导数小于零,可知为极大值点,将a=Pdata(x)、b=Pg(x)和y=D(x)代入式(4.19),可得最优判别器为。(www.daowen.com)
2)最优生成器
给定最优判别器D∗,通过最小化目标函数V(D∗,G)得到最优生成器G∗,即G∗=。
下面证明当且仅当时,Pg(x)=Pdata(x)成立。
充分性证明如下。
将最优判别器D∗代入目标函数V(D,G),可得
其中,Pdata(x)和Pg(x)在各自的积分域上的积分等于1,则
此外,根据对数的定义可得
将式(4.22)和式(4.23)代入式(4.21)可得
可以看出,式(4.24)的后两项积分均是KL散度的形式,即
因为KL散度是非负的,所以-log4是目标函数V(D∗,G)的全局最小值。当目标函数V(D∗,G)=-log4时,取得最优生成器G∗,此时KL散度为零,即Pg(x)=Pdata(x)。充分性得证。
必要性证明如下。
当Pg(x)=Pdata(x)时,代入式(4.21),可以得到
目标函数V(D∗,G)达到全局最小值,此时生成器是最优生成器G∗。必要性得证。
通过充分性和必要性证明,可以证明当且仅当Pdata(x)成立。
综上可得,通过两人极大极小博弈V(D,G)得到的最优解D∗和G∗可以使得Pg(x)=Pdata(x)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。