作家
登录

TensorFlow实现基于深度学习的图像补全

作者: 来源: 2017-05-22 16:13:45 阅读 我要评论

微步长卷积运算图示,蓝色是输入,绿色是输出。

插一段边注:进行上采样的卷积层有很多名字: 全卷积( fullconvolution), 网内上采样(in-networkupsampling), 微步长卷积(fractionally-stridedconvolution),反向卷积(backwardsconvolution),反卷积(deconvolution),上卷积(upconvolution),或者转置卷积(transposedconvolution)。异常不推荐应用术语“反卷积”,因为这个术语已经有其他含义了:在某种数学运算,以及计算机视觉的其它应用中,这个术语有完全不合的含义。

应用 DCGAN 构造生成器的一种办法。图像来自DCGAN论文

DCGAN 论文也提出了其他的在练习 DCGANs 时的技能和调剂,比如批量正则化(batchnormalization)以及 leaky RELUs。

练习判别器的目标是:

3.那么我们如何补全图像?

3.应用G(z)生成伪图像

让我们先停下来观赏一下 G(z) 多么强大年夜吧!DCGAN 论文给出了DCGAN在卧室数据集练习出来的样子。然后 G(z) 可以给出下面的伪图像,生成器认为的卧室是什么样子的。下面的图片都不在原始数据集里哦!

别的,你也可以在输入空间z进行代数运算。下面是一个生成人脸的收集

基于DCGAN的人脸代数运算 DCGAN论文

4.[ML-Heavy] 练习DCGAN

如今我们已经定义了G(z),并见识了它多么强大年夜。那么我们怎么练习它呢?我们有很多未知的变量(参数),须要找到它们。此时,我们就要用到对抗收集了。

起首我们要定义一些符号。数据的概率分布(未知的)记作pdatapdata。那么G(z),(个中z∼pzz∼pz )可以懂得为年腋荷琐概率分布中的采样。让我们把这个概率分布记作pgpg。

判别器收集D(x)输入图像x,返回图像x是大年夜pdatapdata的分布中采样的概率。理论上,当输入图像是大年夜pdatapdata中采样获得时,判别器输出一个接近1的值,当输入图像是伪图像,比如pgpg采样获得的图像时,判别器输出一个接近0的值。在DCGANs中,D(x)是一个传统的卷积神经收集。

判别器卷积神经收集,图片来自 图像恢复论文

1、对于真实数据分布x∼pdatax∼pdata的每一张图片,最大年夜化D(x)。

2、对于不是真实数据分布x≁pdatax≁pdata的每一张图片,最小化D(x)。

生成器G(z)的练习目标是生成可以困惑D的样本。输出是一张图像,可以作为判别器的输入。是以,生成器欲望最大年夜化D(G(z)),也就是最小化(1-D(G(z))),因为D是一个概率,取值袈溱0和1之间。

论文中提出,对抗收集是经由过程下面的最小最大年夜策略实现的。第一项中的数学期望遍历了真实数据分布,第二项的数学期望遍历了pzpz中的样本,也就是遍历了G(z)∼pgG(z)∼pg。

  1. minGmaxDEx∼pdatalog(D(x)+Ez∼pz[log(1−D(G(z)))]minGmaxDEx∼pdatalog(D(x)+Ez∼pz[log(1−D(G(z)))] 

经由过程这个表达式关于D和G的参数的梯度,可以练习它们。我们知道若何快速计算这个表达式的每一个部分。数学期望可以经由过程大年夜小为m的小批数据来估计,内侧的最大年夜化可以经由过程k步梯度来估计。已经证实,k=1是比较合适练习的值。

我们用θdθd来表示判别器的参数,用θgθg来表示生成器的参数。关于用θdθd和θgθg的损掉的梯度可以经由过程反向传播来计算,因为D和G都是由成熟的神经收集模块构成的。下面是GAN论文中的练习策略。理论上,练习停止后,pg==pdatapg==pdata。所以G(z)可以生成服大年夜pdatapdata分布的样本。

2维图像的PDF和采样。 PDF 用等高线图表示,样本点画在膳绫擎。

GAN 论文中的练习算法。

5.现有的GAN和DCGAN实现

  • 在 Github 上,你可以看到很多极棒的 GAN 和 DCGAN 实现。 
  • goodfeli/adversarial: GAN论文作者写的 Theano GAN 实现。 
  • tqchen/mxnet-gan: 非官方 MXNet GAN 实现。 
  • Newmu/dcgan_code: DCGAN论文作者写的 Theano GAN 实现。 
  • soumith/dcgan.torch: DCGAN论文作者之一 (Soumith Chintala) 的 Torch DCGAN 实现。 
  • carpedm20/DCGAN-tensorflow: 非官方 TensorFlow DCGAN 实现。 
  • openai/improved-gan: OpenAI 第一篇论文背后的代码。在 carpedm20/DCGAN-tensorflow 基本长进行了大年夜量的修改。 
  • mattya/chainer-DCGAN: 非官方 Chainer DCGAN 实现。 
  • jacobgil/keras-dcgan: 非官方 (未完成) KerasDCGAN 实现。

然后我们找到最合适填充归去的伪图片。

  1. ifconfig.maskType == 

      推荐阅读

      机器学习PAI实践三:雾霾成因分析

    一、背景本案其实是采取了两种不合的算法对于结不雅进行猜测,我们先来看看随机丛林这一分支。我们经由过程将数据集拆分,百分之八十的数据练习模型,百分之二十的数据猜测。最终模型的出>>>详细阅读


    本文标题:TensorFlow实现基于深度学习的图像补全

    地址:http://www.17bianji.com/lsqh/35350.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)