什么是生成对抗网络gan,什么是生成对抗网络?工作原理是什么?
chanong
|生成模型和判别模型
在讨论生成对抗网络之前,我们需要澄清两个概念:生成模型和判别模型。
所谓生成网络是指构建生成模型的神经网络,同样判别网络是指构建判别模型的神经网络。
机器学**/深度学**模型的主要任务之一是根据某事物的属性(X)来预测其标签(Y)。生成模型和判别模型都可以完成这个任务,但具体方法有所不同。
生成模型求X 与不同Y 和Yi 之间的联合概率P(Y1,X)、P(Y2,X)、P(Y2,X)、P(Yn,X),其中有加入的最高概率作为预测结果。
判别模型找到以X 为条件的Y 的条件概率:P(Y|X),并直接获得特定P(Y|X) 的结果。以此作为预测。
生成对抗网络(GAN)
那么什么是生成对抗网络?
简单来说,生成对抗网络是Goodfellow 等人在2014 年提出的一种无监督学**方法。
该方法通过两个网络——的相互限制来实现学**过程:生成网络——和鉴别器网络——。
生成对抗网络的生成网络G和判别网络D分别对假币团伙和警察可见,——G努力让假币更接近真实货币,D努力区分假币和真实货币。
通过G和D的对抗,最终两个模型的准确率都有所提高。
生成对抗网络结构
下图展示了一个用于手写数字生成的独特的GAN 网络结构,由生成器和判别器组成。
生成器用于从噪声中生成手写数字的图像,鉴别器尝试将训练集中的图像与生成器生成的假图像区分开。
可以证明,如果网络足够强大,生成器最终会产生与训练集具有相同特征的图像。具体训练步骤如下(来自原论文中的伪代码):
for num_of_training_iterations: for k_steps: #k这里是一个超参数,代表每次迭代优化分类器的次数。从训练集中随机选择m张图像并随机选择(生成)m张噪声图像来更新分类器参数(正常神经网络训练过程)交叉熵误差函数或概率随机选择m张噪声图像来更新生成器的参数(例如梯度下降)。事实上,在GAN论文中,主要思想是使用生成器和判别器来相互约束,而不是详细的模型结构,上面的训练方法只是一个示例,并不需要生成器和判别器应用于网络。
生成对抗网络的优点和缺点
GAN的优点和缺点可以总结如下。
缺点:
1.网络自由度太多,训练困难;2.两个模型分别更新,导致两个模型之间存在同步问题,如果一个模型训练得太快,另一个模型会影响训练。支持者:
1.仅使用反向传播即可完成训练,不使用马尔可夫链进行训练。 2. GAN可以与大多数现有的生成网络算法结合使用,以提高性能。从实际应用的角度来看,训练模型的难度是困扰许多研究者的最大问题。然而,自从提出GAN 的论文(2014)发表以来,众多的GAN 改进技术被提出来更好地解决GAN 中存在的问题,并且图像生成任务已经达到了商业适用的成熟度。
生成对抗网络的主要应用
我之前提到过生成对抗网络。经过几年的研究,已经相对成熟,现已投入商用。以下是一些著名的开源应用程序的示例。
zi2zi:基于pix2pixiGAN的转换中文字体的应用程序:我叫他马良。 Adobe 和Berkeley 联合发布的图像增强网络,可让您从简单的绘图生成高度逼真的图像。 Domain-transfer-network: 感觉和CNN的风格迁移类似,实现的功能也和人脸可爱程度类似,可以从真实头像生成卡通头像。neural-enhance: 低分辨率图像转换转化为高分辨率图像,以后可以处理成图像用于各种游戏和电影中,大大降低了重制成本。 Deepfake:是前段时间引起轰动的一款可以给视频换脸的现象级应用,并且在很多应用场景中都有很多类似的应用,效果都不错。我个人觉得GAN是一个非常有前途的领域。