号称GAN的鼻祖?没怎么细看, 主要说下公式(1)和图1
- 公式(1)
pdatap_{data}pdata是原始数据的概率密度,pzp_zpz是zzz数据的分布密度, zzz数据通过生成网络GGG变成x, 通过网络GGG,z的分布pzp_zpz可以变成x的分布pg(x)p_{g}(x)pg(x), pg(x)p_{g}(x)pg(x)是生成数据的分布密度.
先来看D(x)D(x)D(x),xxx越接近原数据它的值越大越接近1, 所以里面一层max, 可以这么理解, 如果x为原始数据的概率pdata(x)p_{data}(x)pdata(x)越大, 那么 D(x)也就越大, 也就是公式的第一部分, 如果生成的话,那么D(G(z))D(G(z))D(G(z))就应该越小, 相反1−D(G(z))1-D(G(z))1−D(G(z))也就越大. 加个log目标函数仍然没变.我猜主要是为了加快收敛(指数收敛)
然后GGG的目的, 就是产生以假乱真的数据, 让DDD分辨不出来, 这样(1-D(G(z)))就会越接近0, 这就是为什么外面一层用min
- 图1
下面一根线代表z域, 上面一根线代表x域, 黑点代表原有数据集的概率分布pdata(x)p_{data}(x)pdata(x), 绿细线代表生成数据集的概率分布pg(x)=G(pz(z))p_{g}(x)=G(p_z(z))pg(x)=G(pz(z)), 蓝色虚线代表识别网络判断为原有数据集的概率D(pdata(x))D(p_{data}(x))D(pdata(x)).