使用tensorflow构建一个卷积神经网络

栏目: 数据库 · 发布时间: 7年前

内容简介:卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现,主要包括卷积层(convolutional layer)和池化层(pooling layer),主要应用于图像、视频、时间序列信号、音频信号、文本数据等。一般的卷积神经网络都是由多个卷积层组成,每个卷积层主要包括以下几个部分:

一、卷积神经网络

卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现,主要包括卷积层(convolutional layer)和池化层(pooling layer),主要应用于图像、视频、时间序列信号、音频信号、文本数据等。

使用tensorflow构建一个卷积神经网络

一般的卷积神经网络都是由多个卷积层组成,每个卷积层主要包括以下几个部分:

1、图像会通过多个不同的卷积核进行滤波,并加偏置,提取出图像的局部特征,每一个卷积核都会映射一个新的2D图像。

2、将前面的卷积核的滤波输出结果,并使用非线性的激活函数进行处理。最常用的激活函数有ReLU函数以及它的变种,还有tan函数,以前最常用的激活函数是sigmoid函数。

3、对激活函数的结果进行池化操作(最大池化、平均池化),目的是为了达到降采样,将2×2的图片降为1×1。最常用的是最大池化,可以保留图像的显著特征,并提升模型的畸变容忍能力,提高模型的鲁棒性。

二、使用tensorflow构建一个卷积神经网络

通过tensorflow来构建一个卷积神经网络并将其应用在MNIST手写数据集上,最后可以得到一个99%以上的准确率。这个模型主要包含四层:

第一层:卷积层,卷积核的大小为5×5,一共包含32个卷积核,步长为1,padding为SAME使得输出图片的大小和输入一致。

第二层:卷积层,卷积核的大小为5×5,一共包含64个卷积核, 步长核填充方式和上一层卷积层一样。

第三层:全连接层,输入7×7×64,输出一个1024维的向量,并使用dropout使得部分节点失活来防止过拟合。

第四层:softmax层,输入是一个1024维的向量,输出一个10维的向量。

1、第一层卷积层

第一层卷积层的输入是一个28×28×1的图片,图片的宽高都是28,图片通道为1,通过卷积层之后的输出为28×28×32,然后通过最大池化,输出为14×14×32。

使用tensorflow构建一个卷积神经网络

2、第二层卷积层

第二层卷积层的输入是14×14×32,通过卷积之后的输出是14×14×64,然后通过最大池化之后的输出为7×7×64。

使用tensorflow构建一个卷积神经网络

3、第三层全连接层

第三层的输入是一个7×7×64的向量,所以要在计算之前对第二层卷积层的结果进行reshap操作,全连接层通过ReLU激活函数之后,再对其进行dropout操作。

使用tensorflow构建一个卷积神经网络

4、第四层softmax层

第四层的输入是一个1024维的向量,输出是一个10维向量,表示属于0-9数字的概率。

使用tensorflow构建一个卷积神经网络

5、权重的初始化

在卷积神经网络中,权重的初始化很重要,这里我们使用的是一个截断的正态分布函数来参数权重,并保证参数的标准差为0.1。 截断的正态分布是指如果函数随机产生的值与均值的差值大于两倍的标准差,那这个值将会被重新生成,来保证初始化权重的值不会相差太大。

使用tensorflow构建一个卷积神经网络

6、初始化截距

截距的值都初始化为0.1

使用tensorflow构建一个卷积神经网络

7、卷积函数

卷积的步长为1,填充方式是SAME,来保证卷积的输入和输出的大小一致。

使用tensorflow构建一个卷积神经网络

8、最大池化函数

最大池化的横向和纵向的步长都为2,使得输出图片大小为输入图片大小的一半,达到降采样的目的。

使用tensorflow构建一个卷积神经网络

完整代码:

https://github.com/steelOneself/tensorflow_learn/blob/88f614508081d8c3a926ea000966aa8d1ac35440/MNIST_examples/CNNMNIST.py


以上所述就是小编给大家介绍的《使用tensorflow构建一个卷积神经网络》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

IT不再重要

IT不再重要

(美)尼古拉斯·卡尔 / 闫鲜宁 / 中信出版社 / 2008-10 / 29.00元

在这部跨越历史、经济和技术领域的著作中,作者从廉价的电力运营方式对社会变革的深刻影响延伸到互联网对我们生活的这个世界的重构性影响。他批判式的认为,企业想应用网络或应用程序,不再需要自建资料中心、自组IT团队维护和管理系统,因为互联网就像自来水或电力一样,可由专门公司提供服务,你可以付费使用。而如果他的设想真的会实现,我们的世界将会变成什么样子?IT产业的命运又将如何?这又对企业的IT领域投资产生什......一起来看看 《IT不再重要》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试