卷积神经网络CNN结构及TensorFlow实现

本文介绍了卷积神经网络CNN的基本结构,包括卷积层CONV、池化层POOL和全连接层FC,并探讨了CNN的常见架构。接着,文章通过TensorFlow Estimator构建了一个CNN模型,用于MNIST手写数字分类,经过训练和评估,模型在测试数据集上取得了97.3%的准确率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

目录

一、卷积神经网络CNN的结构

1、卷积层CONV

 2、池化层POOL

3、全连接层FC

4、CNN常见架构

二、使用tensorflow Estimator构建CNN MNIST分类器

1、CNN模型函数

2、训练和评估CNN分类器


一、卷积神经网络CNN的结构

卷积神经网络通常包含卷积层、池化层和全连接层,下面是利用CNN对图片分类的结构图示例:

1、卷积层CONV

       将指定数量的卷积过滤器应用于图像。对于每个子区域,该层会执行一组数学运算,以在输出特征图中生成单个值。然后卷积层通常会向输出应用RELU激活函数,以便在模型中引入非线性规律。

过滤器

     获取输入网络层局部区域(包含输入网络层所有深度区域)的某方面特征,过滤器移动覆盖上层网络的所有区域,输入网络层相同深度的数据共享同一个过滤器。如下图所示,红色局部区域,通过一个过滤器,对应一个(下一网络层)蓝色神经元,五个神经元代表应用了五个过滤器,分别获取了五个方面的特征。输入层32*32*3,过滤器的大小为5*5,每一个神经元参数个数为5*5*3+1。

输出层:

    输出层长、宽计算 = (W-F+2P)/S+1

    W为输入层大小,F为过滤器大小,P为0填充维度,S为滑动步长。以下图为例,只展示一维数据,输入层为5*5(W),过滤层为3*3(F),0填充维度为1(P)。若步长为1(S),输出层为5*5;若步长为2,输出层为3*3。其中[1,0,-1]是过滤器权重。

输出层深度 = 过滤器个数

卷积层的计算过程

下图是一个卷积层计算过程,输入层为5*5*3,0填充维度为1,过滤器大小为3*3,移动步长为2,过滤器个数为2个,输出层维度为3*3*2 ( (5+2*1-3)/2+1=3 )。

卷积神经网络与传统神经网络的区别在于相邻两层的连接方式,卷积神经网络为局部连接,传统神经网络为全连接。卷积层涉及的参数个数为(3*3*3+1)*2=56;如果为传统神经网络,输入层元素个数为147,输出层元素个数为18,采用全连接,参数个数为(147+1)*18=2664。

 2、池化层POOL

对卷积层提取的图像数据进行向下采样,以降低特征图的维度,从而减少参数个数以及缩短处理时间。

过滤器:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值