《生成对抗网络》原理

1.符号表示
P g P_{g} Pg
表示生成器的分布。
p z ( z ) p_{z}(z) pz(z)
表示输入噪声变量的先验。
G ( z ; θ g ) G\left(z ; \theta_{g}\right) G(z;θg)
表示由噪声所生成的分布,其中 G 是由网络层和参数 θ表示的可导函数。
D ( x ; θ d ) D\left(x ; \theta_{d}\right) D(x;θd)
是判别器,D(x) 表示 x 来自数据集而不是pg的概率。

训练 D 的目标是最大化给训练集和生成数据分配正确标签的概率。同样情况下我们训练G来最小化
log ⁡ ( 1 − D ( G ( z ) ) ) \log (1-D(G(z))) log(1D(G(z)))
此时的G和D在进行零和博弈,通过价值函数 V(G,D)表示为
min ⁡ G max ⁡ D V ( D , G ) = E x ∼ p data  ( x ) [ log ⁡ D ( x ) ] + E z ∼ p z ( z ) [ log ⁡ ( 1 − D ( G ( z ) ) ) ] \min _{G} \max _{D} V(D, G)=\mathbb{E}_{\boldsymbol{x} \sim p_{\text {data }}(\boldsymbol{x})}[\log D(\boldsymbol{x})]+\mathbb{E}_{\boldsymbol{z} \sim p_{\boldsymbol{z}}(\boldsymbol{z})}[\log (1-D(G(\boldsymbol{z})))] GminDmaxV(D,G)=Expdata (x)[logD(x)]+Ezpz(z)[log(1D(G(z)))]

文中采用的方法是:在优化判别器D的k个步骤和优化生成器G的一个步骤之间交替进行。这样做的结果是:只要G改变的足够慢,D将被保持在最优值的附近。具体算法为:

事实上,这场minimax游戏的全局最优解是: p g = p d a t a p_{g}=p_{\mathrm{data}} pg=pdata下面阐述证明。

首先,我们考虑对于任意的生成器G,存在最优判别器D
命题一:固定G,最优判别器D D G ∗ ( x ) = p data ( x ) p data ( x ) + p g ( x ) D_{G}^{*}(x)=\frac{p_{\text {data}}(x)}{p_{\text {data}}(x)+p_{g}(x)} DG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值