【GAN优化】小批量判别器如何解决模式崩溃问题

GAN训练中的挑战和常见问题有哪些,如模式崩溃和模式坍塌等? 生成对抗网络(GAN)是一种强大的深度学习模型,用于生成逼真的数据样本。然而,GAN的训练过程中面临一些挑战和常见问题,其中包括模式崩溃和模式坍塌。本文将介绍这些问题以及可能的解决方法。GAN训练中的挑战和常见问题有哪些? 阅读详情

GAN的第二季开始更新了,还是熟悉的配方,还是熟悉的味道。第一季更新了12篇小文,只解读了GAN的冰山一角,第二季将作为第一季的“零零星星”的补充,讲解包括其他的损失函数、训练算法等等方面,并且会扩展到隐空间、离散数据等方向。今天将先介绍一个处理模式崩溃问题的小方法—小批量判别器,作为对上一季模式崩溃问题的补充吧。

作者&编辑 | 小米粥

1. 模式崩溃的原因

当模式崩溃发生时,生成器 G(z)往往会把很多不同的z均映射成某个x,(更确切地说,指x以及其附近的点,用A表示),接下来更新判别器D(x)后,判别器会很快发现这个病态的mode A从而降低了对这个mode A的信任程度(信任程度即该样本点来源于训练数据集的概率),而信任mode B,那么生成器就会把很多不同的z均映射成x',其中x'及其附近的点表示一个新的mode B,如下图所示。接着,判别器发现这个新的的病态mode B.....

生成器和判别器陷入这样没有意义的循环。我们梳理一下上面的环节,首先生成器 G(z)把很多不同的z均映射成某个x,而不是将部分z映射到mode A,部分z映射到mode B,但这不应该引起担忧,因为可以训练判别器来识别这个不好的mode A再改进G(z)即可;接着,训练判别器环节也没有问题,实践中甚至担忧判别器训练得过好了而产生梯度消失;那么问题应该出在最后一步:生成器把生成样本全部都转移放置到新的mode B下!显然,生成器的改进是“过分”的,理想上生成器应该将部分生成样本都转移放置到 mode B下,保留部分生成样本在mode A下,如下图所示。

其实这并不奇怪,因为在训练生成器时,目标函数为:

其过程为:生成器G(z)生成m个样本{x1,x2,...,xi,...,xm},然后将m个x分别独立送给判别器D(x)判定获得梯度信息。在上面的例子中,由于判别器不信任mode A而非常信任mode B,故对于任意生成样本x,判别器都将指引其接近mode B:G(z)→B,也就是说对于任意x,判别器传递给生成器G(z)得到的梯度的方向是相同的,生成器按着该梯度方向更新参数极易把所有的生成样本转移到mode B下。

2.mini-batch discriminator

根据第一节的讨论,认为原因还是出现在判别器上,因为判别器每次只能独立处理一个样本,生成器在每个样本上获得的梯度信息缺乏“统一协调”,都指向了同一个方向,而且也不存在任何机制要求生成器的输出结果彼此有较大差异。

小批量判别器给出的解决方案是:让判别器不再独立考虑一个样本,而是同时考虑一个小批量的所有样本。具体办法如下:对于一个小批量的每个样本{x1,x2,...,xi,...,xm},将判别器的某个中间层f(xi)的结果引出,其为一n维向量,将该向量与一个可学习的n x p x q维张量T相乘,得到样本xi的p x q维的特征矩阵Mi,可视为得到了p个q维特征。

接着,计算每一个样本xi与小批量中其他样本的第r个特征的差异和:

其中,Mi,r表示矩阵Mi的第r行,并使用L1范数表示两个向量的差异。

那么每个样本都将会计算得到一个对应的向量:

最后将o(xi)也接引出的中间层的下一层L+1即可,也就是说在原来判别器L层的基础上加了一个mini-batch层,其输入是f(xi),而输出是o(xi),中间还包含一个可学习参数T。相比较,原始的判别器要求给出样本来源于训练数据集的概率,而小批量判别器的任务仍然是输出样本来源于训练数据集的概率,只不过它能力更强,因为它能利用批量样本中的其他样本作为附加信息。

还是在第一节的例子中,使用小批量判别器,当发生模式崩溃的生成器需要更新时,G(z)先生成一个批量的样本{G(z1),G(z2),...G(zm)},由于这些样本都在mode A下,则计算得到的mini-batch层结果必然与训练数据集的计算得到的mini-batch层结果有很大差异,捕捉到的差异信息会使小批量判别器D(G(zi))值不会太低,小批量判别器不会简单地认为对所有样本给出相同的梯度方向。

3. 一个简化版本

在Progressive GAN中,给出了一个简化版本的小批量判别器,其思想与上述相同,只是计算方式比较简单,对于判别器的输入样本{x1,x2,...,xm},抽取某中间层作为n维特征有{f(x1),f(x2),...,f(xm)},计算每个维度的标准差并求均值,即:

其中

最后将o作为特征图与中间层的输出拼接到一起。Progressive GAN的小批量判别器中不含有需要学习的参数,而是直接计算批量样本的统计特征,更为简洁。

[1]Tim Salimans , et al. Improved Techniques for Training GANs. 2016.

[2]Karras, Tero, Aila, Timo, Laine, Samuli,等. Progressive Growing of GANs for Improved Quality, Stability, and Variation[J].

总结

今天首先将说明模式崩溃问题的本质,分析了产生模式崩溃的原因,并针对该问题给出了小批量判别器技巧,并在最后给出了一个更简单的版本。

知识星球推荐

_

_

有三AI知识星球由言有三维护,内设AI知识汇总,AI书籍,网络结构,看图猜技术,数据集,项目开发,Github推荐,AI1000问八大学习板块。其中网络结构1000变部分有大量GAN实战相关的内容。

【年终总结】2019年有三AI知识星球做了什么,明年又会做什么

转载文章请后台联系

侵权必究

往期精选

_

解决GANs训练中模式崩塌/训练崩溃的十五个方法 GAN和强化学习一样,不以loss收敛作为训练质量的指标,因此都存在训练难的问题。其中GANs在训练时经常会出现模式崩塌/训练崩溃的问题,这篇博客总结了十五个解决模式崩塌/训练崩溃的方法,建议收藏!...... 阅读详情

相关推荐

生成对抗网络(Generative Adversarial Network,GAN)

本文介绍了生成对抗网络 (GAN) 的基本原理与实现。GAN由生成器和判别器两个网络组成,通过对抗训练学习数据分布:生成器生成伪造数据以欺骗判别器,判别器则区分真实与伪造数据。训练稳定是核心挑战,需平衡两者学习进度。详细阐述了损失函数设计、训练流程及模式崩溃等问题,并提供了基于 Keras 的DCGAN实现代码,演示了在 MNIST 数据集上从随机噪声生成手写数字图像的全过程。

盼小辉丶的博客 3769

生成对抗网络(GAN)

GAN

qq_40914408的博客 1027

RK3588与FPGA高速PCIe通信:从理论带宽到实战优化的全流程解析

本文深入解析了瑞芯微RK3588与FPGA之间基于PCIe Gen2的高速通信全流程。从理论带宽计算(约1640MB/s)出发,详细拆解了硬件连接、驱动加载、DMA配置等关键步骤,并重点分享了中断优化、内存管理及高级调优等实战技巧,旨在帮助开发者从“跑通”到“跑好”,实现接近理论极限的稳定高效数据传输。

weixin_29175469的博客 335

【GAN】什么是模式崩溃,以及解决模式崩溃的两条思路

原文 原文链接: 【GAN优化】什么是模式崩溃,以及如何从优化目标上解决这个问题 【GAN优化】解决模式崩溃的两条思路:改进优化和网络架构 本文只对上面两篇文章内容做总结,具体内容请查看原文。 什么是模式崩溃 对于某一个训练数据集,其中样本的概率分布为一个简单的一维高斯混合分布,包含两个峰: 模式崩溃问题是针对于生成样本的多样性,即生成的样本大量重复类似,例如下图(绿色点为生成的样本): 生成的样本全部聚集在左边的峰下,这时虽然生成样本的质量比较高,但是生成器完全没有捕捉到右边的峰的模式。 解决思路

hazelnut_x的博客 1万+

Altium Designer操作技巧(1)——原理图中如何批量替换元器件?

《AltiumDesigner批量替换元器件技巧分享》摘要:本文介绍了两种在AltiumDesigner中批量替换元器件的实用方法。方法一通过“查找相似对象”功能,可精准匹配并批量修改器件参数;方法二利用ActiveBOM功能,在BOM表中直观操作器件替换,推荐使用第二种方法可使BOM管理更高效。这些技巧能有效减少物料种类、降低贴装成本,特别适用于电阻电容等常用器件的批量替换。关注公众号获取更多电子设计技巧。

u012526819的博客 2592

基于Django+Vue3的智能目标检测系统设计与实现,Vue3前台系统+Django后台管理系统开发,Web前后端分离,YOLOv8 Web目标检测,实现图片、视频和摄像头检测等功能,全网独发

目标检测是计算机视觉中的重要任务,广泛应用于安防监控、自动驾驶、智能家居等领域。YOLO系列模型由于其高效的检测速度和较高的准确率,成为目标检测任务的首选算法之一。本项目结合 YOLOv8 与 Django + Vue3,构建一个Vue3前台系统+Django后台管理系统开发,便于用户进行目标检测的操作和展示,实现对图片、视频实时目标检测,不仅可以用于大论文的工作量展示,还可以作为毕业设计。支持更换自己模型、图片检测、实时视频检测、置信度调节和IoU参数调节。同时支持目标检测、实例分割、关键点检测等任务

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 5434

GAN模型存在的问题分析(梯度消失、模式崩溃)

原始的GAN并不成熟,存在着诸多问题,其中梯度消失和模式崩溃(collapse mode)问题严重限制GAN的发展。只有了解问题发生的本质,才能做出相应的改进,本章主要对GAN在训练中存在梯度消失和模式崩溃的原因进行分析。梯度消失即是利用误差反向传播(back propagation,BP)算法对深度神经网络进行训练时,梯度后向传播到浅层网络时基本不能引起数值的扰动,最终导致神经网络收敛很慢甚至不能收敛。GAN存在梯度消失的问题,并且在判别器训练得越好的时候,生成器梯度消失得越严重。最优判别器如下式: DG

coderge's 优快云 Blog. 1万+

【时时三省】tessy 单元测试 之 CTE(The Classification Tree Editor) 的使用

有图有文字详细介绍利用 CTE界面中的树 批量产生用例。

时时三省的博客 840

「GAN优化」小批量判别器如何解决模式崩溃问题

作者 | 小米粥 编辑 | 言有三 1. 模式崩溃的原因 当模式崩溃发生时,生成器 G(z)往往会把很多不同的z均映射成某个x,(更确切地说,指x以及其附近的点,用A表示),接下来更新判别器D(x)后,判别器会很快发现这个病态的mode A从而降低了对这个mode A的信任程度(信任程度即该样本点来源于训练数据集的概率),而信任mode B,那么生成器就会把很多不同的z均映射成x',其中x'...

喜欢打酱油的老鸟 1622

【HYSPLIT 教程第二期】Inline WRF-HYSPLIT 耦合

【HYSPLIT 教程第二期】Inline WRF-HYSPLIT 耦合

WW、forever的博客 811

Python实现多元线性回归(Multiple Linear Regression)

多元线性回归是一种用于建立多个自变量与因变量之间关系的统计学方法。在多元线性回归中,我们可以通过多个自变量来预测一个因变量的值。每个自变量对因变量的影响可以用回归系数来表示。

优快云 精品推荐 4333

机器学习之生成对抗网络(GAN)

本文系统介绍了生成对抗网络(GAN)的原理、结构、实现与优化。首先分析了传统生成模型的痛点,指出GAN通过对抗博弈框架提升了生成质量和可控性。详细解析了GAN的数学原理,包括极小极大目标函数和对抗训练流程。重点阐述了DCGAN、CGAN、StyleGAN、CycleGAN等经典变种的核心改进与应用场景。通过DCGAN生成MNIST手写数字的完整案例,展示了数据预处理、网络结构设计、训练优化等关键技术。最后针对模式崩溃、梯度消失等常见问题提供了解决方案,并展望了GAN与大模型结合的未来趋势。文章强调GAN实现

Pocker_Spades_A的博客 2万+

程序化广告ADX系统架构设计与实现

摘要: 本文详细介绍了程序化广告交易平台(ADX)的系统架构设计与实现。ADX作为连接广告主与媒体的核心平台,采用基于腾讯云和阿里云的微服务架构,包含网络基础设施、负载均衡、消息处理、核心业务服务和多级数据存储等层次。重点解析了Kafka消息队列处理高并发广告请求、Redis实时统计关键指标等核心技术实现,并提供了Java代码示例展示广告请求处理、竞价流程等核心功能。该系统通过分层设计和分布式组件,实现了高性能、高可用的程序化广告交易能力。

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 770

【深度学习】深入解析生成对抗网络(GAN)

本文将深入探讨GAN的基本原理、训练过程、变体及应用,以及面临的挑战和未来的发展方向。

颜淡慕潇 1万+

不会路由器叠加多条宽带?看这个就够了,能让你的局域网速度更快!

通常我们在企业网络或实际项目中,随着用户的增加,一条或者几条带宽不能满足正常使用,便可以对带宽进行叠加,便于网络带度更快;通常家里有可能有两条带宽的,联通或移动的,可能都是充话费送的,但网速都不怎么样,不用可惜,用之委屈,那怎么办呢?如在迅雷上开启下载,多个资源同时下载,此时总带宽可以达到120M,也就是WAN口带宽可以叠加。多wan口路由器, 一般是有2个wan口,分别为wan1与wan2。当然也有更多的wan口的。[1] 对整个局域网来说,出口带宽数量多了,相当于总带宽上升,这样是可以起到叠加效果。

qq_43416206的博客 1115

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

Generative Adversarial Networks(生成对抗网络GAN,DCGAN)

Generative Adversarial Networks GAN的想法很简单,一言以蔽之:以假乱真。 Generative(生成):GAN实际上可以看作是一个生成数据的工具。目标就是通过学习让自身生成更加真实的数据。 Adversarial (对抗):既然能够以假乱真,对抗的自然就是识别真假的警察了。 所以GAN 主要包括了两个部分: 生成器 (Generator ):生成器努力使生成的图像...

nakaizura 2万+

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【GAN优化】解决模式崩溃的两条思路:改进优化和网络架构

今天讲述的内容仍然是GAN中的模式崩溃问题,首先将说明模式崩溃问题的本质,并介绍两种解决模式崩溃问题的思路,然后将介绍一种简单而有效的解决方案MAD-GAN,最后一部分将给出MAD-GAN的强化版本MAD-GAN-Sim。 作者&编辑 | 小米粥 1.解决模式崩溃的两条路线 GAN的模式崩溃问题,本质上还是GAN的训练优化问题,理论上说,如果...

hacker_long的专栏 6774

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

GAN生成对抗网络综述

前阵子学习GAN的过程发现现在的GAN综述文章大都是2016年Ian Goodfellow或者自动化所王飞跃老师那篇(最新发现一篇更新paper,也是王飞跃老师的:http://blog.sciencenet.cn/home.php?mod=space&uid=2374&do=blog&id=1130140)。可是在深度学习,GAN领域,其进展都是以月来计算的,感觉那两篇综...

weixin_41311617的博客 7038

17-生成对抗网络(GAN):探讨GAN的生成器和判别器机制

生成对抗网络(Generative Adversarial Network, GAN)是深度学习领域的一项重要创新,由伊恩·古德费洛(Ian Goodfellow)及其同事于2014年提出。GAN的核心思想是通过两个相互对抗的神经网络——生成器(Generator)和判别器(Discriminator)——来实现数据的生成和判别。生成器的任务是生成尽可能逼真的数据,而判别器的任务则是区分真实数据和生成器产生的假数据。这种对抗过程促使生成器不断改进,最终生成高质量的数据。GAN的应用领域广泛,涵盖了图像生成、

rengang66的博客 1802

详解GAN,生成对抗网络

GAN由两个神经网络组成:生成器(Generator)和判别器(Discriminator),它们通过对抗过程(adversarial process)相互竞争来进行训练。GAN的训练过程是一个博弈过程,在这个过程中,生成器和判别器相互竞争,彼此改进。这个过程不断进行,直到生成器生成的样本足够真实,以至于判别器无法区分真假样本。𝑝data(𝑥)pdata​(x) 的样本,𝑧z 是。,来自噪声分布 𝑝𝑧(𝑧)pz​(z)。生成判别器认为是真实的样本。图像风格转换为另一种风格。假样本给出的分类损失。

具身机器人和通用AI 2568

生成对抗网络中的模式崩溃问题及优化策略

生成对抗网络(GAN)在训练过程中常遭遇模式崩溃(Mode Collapse)现象,表现为生成器输出样本多样性显著下降,仅能重复生成少数几种模式。例如,当训练目标为生成手写数字时,生成器可能始终输出数字"3"而忽略其他类别。模式崩溃的核心特征包括:生成样本分布与真实数据分布不匹配判别器无法提供有效梯度反馈训练过程陷入局部最优。

jie_kou的博客 1046

生成对抗网络GAN简单理解

GAN分析问题:   1、目标函数如何设定?   2、如何生成图片?   3、G和D因该如何设置? 4、如何进行训练? 一、什么是生成对抗网络?   生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。博弈双方的利益...

w18226357716的博客 3460

GAN模式崩塌难题:成因分析与多维度解决方案

本文聚焦 生成对抗网络(GAN) 的核心缺陷——模式崩塌(Mode Collapsing) 与 模式丢弃(Mode Dropping)。通过直观案例解析两种模式缺陷的表现形式,再基于数学推导揭示优化过程导致崩塌的本质原因,最后结合前沿方法,从 目标函数改进、网络结构设计 及 小批量判别 等维度,系统阐述缓解 模式崩塌 的解决方案。本文结合理论分析与模型架构图,为GAN训练调优提供实践指导。

2501_90186640的博客 1860

模式正则化GAN终极指南:如何彻底解决生成对抗网络的模式崩溃问题

生成对抗网络(GAN)作为一种强大的生成模型,在图像生成、风格迁移等领域取得了显著成就。然而,模式崩溃(Mode Collapse)问题一直是阻碍其发展的关键瓶颈。本文将深入解析模式正则化GAN(Mode Regularized GAN)如何通过创新的正则化技术,有效解决这一难题,帮助开发者构建更稳定、更可靠的生成模型。 ## 什么是模式崩溃?为何它如此棘手? 模式崩溃是GAN训练过程中常见的

gitblog_00349的博客 831
上一篇: 【杂谈】为了让大家学好深度学习模型设计和优化,有三AI都做了什么
下一篇: 【NLP机器学习基础】从线性回归和Logistic回归开始
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值