以下内容纯属经验之谈,无公式推断!部分内容源自其他博客或课程,并已标注来源。

问题篇[1]

1.模式崩溃

在某个模式(mode)下出现大量重复样本,如左图中,生成的样本分布靠得很近,较聚集,可视化如右图,表现为生成多个相同或相似度很高的样本,缺乏多样性。

2.模式丢失

顾名思义,某些模式(mode)没有,同样缺乏多样性,虽然生成的样本已经尽可能拟合真实分布,分布也不聚集,但是存在某些模式的丢失,例如下图中人物,除了肤色变化,人物没有任何变化。

3.难以收敛

训练阶段,生成损失和判别损失一致不下降,难以收敛。

设计篇

1.在上采样阶段,慎用transpose2d,推荐使用upsample + conv2d组合,如下图所以,利用transpose2d上采样得到的生成图像,存在“方形格子”,生成的图像不平滑。

     

(a)输入图像     (b)transpose2d上采样生成图像

2.一些博客提到输入网络前将图像缩放到(-1,1),最后一次添加Tanh()激活层将输出映射到(-1,1),在保存结果和可视化时需要(image+1)/2缩放到(0,1).【2】

3. 采样cycleGAN类似结构可以学到图像的解耦的表示,可用于表情编辑、图像风格迁移等(异父异母的三胞胎:CycleGAN, DiscoGAN, DualGAN[3])。

4.[4]中提到的(1)利用推土机距离替代JS散度;(2)TTUR:低速(小学习率)更新生成器,高速更新判别器;(3)梯度惩罚;(4)谱归一化;(5)单侧标签平滑等

训练篇

1.当生成器损失从很大的值迅速变为0,而判别器损失维持不变。

有可能时生成器生成能力较弱,因此一种可行的方法是增加生成器的层数来增加非线性。

2.某些文献采用生成器与判别器交叉训练的方法,即先训练判别器,再训练生成器,其目的是先训练判别器并更新其参数,先让其具有较好判别能力,而在训练生成器时因为判别器已具有一定判定能力,生成器的目的是尽可能骗过判别器,所以生成器会朝着生成更真实的图像前进;也可以采用先训练生成器,再训练判别器,但是此种训练方法不推荐;同时也可以采用先更新生成器或判别器多次,再更新另一个一次的方法。

参考

[1] 李宏毅GAN开放课程

[2]GAN训练心得

https://blog.csdn.net/q1242027878/article/details/84452902?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

[3] 异父异母的三胞胎:CycleGAN, DiscoGAN, DualGAN

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

[4] GAN性能不稳?这九大技术可“镇住”四类缺陷

https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/87871048?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-12.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-12.nonecase

【GAN】GAN设计与训练集锦的更多相关文章

  1. tflearn kears GAN官方demo代码——本质上GAN是先训练判别模型让你能够识别噪声,然后生成模型基于噪声生成数据,目标是让判别模型出错。GAN的过程就是训练这个生成模型参数!!!

    GAN:通过 将 样本 特征 化 以后, 告诉 模型 哪些 样本 是 黑 哪些 是 白, 模型 通过 训练 后, 理解 了 黑白 样本 的 区别, 再输入 测试 样本 时, 模型 就可以 根据 以往 ...

  2. GAN︱GAN 在 NLP 中的尝试、困境、经验

    GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响,但是这么好的理论是否可以成功地被应用到自然语言处理(NLP)任务呢? Ian Goodfellow 博士 一年前,网友 ...

  3. DGA GAN——GAN在安全中的应用

    DGA的模型:https://github.com/Yuren-Zhong/DeepDGA CNN.LSTM.双向LSTM 论文可以看https://openreview.net/pdf?id=BJL ...

  4. 你的GAN训练得如何--GAN 的召回率(多样性)和精确率(图像质量)方法评估

    生成对抗网络(GAN)是当今最流行的图像生成方法之一,但评估和比较 GAN 产生的图像却极具挑战性.之前许多针对 GAN 合成图像的研究都只用了主观视觉评估,一些定量标准直到最近才开始出现.本文认为现 ...

  5. GAN实战笔记——第五章训练与普遍挑战:为成功而GAN

    训练与普遍挑战:为成功而GAN 一.评估 回顾一下第1章中伪造达・芬奇画作的类比.假设一个伪造者(生成器)正在试图模仿达・芬奇,想使这幅伪造的画被展览接收.伪造者要与艺术评论家(判别器)竞争,后者试图 ...

  6. (转)能根据文字生成图片的 GAN,深度学习领域的又一新星

    本文转自:https://mp.weixin.qq.com/s?__biz=MzIwMTgwNjgyOQ==&mid=2247484846&idx=1&sn=c2333a998 ...

  7. (转) GAN论文整理

    本文转自:http://www.jianshu.com/p/2acb804dd811 GAN论文整理 作者 FinlayLiu 已关注 2016.11.09 13:21 字数 1551 阅读 1263 ...

  8. 原始的生成对抗网络GAN

    论文地址:https://arxiv.org/pdf/1406.2661.pdf 1.简介: GAN的两个模型 判别模型:就是图中右半部分的网络,直观来看就是一个简单的神经网络结构,输入就是一副图像, ...

  9. Wasserstein GAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法

    前段时间,Wasserstein GAN以其精巧的理论分析.简单至极的算法实现.出色的实验效果,在GAN研究圈内掀起了一阵热潮(对WGAN不熟悉的读者,可以参考我之前写的介绍文章:令人拍案叫绝的Was ...

随机推荐

  1. Jmeter 后置处理器

    1.JSON Extractor Json extractor 后置处理器用在返回格式为 Json 的 HTTP 请求中,用来获取返回的 Json 中的某个值.并保存成变量供后面的请求进行调用或断言等 ...

  2. windows中配置安装mysql数据库

    MySql 是一种免费的关系型数据库,相较于 MsSqlServer 和 Oracle 比较轻量化,安装也很简单,而且免费不需要的版权费用,个人认为一般的小项目采用还是比较合适的,当然也有部分数据量很 ...

  3. abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十一(四十七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  4. IoTClientTool自动升级更新

    IoTClientTool是什么 IoTClientTool是什么,IoTClientTool是IoTClient开源组件的可视化操的作实现.方便对plc设备和ModBusRtu.BACnet.串口等 ...

  5. 绕WAF文章收集

    在看了bypassword的<在HTTP协议层面绕过WAF>之后,想起了之前做过的一些研究,所以写个简单的短文来补充一下文章里“分块传输”部分没提到的两个技巧. 技巧1 使用注释扰乱分块数 ...

  6. E - Petya and Exam CodeForces - 832B 字典树+搜索

    E - Petya and Exam CodeForces - 832B 这个题目其实可以不用字典树写,但是因为之前写过poj的一个题目,意思和这个差不多,所以就用字典树写了一遍. 代码还是很好理解的 ...

  7. Qt for Android (三) 打开Android相册并选一个图片进行显示

    Qt for Android (三) 这两天弄了一下android相册的相关功能.还是花了挺长时间的,这里总结一下,避免以后再踩坑.同时也在这篇文章里面补齐一些android开发的基础支持 打开And ...

  8. CC2530串口通信

    任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX). RX:接收数据串行输入.通过采样技术来区别数据和噪音,从而恢复数据. TX :发送数据输出.当发送器被禁止时,输出引 ...

  9. Cordova+vue 混合app开发(一)创建Cordova项目

    简介: Cordova包装你的HTML/JavaScript app到原生app容器中,可以让你访问每个平台设备的功能.这些功能通过统一的JavaScript API提供,让你轻松的编写一组代码运行在 ...

  10. Netty入门一:何为Netty

    先了解java的网络编程 Netty为何支持高并发 netty是基于java的nio非阻塞通信,而原始的阻塞通信无法满足高并发.下面我们通过两幅图来简要说明 BIO: 这种模式下一个线程处理一个连接, ...