TensorFlow从1到2(十二)生成对抗网络GAN和图片自动生成
生成对抗网络的概念 上一篇中介绍的VAE自动编码器具备了一定程度的创造特征,能够“无中生有”的由一组随机数向量生成手写字符的图片。 这个“创造能力”我们在模型中分为编码器和解码器两个部分。其能力来源实际上是大量样本经过学习编码后,在数字层面对编码结果进行微调,再解码生成图片的过程。所生成的图片,是对原样本图的某种变形模仿。 今天的要介绍的生成对抗网络(GAN)也具备很类似的功能,所建立的模型,能够生成非常接近样本图片的结果。 相对于VAE,生成对抗网络GAN更接近一种思想,并非针对机器视觉领域,而是一种很通用的机器学习理念。 让我们用一个例子来理解生成对抗网络: 比如我们想学习英语朗读。一开始,我们的朗读能力肯定很差,每次考试都是不及格。这时候,我们会努力的学习。当然人的学习是通过各种可能手段,听录音、看视频、找外教。学习一段时间后,再去参加考试,如果成绩依然很差,我们回来继续学习。一直到我们得到了一个自己满意的成绩。 这个例子中有几个重要的因素:学习者本人就是机器学习中的神经网络,负责生成某个结果,比如朗读;考官负责判断我们朗读的英语是否达到了水平要求。考官实际也是一个网络模型,本身并不能知道什么样的朗读叫好,什么样的朗读叫差,其判断依据来自于对“好的朗读”样本的学习;学习者不断学习提高的过程,这个就相当于网络模型不断的训练迭代。 回到我们的图片生成过程。图片生成是一个模型