tensorflow实现卷积神经网络

本文介绍了卷积神经网络(CNN)的基础知识,包括其构成、卷积层、池化层的工作原理,以及权值共享和局部连接的重要性。通过实例展示了CNN如何通过局部连接和权值共享减少参数数量,同时探讨了CNN的优势。最后,文章使用TensorFlow演示了简单CNN模型的构建过程。
摘要由CSDN通过智能技术生成

卷积神经网络的简介:

相对于传统的图像分类,卷积神经网络(Convolutional Neural Network, CNN)提取的特征能够达到很好的效果,同时不需要将特征提取和分类训练两个过程分开。

CNN的构成:
(1)输入层,在CNN中,输入层与全连接网络的输入层类似,是一张图像的像素矩阵。
(2)卷积层,它是CNN中最重要的组成部分,卷积层中每一个节点的输入只是上一层神经网络的一小块(局部感受野),这个小块尺寸(滤波器的尺寸)经常使用3*3或者5*5。卷积层试图将神经网络中的每个小块进行更加深入地分析从而得到更加抽象的特征。一般来说,通过卷积层处理过的节点矩阵深度会增加(也就是说使用滤波器的个数比上一层的feature map数量多)。下面我们详细介绍一下卷积层的实现过程。
下图显示了卷积层的结构,这个部分称为滤波器。滤波器可以将当前神经网络上的一个子节点矩阵(局部感受野)转化为下一层神经网络上的一个单位节点矩阵(指的是一个长和宽均为1,但是深度不限的节点矩阵)。
这里写图片描述
值得注意的是,在一个卷积层中,滤波器说处理的节点矩阵的长和宽都是由人工指定的,虽然节点矩阵是三维的,但过滤器的尺寸只需要两个维度(以RGB图像输入层和卷积层相连的结构为例,只需要指定滤波器尺寸的长和宽,另一个维度是由输入决定的,对于RGB图像,由于它有三个通道,所以第三个维度是3,对于灰度图像,它的第三个维度为1;如果卷积操作在中间层,则第三个维度取决于上一层feature map的个数),同时滤波器另一个需要人工设定的参数为处理得到单位节点矩阵的深度,这个设置成为滤波器的深度。注意的是,过滤器的尺寸指的是一个过滤器输入节点矩阵的大小,而深度值得是输出单位节点矩阵的深度(也就是当前层你想得到的feature map的数量)。
下面以一个例子来说明卷积操作的过程。假设将一个2*2*3的节点矩阵转化为1*1*5的单位节点矩阵。单位矩阵中的第i个节点的取值计算公式为:
这里写图片描述
其中, ax,y,z a x , y , z 为过滤器节点 (x,y,z) ( x , y , z ) 的取值,

  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值