DCGAN-深度卷积生成对抗网络-转置卷积
DCGAN中的DC也就是deep convolution,也就是将对抗生成网络放入到卷积神经网络中(对卷积神经网络不了解的可参考https://zhuanlan.zhihu.com/p/40709115),去实现其功能。或则说将卷积神经网络应用在了我们的对抗生成网络中。在DCGAN中主要有以下五个关键点:
1. 将pooling层convolutions替代,也就是只有卷积层,没有池化层(对于判别模型:由于没有了池化层,我们得容许判别网络学习自己的空间下采样,使其更能合适的去判别输入的数据。对于生成模型:我们是从特征数据生成一张图片(之后再输入到判别网络中去),也就是一个反卷积的过程,在这个过程中,我们需要网络学习自己的空间上采样)
2. 针对传统的GAN生成的数据差异性很小(原因:generator网络将所有的样本都收敛到同一个点了),使用batch normalization来解决初始化差的问题,以及梯度在传播过程中的消失等问题。
3. 在CNN中移除全连接层。
4. 在generator的除了输出层外的所有层使用ReLu,输出层采用tanh。
5. 在discriminator的所有层上使用LeakyReLU。
生成网络构建示例:
首先我们初始化一个100维的向量(噪音向量,其值没有任何意义),首先经过一个[100, 4*4*1024]的神经网络,再将其reshape一下,转化为上图所示的三维结构。再此网络进行反卷积,便可一步一步得到一张64*64*3的图片。如果不了解反卷积可以参考以下博文:https://buptldy.github.io/2016/10/29/2016-10-29-deconv/。简要地来简述卷积与反卷积:
卷积:我们假设图片为4*4的,卷积核为3*3的,步长为1。我们把3×3的卷积核展成一个如下所示的的稀疏矩阵 , 其中非0元素 wi,j表示卷积核的第 i 行和第 j 列。
我们再把4×4的输入特征展成的矩阵,那么,也就是的矩阵乘以的矩阵,最终变为的矩阵,将它重新排列2×2的输出特征就得到最终的结果。
反卷积:反卷积又被称为Transposed(转置) Convolution,为的矩阵,乘以之前卷积过后的矩阵, 将会得到的矩阵,再重新排列一下将会得到的矩阵,从而完成反卷积。
在一些深度学习网络的开源框架中并不是通过这种这个转换方法来计算卷积的,因为这个转换会存在很多无用的0乘操作,Caffe中具体实现卷积计算的方法可参考Implementing convolution as a matrix multiplication。
判别网络构建示例:
其主要就是卷积神经网络判别图像类别的工作。
我的微信公众号名称:深度学习与先进智能决策
微信公众号ID:MultiAgent1024
公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!
DCGAN-深度卷积生成对抗网络-转置卷积相关推荐
- 生成对抗网络简介,深度卷积生成对抗网络(DCGAN)简介
本博客是个人学习的笔记,讲述的是生成对抗网络(generate adversarial network ) 的一种架构:深度生成对抗网络 的简单介绍,下一节将使用 tensorflow 搭建 DCGA ...
- 深度卷积生成对抗网络(DCGAN)原理与实现(采用Tensorflow2.x)
深度卷积生成对抗网络(DCGAN)原理与实现(采用Tensorflow2.x) GAN直观理解 DCGAN网络结构 GAN训练目标 DCGAN实现 数据加载 网络 鉴别网络 生成网络 网络训练 定义损 ...
- 深度卷积生成对抗网络DCGAN之实现动漫头像的生成(基于keras Tensorflow2.0实现)
起飞目录 DCGAN简介 反卷积(上采样upsampling2D) 数据集 代码实战 数据导入和预处理 生成器G 判别器D 训练模块 完整代码 结果 2020 8/13补充 DCGAN简介 原始GAN ...
- 深度卷积生成对抗网络--DCGAN
本问转自:https://ask.julyedu.com/question/7681,详情请查看原文 --前言:如何把CNN与GAN结合?DCGAN是这方面最好的尝试之一,DCGAN的原理和GAN是一 ...
- DCGAN——深度卷积生成对抗网络
译文 | 让深度卷积网络对抗:DCGAN--深度卷积生成对抗网络 原文: https://arxiv.org/pdf/1511.06434.pdf -- 前言:如何把CNN与GAN结合?DCGAN是这 ...
- 深度卷积生成对抗网络DCGAN——生成手写数字图片
前言 本文使用深度卷积生成对抗网络(DCGAN)生成手写数字图片,代码使用Keras API与tf.GradientTape 编写的,其中tf.GradientTrape是训练模型时用到的. 本文用到 ...
- 深度卷积生成对抗网络
深度卷积生成对抗网络 Deep Convolutional Generative Adversarial Networks GANs如何工作的基本思想.可以从一些简单的,易于抽样的分布,如均匀分布或正 ...
- 对抗生成网络_深度卷积生成对抗网络
本教程演示了如何使用深度卷积生成对抗网络(DCGAN)生成手写数字图片.该代码是使用 Keras Sequential API 与 tf.GradientTape 训练循环编写的. 什么是生成对抗网络 ...
- 深度学习生成对抗网络(GAN)
一.概述 生成对抗网络(Generative Adversarial Networks)是一种无监督深度学习模型,用来通过计算机生成数据,由Ian J. Goodfellow等人于2014年提出.模型 ...
- 理解与学习深度卷积生成对抗网络
一.GAN 引言:生成对抗网络GAN,是当今的一大热门研究方向.在2014年,被Goodfellow大神提出来,当时的G神还是蒙特利尔大学的博士生.据有关媒体统计:CVPR2018的论文里,有三分之一 ...
最新文章
- mysql 两列计数_MySQL在两列上计算唯一值,并为每列连接这些计数
- word List 24
- Express接口案例——完成文章增删改查接口
- java ftp上传超时_有关java的ftp上传文件时断网的问题
- opencv图像分割2-GMM
- Oracle中两个重要的语句
- 提交日期表单状态操作_奇怪的知识又增加了,表单还能查寝?
- 马云老师给AI留了几句话
- 自己定义图片的progressbar
- 关于PPPOE拨号分配给用户32位掩码,且IP与网关相同的问题
- unity visual effect Graph 1
- python 对比文件内容差异_Python-文件差异对比
- IEC104规约调试
- Vue+canvas 实现自定义文字样式转图片,文字与图片进行合成(内蒙古民族大学实习项目)
- arcgis 经纬度转大地坐标_ArcGIS的地理坐标系与大地坐标系
- PROFINET 建立连接的原理
- excel如何将内容拆分
- SDWebImage如何避免复用
- 【NIPS 2018】完整论文下载链接
- 10.IDEAD 的xml中配置DTD