学习笔记_01生成对抗网络(GANs)

来源:互联网 发布:js时间计算 编辑:程序博客网 时间:2024/06/05 15:29

本人初学关于GAN的相关知识,该博客作为整理自己学习的一个平台博客内容仅代表个人观点,如果有什么错误的地方还请各位指教,谢谢!
01发展起源
GANs(Generative Adversarial Networks)生成对抗网络,其发展的具体过程为:(1)14年,论文Generative Adversarial Nets发表 以来,生成式对抗网络 GAN 广受关注。(2)Conditional Generative Adversarial Nets(3)Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks。简要概括为:受博弈论中的二人零和博弈的启发,GAN中博弈的双方为生成器模型(Generative model)和判别器模型(discriminative model).生成模型 G 捕捉样本数据的分布,用服从某一分布(均匀分布,高斯分布等)的噪声 z 生成一个类似真实训练数据的样本,追求效果是越像真实样本越好;判别模型 D 是一个二分类器,估计一个样本来自于训练数据(而非生成数据)的概率,如果样本来自于真实的训练数据,D 输出大概率,否则,D 输出小概率。可以做如下类比:生成网络 G 好比假币制造团伙,专门制造假币,判别网络 D 好比警察,专门检测使用的货币是真币还是假币,G 的目标是想方设法生成和真币一样的货币,使得 D 判别不出来,D 的目标是想方设法检测出来 G 生成的假币。
02基本原理
GAN网络架构图
在训练的过程中固定一方,更新另一方的网络权重,交替迭代,在这个过程中,双方都极力优化自己的网络,从而形成竞争对抗,直到双方达到一个动态的平衡(纳什均衡),此时生成模型 G 恢复了训练数据的分布(造出了和真实数据一模一样的样本),判别模型再也判别不出来结果,准确率为 50%,约等于乱猜。

上述过程可以表述为如下公式:
这里写图片描述
当固定生成网络 G 的时候,对于判别网络 D 的优化,可以这样理解:输入来自于真实数据,D 优化网络结构使自己输出 1,输入来自于生成数据,D 优化网络结构使自己输出 0;当固定判别网络 D 的时候,G 优化自己的网络使自己输出尽可能和真实数据一样的样本,并且使得生成的样本经过 D 的判别之后,D 输出高概率。具体解释为D(x)表示判别器判别输入的为真的概率,E表示数据的分布概率。(可以用信息熵来理解,信息熵中一段信息不确定性越大,表示所含的信息量多。例如一个人告诉另一个人说他中了500万,则这时信息量很大,原因在于中500万的概率非常低(设为1/50000),而他已经中了奖表示确定的事情,信息熵为1*log(1/50000))
03应用_DCGAN深度卷积
简单解释为由小到大逐步产生生成器,判别器则为由大到小。具体详细的介绍,还需要继续学习CNN再补充、
04实际应用
本人主要从事图像处理的学习,具体应用都与图像相关。
(1)由低分辨率通过GAN得到高分辨率图像。
(2)进行图像复原

原创粉丝点击