为什么用平均值来计算 GAN 损失的期望值?

人工智能 深度学习 目标函数 生成对抗网络 期待 大数定律
2021-10-22 06:20:34

来自Goodfellow 等人。(2014),我们有对抗性损失:

minGmaxDV(D,G)=Expdata(x)[logD(x)]+Ezpz(z)[log(1D(G(z)))].

在实践中,期望被计算为小批量的平均值。例如,判别器损失为:

θd1mi=1m[logD(x(i))+log(1D(G(z(i))))]

我的问题是:为什么用平均值来计算期望值这是否意味着pdata均匀分布的,因为每个样本都必须从pdata等概率?

以积分表示的期望是:

V(G,D)=xpdata (x)log(D(x))dx+zpz(z)log(1D(g(z)))dz=xpdata (x)log(D(x))+pg(x)log(1D(x))dx

那么,我们如何从涉及连续分布的积分转变为对离散概率求和,进而使所有这些概率都相同?

我可以从其他 StackExchange 帖子中找到的最好的结果是平均值只是一个近似值,但我真的想要一个更严格的解释。

这个问题不是 GAN 独有的,而是适用于数学上表示为对某些采样分布的期望的任何损失函数,这不是通过积分形式直接实现的。

(所有方程均来自 Goodfellow 论文。)

1个回答

您的问题似乎与经验均值的工作方式有关。

确实,如果所有x(i)是随机变量的独立同分布实现X, 然后limn1ni=1nf(x(i))=E[f(X)]. 这是被称为大数定律的统计标准结果。