gan

CVPR 2018 | 商汤科技论文详解:基于空间特征调制的图像超分辨率(很重要!!语义信息加入进去)

此生再无相见时 提交于 2020-01-11 12:48:38
在底层视觉算法领域,商汤科技提出的 面向生成更自然真实纹理图像的超分辨率算法 。本文为商汤科技CVPR 2018论文解读第3期。 论文:Recovering Realistic Texture in Image Super-resolution by Deep Spatial Feature Transform 作者:Xintao Wang, Ke Yu, Chao Dong, Chen Change Loy 论文链接: https:// arxiv.org/abs/1804.0281 5 Project page: http:// mmlab.ie.cuhk.edu.hk/pr ojects/SFTGAN/ 简介 单帧图像超分辨率旨在基于单张低分辨率图像恢复对应的高分辨率图像。卷积神经网络近年在图像超分辨率任务中表现出了优异的重建效果,但是恢复出自然而真实的纹理依然是超分辨率任务中的一大挑战。 如何恢复出自然而真实的纹理呢?一个有效的方式是考虑语义类别先验,即使用图像中不同区域所属的语义类别作为图像超分辨率的先验条件,比如天空、草地、水、建筑、森林、山、植物等。不同类别下的纹理拥有各自独特的特性,换句话说,语义类别能够更好的约束超分辨中同一低分辨率图存在多个可能解的情况。如图1中展示的建筑和植物的例子,它们的低分辨率图像块非常类似。虽然结合生成对抗式网络(GAN)进行超分复原

9.GAN(李宏毅)

早过忘川 提交于 2020-01-11 10:08:26
1.GAN 1.1GAN基本思想 GAN的基本想法是,我们已有一个目标资料集 P d a t a ( x ) ( x 可 以 是 任 何 目 标 : 图 片 ) P_{data}(x)_{(x可以是任何目标:图片)} P d a t a ​ ( x ) ( x 可 以 是 任 何 目 标 : 图 片 ) ​ ,这也是我们希望机器可以生成的资料分布。 图上蓝色区域是高机率的部份,其它部份是低的部份,只要从蓝色区域中生成的图像都可以是完美的,而从蓝色外区域生成的图像就会是模糊的。 如何从空间中去sample出完美的照片?就是利用Generator来生成。 Generator- G G G 可以是一个nn,输入一个Vector- z z z ,输出一个Vector- x x x ,如果 x x x 的Dimension跟照片一样,那就可以将它视为照片。如果现在输入的是Normal Distribution,那输出的就是另一个Distribution。因为经过nn的转换,这个输出的Distribution可能会是一个异常复杂的分布,即 P G ( x ) P_{G}(x) P G ​ ( x ) ,而我们要做的就是让生成的资料分布 P G ( x ) P_{G}(x) P G ​ ( x ) 跟原始的资料分布 P d a t a ( x ) P_{data}(x) P d a t a ​

GAN--7 info GAN VAE-GAN BiGAN

余生颓废 提交于 2020-01-10 06:00:59
用GAN做 feature extraction infoGAN 原来的GAN: infoGAN: 把输入z分成两部分,假设z是20维,把前十维叫做c,后十维叫做z‘。 训练一个classifier:看generator输出的x,反推出输入的c。可以将generator看做encoder,classifier看做decoder,二者合起来看做一个auto-encoder。这个auto-encoder和一般的auto-encoder正好相反:输入一张图片,预测产生图片的code c VAE-GAN 对encoder: 最小化重建误差;让z接近normal 对generator: 最小化重建误差;骗过discriminator 对discriminator: 辨别真实图、生成图和重建图 BiGAN encoder:输入图片x,输出编码z decoder:输入编码z,输出图片 二者的输入输出不是接在一起的;不会把encoder的输出传给decoder,也不会把decoder的输出传给encoder 添加一个discriminator: 输入x和z,判别一组(x,z)来自encoder还是decoder 算法: BiGAN和AutoEncoder在最优条件下训练结果相同。 Triple GAN 一个generator,一个discriminator,一个classifier。

Generalization and Equilibrium in Generative Adversarial Nets

会有一股神秘感。 提交于 2020-01-02 08:10:48
Paper link: https://arxiv.org/abs/1703.00573 Blog link: http://www.offconvex.org/2017/03/30/GANs2/ Github: https://github.com/PrincetonML/MIX-plus-GANs 作者指出原先的工作都假设Discriminator有无限的表示能力,但是其实当Discriminator表示能力有限的时候,Generator只需要拟合一部分训练数据就能把损失函数降到比较小的值。这说明扩大训练样本对于训练GAN没有太大的作用,而且Generator的diversity也受到了限制。作者提出了MIX+GAN的模型,一个是增强了Discriminator的能力,一个是让其训练能够收敛到一个波动范围内的均衡点。作者在算法中加入熵正则项,防止混合模型坍缩为单个模型。理论分析很多,但个人感觉实验效果也不是很明显。 来源: https://www.cnblogs.com/huangshiyu13/p/7743280.html

Generative Adversarial Nets (GAN)

人走茶凉 提交于 2020-01-02 08:10:34
目录 目标 框架 理论 数值实验 代码 Generative Adversarial Nets 这篇文章,引领了对抗学习的思想,更加可贵的是其中的理论证明,证明很少却直击要害. 目标 GAN,译名生成对抗网络,目的就是训练一个网络来拟合数据的分布,以前的方法,类似高斯核,Parzen窗等都可以用来估计(虽然不是很熟). GAN有俩个网络,一个是G(z)生成网络,和D(x)判别网络, 其中 \(z\) 服从一个随机分布,而 \(x\) 是原始数据, \(z\) 服从一个随机分布,是很重要的一点,假设 \(\hat{x}=G(x)\) , 则: \[ p(\hat{x})=\int p(z)I(G(z)=\hat{x})\mathrm{d}z \] 其中 \(I\) 表示指示函数,这意味着,网络 \(G\) 也是一个分布,而我们所希望的,就是这个分布能够尽可能取拟合原始数据 \(x\) 的分布. 框架 GAN需要训练上面的俩个网络,D的输出是一个0~1的标量,其含义是输入的x是否为真实数据(真实为1), 故其损失函数为(V(D,G)部分): 在实际操作中,固定网络G更新网络D,再固定网络D更新网络G,反复迭代: 理论 至于为什么可以这么做,作者给出了精炼的证明. 上面的证明唯一令人困惑的点在于 \(p_z \rightarrow p_g\) 的变化,我一开始觉得这个是利用换元

GAN--5 fGAN:general framework of GAN

无人久伴 提交于 2019-12-31 09:49:51
f-divergence P和Q是两个分布,p(x)和q(x)是从中取样x的可能性。 Df最小值为0,此时P和Q完全一样 当P和Q略有不同时,Df>0 f(x)不同时,divergence也不同 Fenchel Conjugate 每个函数f有一个f* f*(t1)的最大值要穷举所有的x,取最大的值就是f*(t1) 同理,f*(t2)的最大值要穷举所有的x,取最大的值就是f*(t2) 这样太麻烦,另一个方法: 把xt-f(x)的函数画出来,带入不同的x,给定一个t,找函数最大的值 f(x)=xlogx 带入不同x值的曲线: 红色线就是f(x)的Fenchel Conjugate: f*(t)=exp(t-1) 跟GAN的联系: 将f(x)用 max{xt-f*(t)} 代替 那么f(px/qx)就是max{(px/qx)t-f*(t)} 将 t 用D(x)代替: 那么Df(P||Q)约等于: 和GAN的比较: 来源: CSDN 作者: shanhaibukeping 链接: https://blog.csdn.net/shanhaibukeping/article/details/103767551

GAN学习:GAN/DCGAN原理、公式推导及实践

前提是你 提交于 2019-12-27 07:25:05
GAN/DCGAN原理、公式推导及实践 GAN学习:GAN/DCGAN原理、公式推导及实践 一、GAN GAN原理简介 数学描述 公式推导 训练过程 二、DCGAN 在GAN当中使用DNN 对GAN的一点思考 三、实践 GAN学习:GAN/DCGAN原理、公式推导及实践 生成对抗网络(GAN)是深度学习领域一个相当有趣的内容。最近补习了一下相关的论文,也推了下公式、做了一点简单的实践,因此写了这篇文章来对GAN进行介绍。大致分为三个部分 GAN:介绍GAN的思想、原理,以及公式推导和训练过程 DCGAN:引入DCGAN,介绍基于深度卷积网络的GAN,并谈一下自己对GAN的理解 动漫头像生成:使用Pytorch,实现了一个对DCGAN的简单应用 一、GAN GAN原理简介 GAN的起源应该是Ian Goodfellow大牛的这篇 paper 。 GAN的基本原理很简单,以图片生成领域为例,整个网络由两个部分构成:G(Generator),即生成器,以及D(Discriminator),判别器。 借用 这篇博客 的图片可以很清晰地看到整个过程,G接收按照一定概率分布生成的随机分布作为噪声,生成和真实数据尽可能类似的图片;而D则负责从真实数据集和生成的图片中,区分真假。两者的目的相反,由此构成了一个博弈过程,这就是生成对抗网络名称的由来。 直观上来说,随着训练的过程

Convolution with even-sized kernels and symmetric padding论文解读笔记

一个人想着一个人 提交于 2019-12-27 02:11:10
文章目录 导读 摘要 引言 相关工作 对称填充 实验 讨论 总结 导读 我们都习惯使用3*3的卷积核,这篇文章介绍了 偶数卷积核 其实表现更强 。 首先附上文章地址: Convolution with even-sized kernels and symmetric padding 【PDF】 摘要 紧凑型卷积神经网络主要通过深度卷积,扩展的通道和复杂的拓扑来提高效率,这反过来又加剧了训练过程。 此外,在这些模型中, 3×3内核占主导地位 ,而偶数大小的内核(2×2、4×4)很少被采用。 在这项工作中,我们通过信息侵蚀假设来量化偶数大小的核卷积中发生的偏移问题,并通过在特征图的四个侧面(C2sp,C4sp)提出对称填充来消除它。 对称填充以很少的计算成本释放了偶数大小的内核的泛化能力,使其在图像分类和生成任务方面优于3×3内核。此外,C2sp获得了与新兴紧凑型模型相当的精度,而训练期间的内存和时间消耗却少得多。 对称填充和偶数卷积可以很好地实现到现有框架中,为体系结构设计提供有效的元素,尤其是在强调训练工作的在线和持续学习场合。 引言 深度卷积神经网络(CNN)在许多计算机视觉任务中都取得了重大成功,例如图像分类[37],语义分割[43],图像生成[8]和游戏[29]。 除了特定领域的应用程序之外,还设计了各种体系结构来提高CNN的性能[3,12,15]

GAN的原理入门

牧云@^-^@ 提交于 2019-12-25 21:28:47
开发者自述:我是这样学习 GAN 的 from:https://www.leiphone.com/news/201707/1JEkcUZI1leAFq5L.html Generative Adversarial Network,就是大家耳熟能详的 GAN,由 Ian Goodfellow 首先提出,在这两年更是深度学习中最热门的东西,仿佛什么东西都能由 GAN 做出来。我最近刚入门 GAN,看了些资料,做一些笔记。 1.Generation 什么是生成(generation)?就是模型通过学习一些数据,然后生成类似的数据。让机器看一些动物图片,然后自己来产生动物的图片,这就是生成。 以前就有很多可以用来生成的技术了,比如 auto-encoder(自编码器),结构如下图: 你训练一个 encoder,把 input 转换成 code,然后训练一个 decoder,把 code 转换成一个 image,然后计算得到的 image 和 input 之间的 MSE(mean square error),训练完这个 model 之后,取出后半部分 NN Decoder,输入一个随机的 code,就能 generate 一个 image。 但是 auto-encoder 生成 image 的效果,当然看着很别扭啦,一眼就能看出真假。所以后来还提出了比如VAE这样的生成模型,我对此也不是很了解

GAN

家住魔仙堡 提交于 2019-12-22 03:00:01
GAN 来源: https://www.cnblogs.com/jiayibing2333/p/12078911.html