gan

GAN 的Mode collapse(模式坍塌)

爷,独闯天下 提交于 2019-12-02 05:06:13
mode collapse是指Gan产生的样本单一,其认为满足某一分布的结果为true,其他为False,导致以上结果。 Example 先给一个直观的例子,这个是在我们训练GAN的时候经常出现的 这就是所谓的Mode Collapse 但是实际中ModeCollapse不能像这个一样这么容易被发现(sample中出现完全一模一样的图片) 例如训练集有很多种类别(如猫狗牛羊),但是我们只能生成狗(或猫或牛或羊),虽然生成的狗的图片质量特别好,但是!整个G就只能生成狗,根本没法生成猫牛羊,陷入一种训练结果不好的状态。这和我们对GAN的预期是相悖的。 Analysis 如上图, 是八个高斯分布的点,也就是8个mode。 我们希望给定一个随机高斯分布(中间列中的最左图),我们希望这一个随机高斯分布经过G最后可以映射到这8个高斯分布的mode上面去 但是最下面一列的图表明,我们不能映射到这8个高斯分布的mode上面,整个G只能生成同一个mode,由于G和D的对抗关系,G不断切换mode 李宏毅原话: 在step10k的时候,G的位置在某一个 Gaussian所在位置,然后D发现G只是在这个Gaussian这里了,所以就把这个地方的所有data(无论real还是fake)都给判定为fake G发现在这个Gaussian待不下去了,只会被D永远判定为fake,所以就想着换到另一个地方

GAN使用谱归一(spectral-normalization-gan)稳定训练——tensorflow应用

杀马特。学长 韩版系。学妹 提交于 2019-12-02 01:17:35
参考代码: https://github.com/christiancosgrove/pytorch-spectral-normalization-gan 参考代码: https://github.com/heykeetae/Self-Attention-GAN 参考代码: https://github.com/taki0112/Self-Attention-GAN-Tensorflow 谱归一就是限制W,使他趋于一个分布 谱归一代码部分,可以直接复制上去,调用见下个code: weight_init = tf.random_normal_initializer(mean=0.0, stddev=0.02) weight_regularizer = None def spectral_norm(w, iteration=1): w_shape = w.shape.as_list() w = tf.reshape(w, [-1, w_shape[-1]]) #print("w:",w.shape)#w: (48, 64) #w: (1024, 128) w: (2048, 256) u = tf.get_variable("u", [1, w_shape[-1]], initializer=tf.truncated_normal_initializer(), trainable

gan7

徘徊边缘 提交于 2019-12-01 12:01:31
文献阅读:To learn image super-resolution, use a GAN to learn how to do image degradation first 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/alxe_made/article/details/85912963 文章地址: https://arxiv.org/abs/1807.11458 作者的项目地址: Pytorch: Face-and-Image-super-resolution 1. 介绍 这是一篇图像和人脸的超分辨重建的文章,目前超分辨重建一个主要的问题是聚焦在真实世界图像的超分辨重建问题上。传统的SR的方法获取LR的手段是人工获取,比如通过双线性下采样或者是先通过一个模糊核然后在进行双线性下采样。但是真实世界的图像往往具有复杂的退化模型,比如运动、去焦、压缩、传感器噪声等复杂的情况。所以目前一些主流的SR方法可能在人造的LR图像上重建效果很好,但是在真实世界图像上表现不一定很好。关于真实世界图像重建CVPR2018中一篇文章也做了类似的工作, “Zero-Shot” Super-Resolution using Deep Internal Learning

gan6

只谈情不闲聊 提交于 2019-12-01 09:50:24
Free-Form Image Inpainting with Gated Convolution 转:https://zhuanlan.zhihu.com/p/82514925 摘要: 不同于普通卷积,将每一个输入的pixel都当做有效的输入,作者提出了gated convolution,为所有层每一个维度的位置提供了一种可学习的,动态的特征选择机制.并提出了SN-Patch GAN来稳定GAN的训练,学习 网络结构: coarse network将global and local 的inpainting网络改造,输入为原图,mask和带有sketch的mask三者融合为一,下采样到原尺寸的1/4,然后经过dilated conv,这里使用的conv都是gated conv,refinement network跟contextual attention的refinement network一致. 判别器不再是使用global and local context discriminator两个判别器,而是使用了SN-Patch GAN,判别器输出一个h x w x c的特征向量,以此来判断真假 details: gated conv: 普通卷积是将每一个像素都当成有效值去计算的,这个特性适用于分类和检测任务,但是不适用于inpainting任务

GAN3

孤街浪徒 提交于 2019-12-01 09:45:23
转载 GAN阶段性小结(损失函数、收敛性分析、训练技巧、应用“高分辨率、domain2domain”、研究方向) 对于GAN的研究已经有了一段时间,有以下感觉: 1.感觉赶了一个晚班车,新思路很难找到了,再往下研究就需要很深入了 2.在图像领域已经有了大量的工作,效果很不错;而在自然语言领域,目前来说效果并不显著(当然目前CV本来发展就领先于NLP) 3.接下来会结合实验室的优势,在与强化学习的结合、对话生成、VQA上做进一步研究 4.我会对GAN领域的各个方面逐步写总结,做一个类似tutorial的文档,帮助大家快速了解GAN,感觉它已经是一个基本的组件一样,不用那么高大上 以前看论文总是在PDF上草草总结,时间一久基本就都忘了,只能记个大概,这是做研究的大忌,也是老师经常强调的一点,接下来我们定期把看过的论文总结发布在知乎专栏,用来督促自己 总结的时候,我会把别人的总结精简,再加上我自己的理解,这样站在巨人的肩膀上速度会快一些,分析也会更加深入一些,同时该有的引用和参考我都把原作者的链接放在下面 希望可以交流分享,督促自己,方便别人 GAN相对RBMs、DBMs、DBMs、VAE的优势 RBMs, DBNs and DBMs all have the difficulties of intractable partition functions or intractable

GAN算法笔记

送分小仙女□ 提交于 2019-12-01 07:45:18
本篇文章为Goodfellow提出的GAN算法的开山之作 "Generative Adversarial Nets" 的学习笔记,若有错误,欢迎留言或私信指正。 1. Introduction GAN模型解决的问题 作者在首段指出了本课题的意义——能够避免 深度生成模型 中的两个局限性: (1)最大似然估计等相关策略中难以处理的概率计算; (2)在生成环境中难以利用分段线性单元的优势。 PS: 深度生成模型 是为了从原始的样本数据中模拟出数据分布,进而产生符合这一分布的新的样本。 GAN模型的构成 GAN模型主要分为两个部分:生成模型 \(G\) (generative model)和判别模型 \(D\) (discriminative model)。作者将这两个部分的关系类比为假币制造商和警察。判别模型(警察)来判断一个样本究竟是来自于数据分布还是模型分布,而生产模型(假币制造商)则是为了生成假的样本来骗过判别模型(警察)。这样产生的竞争驱使两方都不断更新自己的方法,直到假样本与真样本完全无法区分。框架中的生成模型通过将随机噪声输入 多层感知机 进而得到假样本,而判别模型则是将样本输入 多层感知机 来判断样本是否为真实样本。作者指出,同时训练这两个模型的方法是使用 反向传播算法(backpropagation algorithm)和 丢弃算法 (应该是“随机失活算法”

生死看淡,不服就GAN

邮差的信 提交于 2019-12-01 01:14:25
Generative Adversarial Network(GAN)生成式对抗网络      Yann LeCun said," Adversarial training is the coolest thing since sliced bread"   since sliced bread 有史以来      GAN由两部分组成,一部分是Generator, 另一部分是Discriminator G: 随便给一个任意分布的噪声,高斯分布,均匀分布都可以,组成一个vector,经过Generator就会生成一副图片 D: 图片进来,可能是从数据集拿的图片real,那它的scalar就应该是1 可能是G生成的图片fake,那它的scalar就是0~1,当然我们希望假的都是0,这个时候就要进行不断的迭代。 Generator和Discriminator互相为彼此提供一些条件,可以让他们自身更好。 就像猫抓老鼠,老鼠会跑的很快,猫在追的过程中也会练的越来越快,老鼠发现猫要追上他了,开始学会越障,猫为了抓老鼠,也学越障。互相督促,互相完美。 第一步: 固定生成器Generator_V1参数,生成图片都打标签为0,数据集的图片标签都是1,送入监视器,更新监视器Discriminator_V1参数。 第二步: 固定监视器Discriminator_V1参数,Discriminator

关于GAN网络的一些博客和资源

本小妞迷上赌 提交于 2019-11-30 04:33:19
https://github.com/zhangqianhui/AdversarialNetsPapers GAN的相关论文的整理 https://zhuanlan.zhihu.com/p/24699780 深度学习在计算机视觉的前沿发展 https://github.com/terryum/awesome-deep-learning-papers 引用最多的一些论文 https://blog.csdn.net/qq_28168421/article/details/80993864 https://baijiahao.baidu.com/s?id=1640452629602950683&wfr=spider&for=pc (GAN的应用) https://blog.csdn.net/Sakura55/article/details/81514828#4wgan (GAN网络的一些变体) https://blog.csdn.net/gubenpeiyuan/article/details/80957610 (一些用GAN的小项目) http://www.sohu.com/a/232341119_500659 (里面有GAN代码得链接,还有《令人拍案叫绝的Wasserstein GAN》这个得链接) https://ask.julyedu.com/question/7681

GAN——ModeCollapse

穿精又带淫゛_ 提交于 2019-11-29 16:39:42
GAN——ModeCollapse 2017年05月21日 13:54:31 LiuSpark 阅读数 6821 更多 分类专栏: 机器学习 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/SPARKKKK/article/details/72598041 大部分内容来源于李宏毅的课程[1] Example 先给一个直观的例子,这个是在我们训练GAN的时候经常出现的 这就是所谓的Mode Collapse 但是实际中ModeCollapse不能像这个一样这么容易被发现(sample中出现完全一模一样的图片) 例如训练集有很多种类别(如猫狗牛羊),但是我们只能生成狗(或猫或牛或羊),虽然生成的狗的图片质量特别好,但是!整个G就只能生成狗,根本没法生成猫牛羊,陷入一种训练结果不好的状态。这和我们对GAN的预期是相悖的。 Analysis 如上图。 P d a t a Pdata是八个高斯分布的点,也就是8个mode。 我们希望给定一个随机高斯分布(中间列中的最左图),我们希望这一个随机高斯分布经过G最后可以映射到这8个高斯分布的mode上面去 但是最下面一列的图表明,我们不能映射到这8个高斯分布的mode上面,整个G只能生成同一个mode,由于G和D的对抗关系

文献阅读笔记 - Social Ways

丶灬走出姿态 提交于 2019-11-29 10:11:14
文献引用 Amirian J, Hayet J B, Pettre J. Social Ways: Learning Multi-Modal Distributions of Pedestrian Trajectories with GANs[J]. 2019. 文章是继Social LSTM、Social GAN模型后的进一步提升,在理想的监控俯瞰数据库ETH、UCY上进行数据的预测。 重点贡献 有: 引入了注意力机制使模型自主分配对交互信息的关注。 增强模型对多合理轨迹的预测能力。 提供了一种能够验证各模型的多轨迹预测能力的小型合成场景和轨迹生成效果的判断指标。 模型框架 如上图所示,文章的基本框架是GAN网络,在不考虑batch批处理的情况下,模型逐一为每个行人预测轨迹。 在Generator中,对于待预测行人 \(i\) ,首先会将所有行人的已知轨迹进行编码,而后基于 \(i\) 和其他行人之间的地理和运动信息,引入注意力机制使得模型对其他行人的交互信息自主适应。行人 \(i\) 的轨迹编码、注意力池化后的交互信息、噪音、latent code(新引入内容,之后会讲到)四种输入作为Decoder的输入,解码出行人 \(i\) 的预测轨迹。 在Discriminator中,会对生成轨迹/真实轨迹进行判别,判别的结果作为Generator/Discriminator的代价函数。