对抗生成的网络模型如下图所示。
1 .分为生成网络g和对抗网络d。 对抗网络g是用于生成数据的,对抗网络是用术语判断真伪的数据,即判断数据是真实的还是生成的
2.z是随机生成的隐藏向量,通过生成网络g生成数据g(z );
3.x为原始数据
4 .首先,需要训练最佳对抗网络。 如果有很好判断真伪数据的网络,我们可以保证生成的假数据是假的,可以混乱,所以对抗网络d的区分度最大化。 即,到达d(g ) z )=0和d ) x )=1的边界。
5 .其次,需要培训完善的生成网络。 由于存在最佳的对抗网络,生成网络g努力生成伪数据,使伪数据通过生成网络d时可以达到伪混乱,d(g(z ) )=1的领域。
那么,具体如何实现呢? 首先,让我们来看看伟大数学家给出的公式:
由于公式很复杂,所以分为两个模型。
1 .对抗模式
在对抗模型中,需要尽量满足d1(x )=1,因此上述式最初的加法数尽量设为0; 因为需要尽量满足d2(g ) z ) )=0,所以第2个加法数也尽量设为0。 上面的公式,实际上只能尽量满足,不能满足的部分作为损失函数。 因为计算的是负值(log(x )中的x为0~1时结果为负),所以只要在整个式子前加上负号就可以变换为正数,这个正数越小越好。
2 .生成模型
要生成模型,必须尽量附上真伪。 也就是说,因为d2(g(z ) )为1,所以表达式的结果尽可能为0。 不相等的部分作为损失函数即可,同样,加上负号就可以变换为正。 这个正数越小越好。