当前位置:   article > 正文

GAN--生成对抗网络的原理详解、以及在半监督语义分割任务中的应用方法总结(小白也能懂~)_生成对抗网络gan;语义分割

生成对抗网络gan;语义分割

1.理解GAN

1.GAN(Generative Adversarial Networks)
其主要组成部分包括:

  • 生成器G(generator)
  • 判别器D(discriminator)
    在这里插入图片描述
    先给大家讲一下对这个图的理解:
    z看作一个随机向量,通过输入生成器G得到输出X_fake,将X_fake(生成样本)和X_real(真实样本)输入到判别器D中,判别器通过判断输入的样本是真实的还是生成的。生成器G希望生成的样本X_fake使判别器D判别为真实样本,但是判别器D希望能够判别出生成器G生成的样本是X_fake,这样生成器和判别器就形成了一个对抗,因此叫生成对抗网络。
    其中对生成样本和真实样本的简单解释:通过人脸图像举例来说,真实样本就是真实存在的一个人的人脸,他有身份信息的。通过优化的生成样本则是看起来和真人一样,但是他不存在这个世界,没有身份信息。

GAN网络最初的训练目的:
希望生成器G,能够学到样本的真实分布P_data(x),那么G就能生成之前不存在的但是又很真实的样本,来扩大数据量。如图:
z是一个随机向量,满足任意分布,通过输入生成器G得到输出x,我们希望x的分布和真实分布P_data(x)接近,所以通过调整生成器G的参数来满足这一条件。
在这里插入图片描述
下图通过具体举例来说明:
最上面的P_data(x):代表了真实数据图像;
1.将z输入到最初的生成器G,得到的输出的是一个杂乱的噪声图像;
2.然后通过不断调整生成器G的参数,最终得到的输出越来越逼近真实数据分布。
在这里插入图片描述
那么现在知道了生成器G的作用,是通过对生成器的参数不断优化更新,使得输入的随机向量的输出与真实样本分布相似。但是问题是如何进行参数更新的呢?

在这里插入图片描述
其中GAN最核心的公式如上图:
就是通过minmaxV(D,G)来进行参数更新。
1代表真实样本,0代表生成样本
生成器和判别器的训练是分开的:

  1. 首先固定住生成器,训练判别器,提高判别器的判别能力,能够将真实样本判别为1,将生成样本判别为0;
  2. 再固定住判别器,训练生成器,提高生成器的生成能力,能够将生成样本的分布逼近真实样本的分布。

至于为什么经过minmaxV(D,G)这个公式能够使生成样本分布与真实样本分布近似,通过公式的拆解变化最终可以简化为一个常量加上一个JS散度。即下式:
在这里插入图片描述
JS散度就是当P_data和P_G相等时最小,因此通过优化minmaxV(D,G)该公式最终就会得到P_data与P_G相等。即生成样本与真实样本无限逼近。
(minmaxV(D,G)该公式的拆解展开比较复杂,这里就省略了,感兴趣的可以留言)

2.GAN在半监督语义分割任务中的应用

文献:A Survey on Semi-Supervised Semantic Segmentation
GAN在语义分割中的应用在该文献中已经讲的很明白,我就简单讲一下我的理解,其本质和GAN的原理一样:
分为两种框架:
生成方法和非生成方法

  • 生成方法:
    在这里插入图片描述
    该方法将判别器用分割网络代替
    其中分割网络输出的c1,c2,…ck,c_fake,为对输出图像的每个像素进行分类,k为一共的类别个数,比如做一个二分类的语义分割则k为2。c_fake为生成类:生成器生成的样本。
    这里的生成器和判别器的损失函数分别为:
    在这里插入图片描述

鉴别器损失函数LD由三个项组成:
当模型将真实样本标记为伪造样本时,第一项会对其进行惩罚
当模型将假样本标记为真样本时,第二项会惩罚模型
最后一项是监督分量,它试图强制对相应类中标记集的每个像素进行正确分类。γ是训练过程中监督的权重。
生成器损失函数LG
即鉴别器损失的第二项,取了个负号。

补充:
有些人可能会对这里的正负号产生疑问,前面在讲GAN的时候V(D,G)公式里面都是正号,怎么到这里成负号了。这里把GAN的核心公式和上面的损失函数放在一起讲解:
在这里插入图片描述
先看核心公式,①训练判别器时需要最大化V(D,G)即maxV(D,G),那么放在语义分割任务里面损失函数时,就应该加上负号,因为网络训练时通常时使损失函数越来越小。加上负号时通过最小化损失函数即最大化V(D,G)。
再看②,生成器的训练需要最小化V(D,G),则和损失函数的目的相同,因此为正值。

  • 非生成方法:
    在这里插入图片描述
    该方法将生成器用分割网络代替
    其中将标签图像和无标签图像输入到分割网络,将分割网络的输出送到判别器来进行判别。这里可以将标签图像看作是真实样本,五标签图像看作是假样本。
    这里的生成器和判别器的损失函数分别为:
    鉴别器损失函数LD由两项组成:
    和GAN的核心公式一样,因为当作损失函数因此加上负号。
    在这里插入图片描述

分割网络损失函数Lseg由三项组成
第一项是由交叉熵损失函数形成的监督分量Lsup。
第二项是对抗分量Ladv,其惩罚D检测到由分割网络生成的分割图的情况。
第三项Lsemi考虑其分割超过置信阈值T的未标记图像。λadv和λsemi是对其各自项的使用进行加权的参数。
在这里插入图片描述

总结

这里主要给出的是一些框架,重在理解GAN的原理,以及在半监督语义分割任务中如何使用的思路。具体应用有许多相关论文。后续会进行更新讲解。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/415271
推荐阅读
相关标签
  

闽ICP备14008679号