GAN——学习笔记

GAN 算法思想

刚看了GAN 的算法,在此推荐一篇博客,感觉讲得很清晰:
https://blog.csdn.net/on2way/article/details/72773771
在此记录一下,并以自己的理解再回忆一下GAN的思想。
引用博客中的图片
这里写图片描述

GAN简介

GAN全称生成对抗网络,由生成模型和判别模型组成,而这两个模型都是神经网络,故称为生成对抗网络。如图,左边的网络为生成网络,将一组数据输入,输出为一个制造的样本,右边为判别网络,根据输入的样本,判断为真实样本,还是生成网络制造的假样本。
于是,这两个网络就形成一个博弈,生成网络要做到生成的样本尽可能真实,让判别网络发现不了这是假样本,而判别网络要尽可能准确地区分真实样本和生成样本,最终达到一个平衡,至于怎样的平衡,就是看设计模型的需求了。
比如图中的场景,是需要生成网络生成尽可能真实的人脸样本,于是最终的平衡就希望是:判别网络无法区分真实图片和生成图片,即每个样本输出都为0.5。

模型训练

再次引用博客的图片,这是两个独立的神经网络,故训练应该分开单独训练。还是生成图片的例子:
1,首先训练判别网络,
将生成网络得到的样本集全部标注为0,将真实样本集全部标注为1,这样就得到了判别网络的训练集,判别网络就相当于一个有监督的二分类模型,经过训练即可得到较为准确的模型参数;
2,再训练生成网络,这次将生成的图片也标注为1,然后通过判别网络,根据差值修改生成网络的参数,并且保持判别网络参数不变。
3,重复上述1,2步骤,可使得生成网络生成的图片与真实样本无大差别。

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_34806485/article/details/81192961