目录
1.GAN网络介绍
2.原始GAN的问题
3.GAN网络训练技巧
1.GAN的介绍
Generative Adversarial Network简称GAN网络,是一种通过训练,使判别器(Generator)和生成器(Discriminator)达到一种平衡状态。
下面通过具体的网络结构,介绍GAN网络的训练过程。
如图所示为一个基因补全的一个GAN网络,输入为有缺失的基因,通过Generator生成完整的基因序列;然后,Discriminator将真实的完整基因序列和Generator生成的完整基因序列进行区分。在训练的过程中,Generator的目的是生成尽可能真实完整的基因序列,去“欺骗”Discriminator;而Discriminator的目的是区分真实的完整基因序列和生成器生成的完整序列。最终Generator和Discriminator达到一个稳定的“博弈”的过程。
为达到上述目的,在训练时,相当于训练两个神经网络,第一个神经网络由Generator和Discriminator构成。网络的输入只有缺失的基因数据,输出为Discriminator判断的结果(是否是真实完成基因数据)。首先将输入的缺失基因序列通过Generator,得到完整的基因序列;然后输入到Discriminator,由于Generator的目的是“欺骗”Discriminator,所以给Generator生成的完整基因赋予真实标签(1),利用真实标签去训练Discriminator。在训练时,需要固定Discriminator的参数,只更新Generator的参数,
第二个神经网络只由Discriminator构成,网络的输入为真实完整基因序列和Generator生成的完整基因序列。训练Discriminator相当于训练一个二分类的神经网络,将真实完整基因序列赋予真实标签(1),Generator生成的完整基因序列赋予假标签(0),利用这些标签训练Discriminator,将真实完整基因序列与Generator生成的基因序列加以区分。
将两个网络分别轮流训练。
对于一个训练好的GAN网络,使用时只需要使用Generator,对于给定的缺失基因数据,输入Generator,得到完整的基因序列结果。对于其他任务,如图像修复、图像去噪、图像超分辨率等按照同样的GAN网络结构,可以实现。对于图像修复,缺失图像相当于缺失的基因序列,完整图像相当于真实完整基因序列;对于图像去噪,噪声图像相当于缺失的基因序列,无噪声图像相当于真实完整基因序列;对于图像超分辨率,低分辨率图像相当于缺失的基因序列,高分辨率图像相当于真实完整基因序列。
2.原始GAN的问题
对于原始GAN网络,最大的问题是Generator和Discriminator很难找到它们的稳定“博弈”状态。见到那理解的话,由于训练Discriminator时其实相当于一个二分类的分类器,训练这样的一个分类任务很容易就能达到最佳,但是Generator生成完整基因序列很难达到,很难在Generator和Discriminator之间找到一个稳定的“博弈过程”。如果使用W-GAN可以有效避免GAN网络难以训练的问题。
具体的训练原始GAN网络的问题,数学原理请看https://www.cnblogs.com/Allen-rg/p/10305125.html。
3.GAN网络训练技巧
https://www.sohu.com/a/200968981_473283
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:生成对抗网络(GAN)详解,应用及原理 - Python技术站