卷积神经网络

tensorflow学习笔记(十一):DCGAN生成手写体数字(MNIST)

╄→гoц情女王★ 提交于 2019-12-05 10:41:38
文章目录 一、DCGAN简介 二、主要函数 三、项目实战 一、DCGAN简介 DCGAN是将CNN与GAN的一种结合,这是第一次在GAN中使用卷积神经网络并取得了非常好的结果,弥合CNNs在监督学习和无监督学习之间的差距,其将卷积网络引入到生成式模型当中来做无监督的训练,利用卷积网络强大的特征提取能力来提高生成网络的学习效果。 结构如下: 具体理论知识参考: GAN的系列经典模型讲解 。 二、主要函数 1、tf.layers.dense() : 相当于添加一个全连接层,即初学的add_layer()函数,定义如下: tf.layers.dense( inputs, units, activation=None, use_bias=True, kernel_initializer=None, ##卷积核的初始化器 bias_initializer=tf.zeros_initializer(), ##偏置项的初始化器,默认初始化为0 kernel_regularizer=None, ##卷积核的正则化,可选 bias_regularizer=None, ##偏置项的正则化,可选 activity_regularizer=None, ##输出的正则化函数 kernel_constraint=None, bias_constraint=None, trainable=True, name

深度学习与计算机视觉(12)_tensorflow实现基于深度学习的图像补全

倾然丶 夕夏残阳落幕 提交于 2019-12-05 10:32:16
原文地址: Image Completion with Deep Learning in TensorFlow by Brandon Amos 原文翻译与校对: @MOLLY && 寒小阳 (hanxiaoyang.ml@gmail.com) 时间:2017年4月。 出处: http://blog.csdn.net/han_xiaoyang/article/details/70214565 声明:版权所有,转载请联系作者并注明出 简介 第一步:将图像理解为一个概率分布的样本 你是怎样补全缺失信息的呢? 但是怎样着手统计呢?这些都是图像啊。 那么我们怎样补全图像? 第二步:快速生成假图像 在未知概率分布情况下,学习生成新样本 [ML-Heavy] 生成对抗网络(Generative Adversarial Net, GAN) 的架构 使用G(z)生成伪图像 [ML-Heavy] 训练DCGAN 现有的GAN和DCGAN实现 [ML-Heavy] 在Tensorflow上构建DCGANs 在图片集上跑DCGAN 第三步:找到用于图像补全最好的伪图像 使用 DCGAN 进行图像补全 [ML-Heavy] 到 pgpg 的投影的损失函数 [ML-Heavy] 使用tensorflow来进行DCGAN图像补全 补全图像 结论 简介 内容识别填充(译注: Content-aware fill

深度卷积生成对抗网络--DCGAN

天涯浪子 提交于 2019-12-05 10:00:54
本问转自: https://ask.julyedu.com/question/7681 ,详情请查看原文 —— 前言 :如何把CNN与GAN结合?DCGAN是这方面最好的尝试之一,DCGAN的原理和GAN是一样的,这里就不在赘述。它只是把经典GAN中的G和D换成了两个卷积神经网络(CNN)。但是,并不是直接替换就可以了, DCGAN 对卷积神经网络的结构做了一些改变,以提高样本的质量和收敛的速度。具体有哪些改变,将在本文中看到。 摘要 近年来,深度卷积神经网络(CNN)的监督学习在计算机视觉应用上发挥巨大的作用,然而CNN的非监督学习只受到较少的关注。在这项工作中我们希望有助于缩小CNN在监督学习和非监督学习成功的差距。我们提出了一种叫做深度卷积生成对抗网络的CNN,它具有一定的结构约束,展示了其在非监督学习方向上强有力的候选方案。通过在各种各样的图像数据集的训练,我们展示了令人信服的证据,我们的深度卷积对抗对(adversarial pair)从对象到场景在生成模型和判别模型上都能够学习到层级的表示。此外,我们在一些的新的任务上使用学习到的特征表明它们一般的图像表示上具有通用性。 引言 从大量未标记数据集中学习可重复使用的特征表示已经成为一个热门研究区域(been an area,一个地区,区域)。在计算机视觉背景下

Transposed Convolution, Fractionally Strided Convolution or Deconvolution

蹲街弑〆低调 提交于 2019-12-05 09:59:03
点击打开链接 反卷积(Deconvolution)的概念第一次出现是Zeiler在2010年发表的论文 Deconvolutional networks 中,但是并没有指定反卷积这个名字,反卷积这个术语正式的使用是在其之后的工作中( Adaptive deconvolutional networks for mid and high level feature learning )。随着反卷积在神经网络可视化上的成功应用,其被越来越多的工作所采纳比如:场景分割、生成模型等。其中反卷积(Deconvolution)也有很多其他的叫法,比如:Transposed Convolution,Fractional Strided Convolution等等。 这篇文章的目的主要有两方面: 1. 解释卷积层和反卷积层之间的关系; 2. 弄清楚反卷积层输入特征大小和输出特征大小之间的关系。 ## 卷积层 卷积层大家应该都很熟悉了,为了方便说明,定义如下: - 二维的离散卷积( N = 2 N=2 ) - 方形的特征输入( i 1 = i 2 = i i1=i2=i ) - 方形的卷积核尺寸( k 1 = k 2 = k k1=k2=k ) - 每个维度相同的步长( s 1 = s 2 = s s1=s2=s ) - 每个维度相同的padding ( p 1 = p 2 = p p1=p2=p )

深度卷积对抗生成网络(DCGAN)

旧时模样 提交于 2019-12-05 09:58:24
注:有时间去看英文原版。 本文是参考文献[1]的论文笔记。 卷积神经网络在有监督学习中的各项任务上都有很好的表现,但在无监督学习领域,却比较少。本文介绍的算法将有监督学习中的CNN和无监督学习中的GAN结合到了一起。 在非CNN条件下,LAPGAN在图像分辨率提升领域也取得了好的效果。 与其将本文看成是CNN的扩展,不如将其看成GAN的扩展到CNN领域。而GAN的基本算法,可以参考 对抗神经网络 。 GAN无需特定的cost function的优势和学习过程可以学习到很好的特征表示,但是GAN训练起来非常不稳定,经常会使得生成器产生没有意义的输出。而论文的贡献就在于: 为CNN的网络拓扑结构设置了一系列的限制来使得它可以稳定的训练。 使用得到的特征表示来进行图像分类,得到比较好的效果来验证生成的图像特征表示的表达能力 对GAN学习到的filter进行了定性的分析。 展示了生成的特征表示的向量计算特性。 模型结构 模型结构上需要做如下几点变化: 将pooling层convolutions替代,其中,在discriminator上用strided convolutions替代,在generator上用fractional-strided convolutions替代。 在generator和discriminator上都使用batchnorm。 解决初始化差的问题 帮助梯度传播到每一层

DCGAN深度卷积生成对抗网络&python自动绘图

强颜欢笑 提交于 2019-12-05 09:33:25
GAN 生成对抗网络 是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。 举例说明 我们可以通过一个简单的例子来解释GAN的基本原理。我们使用情侣间的拍照片来解释GAN的原理,男生给女友拍照,男生的拍照技术通常很烂(。。。),我们把生成网络比作是男友,那么判别网络就是女友,男生拍完一张照片后给女友看,生成网络负责从随机生成数据,在这里比作是照片。拍完一张给女友看,那么女友就可以看做是判别网络,负责找出男生给出的数据与真实值之间的差别,不断的拍照不断的判别,直到找到判别网络无法判断是生成的还是真实数据为止。 GAN生成对抗网络 就是由两个神经网络组成,一个生成网络,与一个判别网络,让两个神经网络以相互博弈的方式进行学习。 什么是DCGAN DCGAN是GAN的一个变体。 Deep Convolutional GAN 深度卷积生成对抗网络。 里面有生成器和判别器两个模型 生成模型和判别模型都运用了深度卷积 神经网络的生成对抗网络 Gan里面生成模型和判别模型也是用到了神经网络。 在DCGAN中生成器用到了反卷积神经网络,判别器用到了卷积神经网络。 卷积神经网络基本原理 经过卷积层提取它的一些特征信息

深度卷积生成式对抗网络(Deep Convolutional Generative Adversarial, DCGAN)

不打扰是莪最后的温柔 提交于 2019-12-05 09:32:36
深度卷积生成式对抗网络,2019-03-26 目录 一、预备知识 (一)卷积神经网络 1. 层级结构 2. 训练算法 3. 优缺点 (二)GAN 二、模型结构 (一)模型总体思想 (二)对CNN的改进 1. 全卷积网络 2. 消除完全连接层 3. 批规范化 (二)DCGAN框架结构 三、实验 (一)实验数据集 (二)实验细节 1. 预处理 2. 参数设置 3. 正式实验 (1) 在数据集LSUN上进行实验 (2)在人脸数据集上进行实验 (3)在数据集Imagenet-1K上进行实验 四、对DCGAN能力的实验验证 (一)使用GANs作为特征提取器对CIFAR-10进行分类 (二)使用GANs作为特征提取器对SVHN数字进行分类 五、研究和可视化网络的内部结构 (一)潜在空间 (二)可视化判别器特性 (三)操作生成器的表示 1. 忘记绘制某些对象 2. 人脸样本向量算法 六、总结和展望 论文链接:https://arxiv.org/abs/1511.06434 目录 一、预备知识 (一)卷积神经网络 参考博文: https://www.cnblogs.com/skyfsm/p/6790245.html 1. 层级结构 数据输入层/Input Layer:主要是数据预处理(去均值、归一化、 PCA / 白化 等); 卷积计算层/CONV Layer:局部关联、窗口滑动(特征提取);

对抗神经网络之对抗卷积神经网络[2]

青春壹個敷衍的年華 提交于 2019-12-05 09:30:29
Abstract 上一篇博文[1]简单介绍了对抗网络的理论和大概流程。其中所谓的对抗网络可以归结为unsupervised learning 或者 generative model。从无监督学习来进行feature representation,有k-means聚类算法,auto-encoders[2],以及09年的Deep belief networks等等。从生成模型的角度来说,我们需要让算法能学习到数据的分布情况,而这个分布从Bayes观点来说,可以认为是class-conditional probability。然而对于复杂的数据,例如高分辨率的图像,学习到它的像素的分布情况是个极其困难的问题。所以,对于生成natural images,之前的算法一直没有取得好的效果。最近的一些算法就基本解决了这个问题,比如variational autoencoder[3],简称VAE.以及我们介绍过的adversarial networks[4]。Good fellow 14年提出的对抗网络,应该没有想到它现在会这么火爆。 对抗网络可以认为是一个生成模型和一个判别模型组成的。一般情况下,生成模型和判别模型都是使用的神经网络的算法,比如感知器,或者卷积神经网络。对于对抗网络,经过所谓的对抗过程的训练之后,Generative networks可以生成realistic image

对抗神经网络(二)——DCGAN

穿精又带淫゛_ 提交于 2019-12-05 09:27:45
一、DCGAN介绍 DCGAN即使用卷积网络的对抗网络,其原理和GAN一样,只是把CNN卷积技术用于GAN模式的网络里,G(生成器)网在生成数据时,使用反卷积的重构技术来重构原始图片。D(判别器)网用卷积技术来识别图片特征,进而做出判别。同时,CDGAN中的卷积神经网络也做了一些结构的改变,以提高样本的质量和收敛速度。 DCGAN的generator网络结构图如下: G网中使用ReLU作为激活函数,最后一层使用Tanh作为激活函数。 去掉了FC层,使网络变为全卷积网络。 DCGAN的discriminator网络结构图如下: D中取消所有的池化层,使用转置卷积(transposed convolutional layer)并且步长大于等于2进行上采样。 D网中也加入stride的卷积代替pooling。 在D网和G网中均使用批量归一化(batch normalization),而在最后一层时通常不会使用batch normalization,这是为了保证模型能够学习到数据的正确均值和方差。 D网络中使用LeakyReLU作为激活函数。 DCGAN中换成了两个卷积神经网络(CNN)的G和D,可以刚好的学习对输入图像层次化的表示,尤其在生成器部分会有更好的模拟效果。DCGAN在训练过程中会使用Adam优化算法。 三、网络实现 以人脸数据为例 1、环境配置(Environments )

吴恩达《深度学习》第四门课(3)目标检测(Object detection)

拟墨画扇 提交于 2019-12-05 09:16:00
3.1目标定位 (1)案例1:在构建自动驾驶时,需要定位出照片中的行人、汽车、摩托车和背景,即四个类别。可以设置这样的输出,首先第一个元素p c =1表示有要定位的物体,那么用另外四个输出元素表示定位框的中心坐标和宽高,再用3个输出元素one-hot表示是三个类别中的哪一类。当第一个元素p c =0时表示是背景,然后就不需要考虑其他输出了,如下图所示( 需要注意的是是根据图片的标签y来决定使用几个元素的 ): (2)损失函数:上图中左下角是使用了平方误差损失函数这是为了方便解释方便而使用的。实际使用中p c 使用逻辑回归,c 1 ,c 2 ,c 3 是用softmax激活然后然后用对数损失函数,位置信息是使用平方误差损失函数,然后将这些损失函数相加起来得到最终的代价函数。当标签y=0时,只考虑p c 即可。 3.2特征点检测 (1)特征点检测就是第一个单元输出1,表示有这个对象(如人脸),然后如果在人脸上定义了64个特征点(如下图所示),每个特征点用(x,y)表示,那么网络将会有1+2*68=129个单元输出。需要注意的一点是在标注样本时,所有标签在所有图片中务必保持一致,比如说,第5个特征点表示左眼的外眼角,那么所有图片的第五个特征点都应该是这个。 3.3目标检测 (1)案例是检测图片中的汽车,首先是有裁剪合适的照片(裁剪合适是指照片中如果有汽车那么汽车将占满整张图)