GAN模型的挑战及训练效果提升方法

生成对抗网络(GAN)及其变种已经成为最近十年以来机器学习领域最为重要的思想。--2018图灵奖得主 Yann LeCun

 

1、GAN模型的挑战

1.1启动及初始化问题

GAN的训练过程可以看做是一个生成网络和鉴别网络相互博弈的过程,最终达到一个如果对方不改变就无法进一步达到提升的状态。同时梯度下降法的启动会选择一个减小所定义的损失的方向,这个方向不一定最终使得GAN达到纳什均衡的状态,这是一个高维度的非凸优化目标。网络试图在接下来的步骤中最小化非凸优化目标,这最终有可能进入振荡。而且理想情况下,我们希望两个网络可以以相同的速率进行改善,但实际上两个网络的学习效率是不一样的,通常做法是故意停止某个网络的学习过程或降低学习率,使得另一个网络可以跟得上。

1.2模型坍塌

模型坍塌是指生成器坍塌到了一个极狭小的分布内,生成的样本不在变化。通俗来说就是生成器在某种情况下重复生成完全一致的图像。这就与博弈论中的启动相关了。如果在生成器最小化之前,判别器已经完全最大化(这里的最小化和最大化是指生成网络和鉴别网络是同一个损失函数,但是他们的目标不同,生成网络需要最小化损失函数,鉴别网络需要最大化损失函数),这样所有工作还能进行;但是如果先最小化了生成器,接下来再尝试最大化鉴别器,这样网络是训练不成功的。原因在于若刚开始变保持鉴别器落后于生成器,鉴别器会错误的将空间中某些点标记为最有可能是真的而不是 假的,这样生成器就会选择将所有噪声输入映射到最可能为真的点。

1.3模型计数、角度、全局结构等方面问题

模型计数上,GAN在某些情况下有太多的视角,从而错误的判断物体在特定位置应该出现的数量,比如在动物头上生成多只眼睛。

角度方面,GAN通常不能很好地区分图像是从前面观测的结果还是从后面观测的结果。

全局结构方面,GAN无法理解全局方面的结构。

1.4评估收敛指标

现在没有一个很好地指标可以告诉我们生成器的损失和判别器的损失是否收敛

2、提升GAN模型训练效果的方法

2.1特征匹配

利用判别器中间层的特征来匹配图像真伪,并将其作为一个监督信号训练生成器。如此一来训练生成器的生成数据会匹配真实数据的统计特性以及判别器中间层的预期特征值。在训练判别器过程中,让判别器去寻找最能判别真实数据的特征而非当前模型生成数据的特征。对于鉴别器来说他的主要任务就是鉴别生成图像真伪,那么在鉴别训练的过程中可以有两种方式实现,一种是通过学习标记真实数据的特征来识别生成图像;另一种是其学习到了生成数据的特征分布并以此作为其判别的依据;显然前者才是我们想要的。

2.2小批量

通过给判别器加入额外特征的方法解决模型坍塌的问题,这样判别器每次考虑一小批的样本而不是一个单独的样本。小批量的方法可以保证不同样本之间再空间上有合适的距离

2.3历史平均

主要思想就是加入一个惩罚项来惩罚那些和历史平均权重相差过多的权重值。

2.4单侧标签平滑

通常情况下,使用标签“0”代表图像是真实的,使用标签“1”认为图像是伪造的,将其改为更为平滑的标签,比如0.1与0.9等,可以使得网络在一些对抗的例子中更健壮。

2.5输入规范化

大多数情况下最好将图像规范化到 -1~1范围之间并使用tanh作为生成器最后一层的激活函数;

2.6批规范化

核心思想是针对真实数据和生成数据构建不同的小批,每一个小批只能全部是生成数据或者是真实数据。

2.7利用ReLu和MaxPool避免稀疏梯度

如果梯度稀疏,会使得GAN博弈的稳定性受到很大的影响,Leaky ReLu对生成器和判别器都有很大帮助。

2.8优化器和噪声

针对生成器采用ADAM作为优化器,对于判别器使用SGD作为优化器,并通过在生成器的不同层中去除输入来作为噪声的来源。

 

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GAN(生成对抗网络)是一种机器学习模型,由生成器和判别器两个部分组成。生成器的目标是产生与真实数据尽可能相似的新数据样本,而判别器的目标是识别出生成器生成的数据与真实数据之间的差异。 GAN通过让生成器和判别器相互对抗的方式进行训练。在训练过程中,生成器通过生成尽可能逼真的样本来欺骗判别器,而判别器则通过尽可能准确地区分生成器生成的样本和真实样本来防止被欺骗。随着训练的进行,生成器逐渐提高其生成样本的逼真度,而判别器逐渐提高其识别真伪的准确度。 GAN在许多领域有着广泛的应用。例如,在计算机视觉中,GAN可以用于生成逼真的图像,甚至能够生成与真实世界几乎无法区分的图像。此外,GAN还可以用于图像超分辨率、图像修复、图像生成等任务。在自然语言处理领域,GAN可以用于生成与真实文本相似的新文本,提升机器翻译质量等。 然而,GAN也面临一些挑战。例如,GAN训练过程相对不稳定,有时生成的样本可能缺乏多样性,或者与真实数据的差异较大。此外,GAN训练需要大量的计算资源和时间。 总的来说,GAN是一种强大的生成模型,可以生成逼真的样本,并在多个领域中发挥重要作用。随着技术的不断进步,GAN将在人工智能领域继续发展,为我们带来更多应用和创新。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值