生成式对抗网络GAN
生成式对抗网络 GAN
GAN的基本原理
生成对抗网络(GAN)由2个重要的部分构成:
- 生成器(Generator):通过机器生成数据,目的是“骗过”判别器。
- 判别器(Discriminator):判断数据是真实的还是生成的,目的是找出生成器做的“假数据”。 原始的GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的模型即可。在实用中一般均使用深度神经网络作为 G 和 D 。
一般来说,作为生成式模型,我们的目的是获得一个性能强悍的生成器。
GAN的训练过程
第一阶段:固定判别器,训练生成器
刚开始训练时,我们使用一个初始的效果还算可以的判别器,让一个生成器(记作G)不断生成“假数据”,然后给这个判别器(记作D)去判断。
显然,这个时候G的性能还很弱,所以很容易被D识别。随着不断的训练,G性能不断提升,最终可以成功误导D。这个时候,一般来说,D基本判断是否为假数据的概率为50%
第二阶段:固定生成器,训练判别器
第一阶段结束后,继续训练G就没有意义,因为我们的目的是提升G的性能。现在我们固定G,然后开始训练D。同样的,通过不断训练D,D再次能够准确的判断出所有的“假数据”。这个时候,G已经无法骗过D,G需要继续训练。
循环阶段一和阶段二
于是通过不断的循环,G和D的能力都越来越强。最终我们得到了一个效果非常好的G,我们就可以用它来生成我们想要的数据。
GAN的数学推导
生成式对抗网络GAN
http://example.com/2024/08/16/生成式对抗网络GAN/