简介: 前面学到的网络比如CNN、RNN这些都是基于有监督式的学习,训练模型时我们需要输入样本和对应的label,给定损失函数,利用网络来学习数据的模式和特征。那么我们就不禁提出一个想法,有没有一种网络,对于给定的输入,且输入的数据无指定label,通过一个网络对这些数据进行学习,自动得出损失函数,从而学习数据的分布呢?答案肯定是有的,这就是16年非常火热的无监督式的学习下的生成对抗GAN网络,被一些学者认为是20年来机器学习领域最酷的想法。本文只是记录对该网络的个人理解,仅供个人学习和参考。 论文: Generative Adversarial Net(2014) GAN论文集合: 这里 GAN代码集合: 这里 GAN的基本概念: GAN的思想是一种二人零和博弈思想(two-player game),博弈双方的利益之和是一个常数,比如两个人掰手腕,假设总的空间是一定的,你的力气大一点,那你就得到的空间多一点,相应的我的空间就少一点,相反我力气大我就得到的多一点,但有一点是确定的就是,我们两人的总空间是一定的,这就是二人博弈,但是呢总利益是一定的。引申到GAN里面就是可以看成,GAN中有两个这样的博弈者,一个是生成模型(G),一个是判别模型(D),他们各自有各自的功能。 生成模型(伪装者角色):在GAN网络中生成器扮演伪装者角色,我希望生成的数据伪装度特别高