如何理解GAN神经网络

如何理解GAN神经网络

参考资料:

https://easyai.tech/ai-definition/gan/

https://www.zhihu.com/question/63493495

https://zhuanlan.zhihu.com/p/114838349

https://zh.wikipedia.org/wiki/%E7%94%9F%E6%88%90%E5%AF%B9%E6%8A%97%E7%BD%91%E7%BB%9C


一句话来概括 GAN 的设计动机就是——自动化。

生成对抗网络(GAN)由2个重要的部分构成:

  1. 生成器(Generator):通过机器生成数据(大部分情况下是图像),目的是“骗过”判别器
  2. 判别器(Discriminator):判断这张图像是真实的还是机器生成的,目的是找出生成器做的“假数据”

第一阶段:固定「判别器D」,训练「生成器G」

我们使用一个还 OK 判别器,让一个「生成器G」不断生成“假数据”,然后给这个「判别器D」去判断。

一开始,「生成器G」还很弱,所以很容易被揪出来。

但是随着不断的训练,「生成器G」技能不断提升,最终骗过了「判别器D」。

到了这个时候,「判别器D」基本属于瞎猜的状态,判断是否为假数据的概率为50%。


2个缺陷

  1. 难训练,不稳定。生成器和判别器之间需要很好的同步,但是在实际训练中很容易D收敛,G发散。D/G 的训练需要精心的设计。

  2. 模式缺失(Mode Collapse)问题。GANs的学习过程可能出现模式缺失,生成器开始退化,总是生成同样的样本点,无法继续学习。


GAN网络能够用在CV上的pain assessment上吗?

我的感觉是,没太大必要。为啥呢?

1、GAN其实就是一种左脚踩右脚,螺旋上升的模型;

2、在使用的时候,要不选择Generator或者Discriminator;

前者可以用在制造“伪钞”,适用于生成式任务,后者用来鉴别“伪钞”,适合判别式任务。在我们的任务中,应该使用后者,但是,我们的训练数据集呢,又不少所以没有必要再去训练一个Generator了。

你可能感兴趣的:(经验分享)