首先讲一下GAN 的原理是什么,我们首先是要看一下生成器
生成,就像机器看了一大堆诗生成一段诗,看了很多动画漫画生成漫画一样,有什么方法可以帮助我们做到这样的事情呢??
我们可以训练一个Auto_encoder,其做的事情是我们有一个NN的encoder,把一张image丢到NN的encoder,让其变为code,有一个NN的decoder,把code丢到NN的DECODER里,其变回了一张image.
在训练的时候EN和de是一起训练的,我们希望其input和output越接近越好。学好这个Auto_encoder以后呢,我们可以把decoder拿出来给她一个code,这个code只要是一个Randomly generate a vector 随机生成向量,l理论上就可以产生一张image
举例来说:在那个手写数字mnint数据集上训练一个Auto_encoder,
以下是真实的实验结果,输入给decoder[1.5,0]这个向量,把这个向量丢到input里面其output就是0,[1.5,0]这个向量丢到input里其output就是1,如果在x轴是[-1.5,1.5],y轴在是[-1.5,1.5]之间等距做样本的话,会像是下一张ppt的样子。
横轴带包从圈圈到一竖的变化过程,数轴代表数字的角度。