来自 澳门 2018-1-20 的文章

机器不学习:深度学习实战-深度卷积对抗生成网络

机器不学习:深度学习实战-深度卷积对抗生成网络

生成式对抗网络(GANs)的概念在四年前由Ian Goodfellow创造。古德费洛(Goodfellow)认为鉴别器(Discriminator)是艺术评论家而相对的艺术家则是生成器(Generator),它们两个就组成了GAN。艺术评论家(Discriminator)看着一幅图像,试图确定它是真的还是伪造的。一个想欺骗艺术评论家的艺术家(Generator)试图制造一个看起来尽可能真实的伪造图像。这两种模式相互“战斗” ,鉴别器使用生成器的输出作为训练数据,并且生成器也可以从鉴别器获得反馈。在这个过程中,我们想要的模型正在变得更强大,GAN也可以基于一定数量的已知输入数据(在这种情况下是图像)生成新的复杂数据。创建一个GAN可能听起来很困难,但,在本教程中,我们将使用TensorFlow来构建一个简单的能够生成人脸图像的GAN。1.深度卷积对抗生成网络(DCGAN)的架构在本教程中,我们不是试图模仿简单的数字数据,而是我们试图模仿一个图像,甚至它可以去欺骗一个人。生成器将随机生成的噪声向量作为输入数据,然后使用称为反卷积的技术将数据转换为图像。鉴别器是经典的卷积神经网络,其分类真实和假图像。我们将使用原来的非深度卷积生成对抗网络的无监督表示学习的DCGAN体系结构,它由四个卷积层作为鉴别器,四个解卷积层(反卷积层)作为发生器。2.创建请在GitHub上访问本教程的代码和Jupyter Notebook。所有的指令都在GitHub仓库的README文件中。一个帮手指令将自动为你下载CelebA数据集,让你快速启动并运行。在这个过程中一定要安装matplotlib才能看到真正的图像和另外一定要下载数据集。如果你不想自己安装它,存储库中将包含一个Docker映像。3.CelebA数据集