使用tensorflow构建一个卷积神经网络
一、卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现,主要包括卷积层(convolutional layer)和池化层(pooling layer),主要应用于图像、视频、时间序列信号、音频信号、文本数据等。
一般的卷积神经网络都是由多个卷积层组成,每个卷积层主要包括以下几个部分:
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。
2、第二层卷积层
第二层卷积层的输入是14×14×32,通过卷积之后的输出是14×14×64,然后通过***池化之后的输出为7×7×64。
3、第三层全连接层
第三层的输入是一个7×7×64的向量,所以要在计算之前对第二层卷积层的结果进行reshap操作,全连接层通过ReLU激活函数之后,再对其进行dropout操作。
4、第四层softmax层
第四层的输入是一个1024维的向量,输出是一个10维向量,表示属于0-9数字的概率。
5、权重的初始化
在卷积神经网络中,权重的初始化很重要,这里我们使用的是一个截断的正态分布函数来参数权重,并保证参数的标准差为0.1。 截断的正态分布是指如果函数随机产生的值与均值的差值大于两倍的标准差,那这个值将会被重新生成,来保证初始化权重的值不会相差太大。
6、初始化截距
截距的值都初始化为0.1
7、卷积函数
卷积的步长为1,填充方式是SAME,来保证卷积的输入和输出的大小一致。
8、***池化函数
***池化的横向和纵向的步长都为2,使得输出图片大小为输入图片大小的一半,达到降采样的目的。
完整代码:
https://github.com/steelOneself/tensorflow_learn/blob/88f614508081d8c3a926ea000966aa8d1ac35440/MNIST_examples/CNNMNIST.py


更多资讯推荐
- 有了这支矢量神经风格画笔,无需GAN也可生成精美绘画
-
一种新的神经风格画笔能够生成矢量形式的绘画作品,在统一框架下支持油画、马克笔、水彩画等多种笔触,并可进一步风格化。
机器之心 · 1天前
- ICLR 2021研究挖掘游戏技能包?有序记忆决策网络帮你实现
-
在现实世界里,人类尤其具有这种将复杂任务有效分解为多个子任务的能力。这种能力帮助人类面对新环境时加速自身的学习过程并获得更好的泛化能力。
Yucheng Lu, Yikang Shen等 · 3天前
- CPU比GPU训练神经网络快十几倍,英特尔:别用矩阵运算了
-
神经网络训练通常是 GPU 大显身手的领域,然而莱斯大学和英特尔等机构对 GPU 的地位发起了挑战。
机器之心 · 2021-04-09 15:45:08
- Facebook创造了两个会交流的神经网络来描述颜色
-
尽管人类世界拥有数千种语言,但是使用词语来表示不同颜色的方式是非常一致的。
佚名 · 2021-03-30 17:16:44
- 美媒:人工智能发展五大趋势引期待
-
人工智能创新继续快速发展,几乎所有行业都出现了爆炸式增长。那么,过去一年里我们收获了什么?我们可以对2021年的人工智能发展有何期待?人工智能发展已经出现了五大趋势。预计这些趋势将在2021年变得更加突出。
参考消息 · 2021-03-22 13:00:38
- 新型 AI 可以 “潜入人类大脑”,洞察什么容貌最吸引你
-
北京时间 3 月 11 日消息,据国外媒体报道,目前,科学家最新开发一种新型 AI 人工智能系统,它可以 “潜入人类大脑”,洞察哪些类型的面孔容貌最吸引你。
叶倾城 · 2021-03-11 09:46:45
- 高颜值神经网络可视化:3D彩色、可定制,还能可视化参数重要性
-
最近,一款神经网络可视化工具火了。这款工具叫做「nn_vis」,它采用了新的3D可视化技术,可以呈现这样的效果。
子豪 · 2021-03-08 09:25:48
- Pytorch教程:新手的快速指南
-
今天,我们将帮助了解Pytorch如此流行的是什么,使用Pytorch的一些基础,并帮助您制作第一个计算模型。
闻数起舞 · 2021-03-07 09:05:45