CGAN(条件生成-对抗网络)简述教程

一直以来提醒自己说,你要坚持,要坚持,要坚持更新,坚持读paper,要是现在都坚持不下去,还有将近五年该怎么办呐。

所幸,我还是有底线的,在今天抽了一个下午,看了看论文,跑了跑代码,过程谈不上舒服,也谈不上艰辛,但是终究是有收获的。记录一下今天的收获

今天看的这篇论文其实很简单,名字叫《Conditional Generative Adversarial Nets》,简单来说就是条件生成-对抗网络。

那么何为条件,别急,等我慢慢来理理头绪。

有过一些基础的同学想必对于GAN是非常熟悉的,在生成网络领域类,GAN和VAE可谓是一骑绝尘。

(1)简单的说一下GAN

GAN网络呢,他是这么一个原理,我的输入是一个噪声,通过一个随机的噪声,通过一个被称为生成网络的部分,生成一个对象(这里常见的是包含某个对象的image),我们的目标也就是这个随机生成的image。

但是诸位看官,因为你直接输入的是噪声,输出的也只是要求是满足某个要求的图像,所以这个过程,如果单独训练的话,是不是很困难,你没有办法写损失函数,没有办法打标签。。。。。。

聪明的人类于是又想出来,我在后面加上一个判断网络,这个网络的输入包括真实图像和生成图像,判断网络的作用就是希望能够将这个生成图像给判断出来,它的输出是一个输入图像属于真实图像的概率。

然后这两个网络就较上劲儿了,他们通过一种被称为良性竞争的手段,互相帮助,携手共进,于是两人打了个五五开,然后我们就可以发现,生成网络的性能已经没有办法继续提升了。所以最终我们得到了我们需要的生成网络。

行吧,GAN就简述到这里,图什么的我也不是很想弄,想继续了解的同学可以看我的上一篇博客https://blog.csdn.net/weixin_40955254/article/details/81045488

(2)既生GAN,何生VGAN

首先,你要知道,在GAN的时代,它的输入是一个随机的噪声,它的输出是一个服从某个分布的随机图像。

重点是,两个随机。

也就是说,GAN是个随便的人,就像是五六十年代的中国,你随便给点,我啥也没有,我随便干嘛,反正啥都缺,骨子里透露出一种小无助有没有。

生活水平提高了,这个bb事儿也就多了,于是就有朋友提出来了,我不想你随机生成,我要你指哪打哪,比如数字,我要指定几就生成几,比如我不希望你一个网络只能生成各式各样的狗,我还要你生成猫,我还要你出羊驼。。。。。

GAN说:你这莫非是在为难我胖虎

CGAN(条件生成-对抗网络)简述教程_第1张图片

我不行,我儿行呀,于是为了满足人民日益增长的文化物质需求,CGAN出山了。

(3)系列之——终于见大哥CGAN

CGAN(条件生成-对抗网络)简述教程_第2张图片

话不多说,上大图,各位朋友,好好感受一下,他和我们熟知的GAN有什么区别。

对,没错,在Generator以及Descriminator上它都多了一个y标签作为输入。

所以变为,生成器的输入是噪声和标签,输出还是生成图;判别器的输入是生成图,真实图以及标签,输出还是真和假。这个是表面,真正的本质,朋友你看看这个损失函数你就能明白了。

可以看到,无论是D还是G,他们的概率表达都变成了条件概率公式。

也就是说,这个目标函数实在输入为y特定标签的时候成立的,对于不同的标签,可以理解为有不同的目标函数。

也就可以将CGAN理解为一个包含了所有种类个数n的生成器集合

所以这样,通过更改标签,我们可以得倒自己需要的生成图像

也可以用同一个生成网络生成不同的目标

over~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我是钱多多,一个辣鸡的研究僧在读

欢迎大家多多交流指正

原创转载请咨询本人

有代码,需要的可以公众号留言

学术交流可以关注我的公众号,后台留言,粉丝不多,看到必回。卑微小钱在线祈求

你可能感兴趣的:(各种各样的网络,可怕的生成网络系列(GAN,VAE。。。。。),深度学习——旧坛新酒系列)