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

简介: 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

公众号介绍:主要研究强化学习、计算机视觉、深度学习、机器学习等相关内容,分享学习过程中的学习笔记和心得!期待您的关注,欢迎一起学习交流进步!

 

相关文章
|
10天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
139 55
|
20天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
109 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
23天前
|
机器学习/深度学习 资源调度 算法
图卷积网络入门:数学基础与架构设计
本文系统地阐述了图卷积网络的架构原理。通过简化数学表述并聚焦于矩阵运算的核心概念,详细解析了GCN的工作机制。
61 3
图卷积网络入门:数学基础与架构设计
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
126 7
|
26天前
|
机器学习/深度学习 自然语言处理 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
36 1
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
本文旨在通过深入浅出的方式,为读者揭示卷积神经网络(CNN)的神秘面纱,并展示其在图像识别领域的实际应用。我们将从CNN的基本概念出发,逐步深入到网络结构、工作原理以及训练过程,最后通过一个实际的代码示例,带领读者体验CNN的强大功能。无论你是深度学习的初学者,还是希望进一步了解CNN的专业人士,这篇文章都将为你提供有价值的信息和启发。
|
1月前
|
机器学习/深度学习 人工智能 网络架构
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
42 1
|
1月前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。