生成对抗网络(GAN)
Generative Adversarial Network
为了无监督学习提出的
伊恩·古德费洛等人于2014年提出
概念
是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。
组成
生成网络 Generator
deconvolutional neural network
生成网络从潜在空间(latent space)中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。
功能:产生模拟输出
目的:则要尽可能地欺骗判别网络
判别网络Discriminator
convolutional neural network
判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。
判别器在这里是一种分类器,用于区分样本的真伪
功能:分辨输入数据是真实还是模拟的
目的:通过不断发现和反馈生成网络产生的模拟数据的不足,促进生成网络优化
最终目的:
使判别网络无法判断生成网络的输出结果是否真实,来达到生成以假乱真样本的目的
生成器判别器与样本示意图
注:图中的黑色虚线表示真实的样本的分布情况,蓝色虚线表示判别器判别概率的分布情况,绿色实线表示生成样本的分布。Z表示噪声, Z 到x 表示通过生成器之后的分布的映射情况。
使D判别器无论何种情况的识别率都趋于0.5
·假钞和警察关系 画家和鉴赏家 写作敌人念作朋友
应用
用于生成以假乱真的图片
时尚和广告——用于生成影片
科学
改善天文图像
三维物体模型
影像游戏
影像游戏改造社区
如何训练
基本流程
要训练k次判别器,再训练生成器
Tips: 因为要先拥有一个好的判别器,使得能够教好地区分出真实样本和生成样本之后,才好更为准确地对生成器进行更新。
训练判别器
使判断器关于input的output值越大越好;使生成器的output与真实差距越来越小
各类GAN及VEN生成效果对比
传统VEN效果稳定但能力有限
GAN的效果range比较大,但可以获得更优的output