【GAN】GAN设计与训练集锦
以下内容纯属经验之谈,无公式推断!部分内容源自其他博客或课程,并已标注来源。
问题篇[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训练心得
[3] 异父异母的三胞胎:CycleGAN, DiscoGAN, DualGAN
https://zhuanlan.zhihu.com/p/26332365
[4] GAN性能不稳?这九大技术可“镇住”四类缺陷
【GAN】GAN设计与训练集锦的更多相关文章
- tflearn kears GAN官方demo代码——本质上GAN是先训练判别模型让你能够识别噪声,然后生成模型基于噪声生成数据,目标是让判别模型出错。GAN的过程就是训练这个生成模型参数!!!
GAN:通过 将 样本 特征 化 以后, 告诉 模型 哪些 样本 是 黑 哪些 是 白, 模型 通过 训练 后, 理解 了 黑白 样本 的 区别, 再输入 测试 样本 时, 模型 就可以 根据 以往 ...
- GAN︱GAN 在 NLP 中的尝试、困境、经验
GAN 自从被提出以来,就广受大家的关注,尤其是在计算机视觉领域引起了很大的反响,但是这么好的理论是否可以成功地被应用到自然语言处理(NLP)任务呢? Ian Goodfellow 博士 一年前,网友 ...
- DGA GAN——GAN在安全中的应用
DGA的模型:https://github.com/Yuren-Zhong/DeepDGA CNN.LSTM.双向LSTM 论文可以看https://openreview.net/pdf?id=BJL ...
- 你的GAN训练得如何--GAN 的召回率(多样性)和精确率(图像质量)方法评估
生成对抗网络(GAN)是当今最流行的图像生成方法之一,但评估和比较 GAN 产生的图像却极具挑战性.之前许多针对 GAN 合成图像的研究都只用了主观视觉评估,一些定量标准直到最近才开始出现.本文认为现 ...
- GAN实战笔记——第五章训练与普遍挑战:为成功而GAN
训练与普遍挑战:为成功而GAN 一.评估 回顾一下第1章中伪造达・芬奇画作的类比.假设一个伪造者(生成器)正在试图模仿达・芬奇,想使这幅伪造的画被展览接收.伪造者要与艺术评论家(判别器)竞争,后者试图 ...
- (转)能根据文字生成图片的 GAN,深度学习领域的又一新星
本文转自:https://mp.weixin.qq.com/s?__biz=MzIwMTgwNjgyOQ==&mid=2247484846&idx=1&sn=c2333a998 ...
- (转) GAN论文整理
本文转自:http://www.jianshu.com/p/2acb804dd811 GAN论文整理 作者 FinlayLiu 已关注 2016.11.09 13:21 字数 1551 阅读 1263 ...
- 原始的生成对抗网络GAN
论文地址:https://arxiv.org/pdf/1406.2661.pdf 1.简介: GAN的两个模型 判别模型:就是图中右半部分的网络,直观来看就是一个简单的神经网络结构,输入就是一副图像, ...
- Wasserstein GAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法
前段时间,Wasserstein GAN以其精巧的理论分析.简单至极的算法实现.出色的实验效果,在GAN研究圈内掀起了一阵热潮(对WGAN不熟悉的读者,可以参考我之前写的介绍文章:令人拍案叫绝的Was ...
随机推荐
- 图论--最长路--洛谷P1807 最长路_NOI导刊2010提高(07)
题目描述 设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i < j.设w(i,j)为边的长度,请设计算法,计算图G中<1,n>间的最长路径. 输入格式 ...
- flask完成前后端分离实例
需求:通过页面点击完成简单的投票系统功能. 相关文件: 设计思路: 1.前端:提供可以投票的入口.查询的入口.(前端不做数据处理,只做展示) 使用<a> </a> 完成超链接 ...
- 学习笔记之MySQL的使用
什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库. 每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据. 我们也可以将数据存储在文 ...
- VSCode 安装 React 项目
1 下载nodejs 安装 (此时npm 和 node环境都已经装好) 2 安装淘宝镜像 npm install -g cnpm --registry=https://registry.npm.tao ...
- hue搭建
1.安装依赖: sudo yum -y install gcc-c++ asciidoc cyrus-sasl-devel cyrus-sasl-gssapi krb5-devel libxml2-d ...
- C# 中 枚举Enum 一些转换的方法整理
工作中 经常遇到枚举 的一些转换 特别是获取枚举备注等 特地整理下 方法以后使用 public void TestMethod1() { TestEnumOne colorEnum = TestE ...
- 设计模式之GOF23原型模式02
利用序列化和反序列化完成深复制 ByteArrayOutputStream bos=new ByteArrayOutputStream(); ObjectOutputStream oos=new O ...
- Spark SQL源码解析(四)Optimization和Physical Planning阶段解析
Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Spark SQL源码解析(三 ...
- spring-boot+spring-cloud+maven-module 一个 maven多模块的微服务架构模版
spring-boot-cloud-module spring-boot+spring-cloud+maven-module 一个 maven多模块的微服务架构模版. 新手上路的绝佳模版,只有必要的配 ...
- Linux --登录用户显示-bash-4.2#解决办法
登录linux系统过后,发现显示的是-bash-4.2# 而不是root@主机名 + 路径的显示方式,发生这种情况的原因是根目录下缺失几个配置文件,从默认配置中拷贝过来就可以解决了: 1 cp /et ...