0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

GAN应用缺陷的解决方法分享

电子工程师 来源:陈翠 2019-02-22 09:44 次阅读

尽管 GAN 领域的进步令人印象深刻,但其在应用过程中仍然存在一些困难。本文梳理了 GAN 在应用过程中存在的一些难题,并提出了最新的解决方法。

使用 GAN 的缺陷

众所周知,GAN 是由 Generator 生成网络和 Discriminator 判别网络组成的。

1. Modecollapse(模型奔溃)

注:Mode collapse 是指 GAN 生成的样本单一,其认为满足某一分布的结果为 true,其他为 False,导致以上结果。

自然数据分布是非常复杂,且是多峰值的(multimodal)。也就是说数据分布有很多的峰值(peak)或众数(mode)。每个 mode 都表示相似数据样本的聚集,但与其他 mode 是不同的。

在 modecollapse 过程中,生成网络 G 会生成属于有限集 mode 的样本。当 G 认为可以在单个 mode 上欺骗判别网络 D 时,G 就会生成该 mode 外的样本。

GAN应用缺陷的解决方法分享

上图表示 GAN 的输出没有 mode collapse. 下图则出现了 mode collapse。

判别网络最后会判别来自该 mode 的样本是假的。最后,生成网络 G 会简单地锁定到另一个 mode。该循环会无限进行,就会限制生成样本的多样性。

2. Convergence(收敛)

GAN 训练过程中遇到的一个问题是什么时候停止训练?因为判别网络 D 损失降级会改善生成网络 G 的损失(反之亦然),因此无法根据损失函数的值来判断收敛,如下图所示:

GAN应用缺陷的解决方法分享

典型的GAN损失函数图。注意该如何从这个图中解释收敛性。

3. Quality(质量)

与前面提到的收敛问题一样,很难量化地判断生成网络 G 什么时候会生成高质量的样本。另外,在损失函数中加入感知正则化则在一定程度上可缓解该问题。

4. Metrics(度量)

GAN 的目标函数解释了生成网络 G 或 判别网络 D 如何根据组件来执行,但它却不表示输出的质量和多样性。因此,需要许多不同的度量指标来进行衡量。

改善性能的技术

下面总结了一些可以使 GAN 更加稳定使用的技术。

1. Alternative Loss Functions (替代损失函数)

修复 GAN 缺陷的最流行的补丁是 Wasserstein GAN (https://arxiv.org/pdf/1701.07875.pdf)。该 GAN 用 Earth Mover distance( Wasserstein-1 distance 或 EM distance) 来替换传统 GAN 的 Jensen Shannon divergence ( J-S 散度)。EM 距离的原始形式很难理解,因此使用了双重形式。这需要判别网络是 1-Lipschitz,通过修改判别网络的权重来维护。

使用 Earth Mover distance 的优势在于即使真实的生成数据分布是不相交的,它也是连续的。同时,在生成的图像质量和损失值之间存在一定关系。使用 Earth Mover distance 的劣势在于对于每个生成模型 G 都要执行许多判别网络 D 的更新。而且,研究人员认为权重修改是确保 1-Lipschitz 限制的极端方式。

GAN应用缺陷的解决方法分享

左图中 earth mover distance 是连续的, 即便其分布并不连续, 这不同于优图中的 the Jensen Shannon divergence。

另一个解决方案是使用均方损失( mean squared loss )替代对数损失( log loss )。LSGAN (https://arxiv.org/abs/1611.04076)的作者认为传统 GAN 损失函数并不会使收集的数据分布接近于真实数据分布。

原来 GAN 损失函数中的对数损失并不影响生成数据与决策边界(decision boundary)的距离。另一方面,LSGAN 也会对距离决策边界较远的样本进行惩罚,使生成的数据分布与真实数据分布更加靠近,这是通过将均方损失替换为对数损失来完成的。

2. Two Timescale Update Rule(TTUR)

在 TTUR 方法中,研究人员对判别网络 D 和生成网络 G 使用不同的学习速度。低速更新规则用于生成网络 G ,判别网络 D使用 高速更新规则。使用 TTUR 方法,研究人员可以让生成网络 G 和判别网络 D 以 1:1 的速度更新。 SAGAN (https://arxiv.org/abs/1805.08318) 就使用了 TTUR 方法。

3. GradientPenalty (梯度惩罚)

论文Improved Training of WGANs(https://arxiv.org/abs/1704.00028)中,作者称权重修改会导致优化问题。权重修改会迫使神经网络学习学习更简单的相似(simpler approximations)达到最优数据分布,导致结果质量不高。同时如果 WGAN 超参数设置不合理,权重修改可能会出现梯度消失或梯度爆炸的问题,论文作者在损失函数中加入了一个简单的梯度惩罚机制以缓解该问题。

GAN应用缺陷的解决方法分享

加入 GradientPenalty 作为正则化器

DRAGAN (https://arxiv.org/abs/1705.07215)的作者称,当 GAN 的博弈达到一个局部平衡态(local equilibrium state),就会出现 mode collapse 的问题。而且判别网络 D 在这种状态下产生的梯度是非常陡(sharp)的。一般来说,使用梯度惩罚机制可以帮助避免这种状态的产生,极大增强 GAN 的稳定性,尽可能减少 mode collapse 问题的产生。

4. Spectral Normalization(谱归一化)

Spectral normalization 是用在判别网络 D 来增强训练过程的权重正态化技术 (weight normalization technique),可以确保判别网络 D 是 K-Lipschitz 连续的。SAGAN(https://arxiv.org/abs/1805.08318)这样的实现也在判别网络 D 上使用了谱正则化。而且该方法在计算上要比梯度惩罚方法更加高效。

5. Unrolling andPacking (展开和打包)

文章 Mode collapse in GANs(http://aiden.nibali.org/blog/2017-01-18-mode-collapse-gans/)中提到一种预防 mode hopping 的方法就是在更新参数时进行预期对抗(anticipate counterplay)。展开的 GAN ( Unrolled GANs )可以使用生成网络 G 欺骗判别网络 D,然后判别网络 D 就有机会进行响应。

另一种预防 mode collapse 的方式就是把多个属于同一类的样本进行打包,然后传递给判别网络 D 。PacGAN (https://arxiv.org/abs/1712.04086)就融入了该方法,并证明可以减少 mode collapse 的发生。

6. 多个 GAN

一个 GAN 可能不足以有效地处理任务,因此研究人员提出使用多个连续的 GAN ,每个 GAN 解决任务中的一些简单问题。比如,FashionGAN(https://www.cs.toronto.edu/~urtasun/publications/zhu_etal_iccv17.pdf)就使用 2 个 GAN 来执行图像定位翻译。

GAN应用缺陷的解决方法分享

FashionGAN 使用两个 GANs 进行图像定位翻译。

因此,可以让 GAN 慢慢地解决更难的问题。比如 Progressive GANs (ProGANs,https://arxiv.org/abs/1710.10196) 就可以生成分辨率极高的高质量图像。

7. Relativistic GANs(相对生成对抗网络)

传统的 GAN 会测量生成数据为真的可能性。Relativistic GANs 则会测量生成数据“逼真”的可能性。研究人员可以使用相对距离测量方法(appropriate distance measure)来测量相对真实性(relative realism),相关论文链接:https://arxiv.org/abs/1807.00734。

GAN应用缺陷的解决方法分享

图 A 表示 JS 散度的最优解,图 B 表示使用标准 GAN 损失时判别网络 D 的输出,图 C 表示输出曲线的实际图。

在论文中,作者提到判别网络 D 达到最优状态时,D 的输出应该聚集到 0.5。但传统的 GAN 训练算法会让判别网络 D 对图像输出“真实”(real,1)的可能性,这会限制判别网络 D 达到最优性能。不过这种方法可以很好地解决这个问题,并得到不错的结果。

经过 5000 次迭代后,标准 GAN (左)和相对 GAN (右)的输出。

8. Self Attention Mechanism(自注意力机制)

Self Attention GANs(https://arxiv.org/abs/1805.08318)作者称用于生成图像的卷积会关注本地传播的信息。也就是说,由于限制性接收域这会错过广泛传播关系。

GAN应用缺陷的解决方法分享

将 attention map (在黄色框中计算)添加到标准卷积操作中。

Self-Attention Generative Adversarial Network 允许图像生成任务中使用注意力驱动的、长距依赖的模型。自注意力机制是对正常卷积操作的补充,全局信息(长距依赖)会用于生成更高质量的图像,而用来忽略注意力机制的神经网络会考虑注意力机制和正常的卷积。(相关论文链接:https://arxiv.org/pdf/1805.08318.pdf)。

使用红点标记的可视化 attention map。

9. 其他技术

其他可以用来改善 GAN 训练过程的技术包括:

特征匹配

Mini Batch Discrimination(小批量判别)

历史平均值

One-sided Label Smoothing(单侧标签平滑)

Virtual Batch Normalization(虚拟批量正态化)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • GaN
    GaN
    +关注

    关注

    19

    文章

    1755

    浏览量

    67605
  • Model
    +关注

    关注

    0

    文章

    318

    浏览量

    24783

原文标题:GAN性能不稳?这九大技术可“镇住”四类缺陷

文章出处:【微信号:rgznai100,微信公众号:rgznai100】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    分析电源电感发热解决方法

    电子发烧友网站提供《分析电源电感发热解决方法.docx》资料免费下载
    发表于 03-29 14:39 2次下载

    EMI电磁干扰:原理、影响及解决方法详解?

    EMI电磁干扰:原理、影响及解决方法详解?|深圳比创达电子
    的头像 发表于 03-21 10:02 201次阅读
    EMI电磁干扰:原理、影响及<b class='flag-5'>解决方法</b>详解?

    基于深度学习的芯片缺陷检测梳理分析

    虽然表面缺陷检测技术已经不断从学术研究走向成熟的工业应用,但是依然有一些需要解决的问题。基于以上分析可以发现,由于芯片表面缺陷的独特性质,通用目标检测算法不适合直接应用于芯片表面缺陷检测任务,需要提出新的
    发表于 02-25 14:30 266次阅读
    基于深度学习的芯片<b class='flag-5'>缺陷</b>检测梳理分析

    PCB压合问题解决方法

    PCB压合问题解决方法
    的头像 发表于 01-05 10:32 309次阅读

    三相电缺相的原因及解决方法

    三相电缺相的原因及解决方法 三相电缺相是指三相供电系统中某一相或多相出现故障或中断的情况。常见的缺相原因包括线路故障、设备故障、接线错误、过载等,解决方法则包括检查和修复故障线路或设备、调整电路连接
    的头像 发表于 12-11 17:16 7346次阅读

    晶振停振的原因及解决方法

    晶振停振的原因及解决方法 晶振是主频组成器的核心元件之一,它能够提供一个固定的、稳定的振荡频率信号,是电子元件中一种非常重要的信号源。然而,在使用过程中,晶振有时会出现停振的情况,导致整个电路的正常
    的头像 发表于 10-31 10:42 1006次阅读

    变频器过热的故障原因和解决方法

    变频器过热的故障原因和解决方法
    的头像 发表于 10-24 10:09 1769次阅读

    PCB制造缺陷解决方法

    在印制电路板制造过程涉及到工序较多,每道工序都有可能发生质量缺陷,这些质量总是涉及到诸多方面,解决起来比较麻烦,由于产生问题的原因是多方面的,有的是属于化学、机械、板材、光学等等方面。经过几十年的生产实践,结合解决质量总是实际经验和有关的解决技术问题的相应资料
    发表于 08-18 14:31 410次阅读

    工业产品表面缺陷检测方法研究

    了工业表面缺陷检测中常见的关键问题及其解决方法;关键问题包括实时问题、小样本问题、小目标问题、不平衡样本问题。最后对近年来常用的工业表面缺陷数据集进行比较全面的总结,并比较了MVTec AD数据集的最新研究
    的头像 发表于 08-17 11:23 571次阅读
    工业产品表面<b class='flag-5'>缺陷</b>检测<b class='flag-5'>方法</b>研究

    微软Teams无法登录解决方法——SDWAN加速服务

    微软Teams无法登录解决方法——SDWAN加速服务
    的头像 发表于 07-18 14:27 1077次阅读

    保护死区的概念和解决方法

    保护死区的概念和解决方法
    的头像 发表于 07-15 11:02 827次阅读
    保护死区的概念和<b class='flag-5'>解决方法</b>

    基于GAN的零缺陷样本产品表面缺陷检测

    少的情况下实现高精度的检测呢?目前有两种方法,一种是小样本学习,另一种是用GAN。本文将介绍一种GAN用于无缺陷样本产品表面缺陷检测。
    的头像 发表于 06-26 09:49 595次阅读
    基于<b class='flag-5'>GAN</b>的零<b class='flag-5'>缺陷</b>样本产品表面<b class='flag-5'>缺陷</b>检测

    GaN功率集成电路的可靠性系统方法

    GaN功率集成电路可靠性的系统方法
    发表于 06-19 06:52

    CDMA网络中的信号干扰问题及解决方法

    在CDMA网络中,存在以下几种信号干扰问题,并提供相应的解决方法
    的头像 发表于 06-16 16:52 1283次阅读

    GaN外延生长方法及生长模式

    由于GaN在高温生长时N的离解压很高,很难得到大尺寸的GaN单晶材料,因此,为了实现低成本、高效、高功率的GaN HEMTs器件,研究人员经过几十年的不断研究,并不断尝试利用不同的外延生长方法
    的头像 发表于 06-10 09:43 736次阅读