深度学习基础—简单的卷积神经网络

3.1.卷积层

下面以卷积神经网络的某一层为例,详解一下网络的结构。

假设当前位于l层,则输入6*6*3的彩色图片,有两个3*3*3的过滤器,卷积操作后将输出2个4*4的图片。如果把过滤器看成权重w,卷积这一步操作其实就是w*a,因此再加上偏置b,就得到类似普通神经网络的权重线性组合z,再把z输入到激活函数中,得到的结果a有2个,把这两个叠加起来,组成的a就是卷积层的输出。在这过程中卷积的结果4*4的图片大小一直没有变,加偏置和经过激活函数,实际上是对4*4的每一个元素进行运算,因此4*4的大小一直都不变,直到叠加后,卷积层的输出就是4*4*2。

可以发现卷积层和普通神经网络的隐藏层没有多大区别,就是把权重的线性组合变成卷积运算,并把激活函数的结果堆叠成一个多通道的图片。为了一般化,现在给出卷积层的参数标记:

其中,f[l]表示l层过滤器的大小,比如常见的3*3,、5*5等。p[l]表示l层输入的填充数,比如p[l]=1就是在第l层的输入填充一圈像素值,通常是0。s[l]表示第l层的卷积步长。nc[l]表示第l层过滤器的数量。第l层的输入是第l-1层的输出,nH[l-1]和nW[l-1]表示第l层输入的图片的高和宽(不一定是正方形图片),由于l-1层有几个过滤器,最后输出的图片就有几个通道,因此l层的输入图片的通道数等于l-1层的过滤器的数量。每一层为了卷积运算能正常进行,过滤器的通道数等于输入图片的通道数。l层的输出的通道数和本层过滤器的数量一致,但是高和宽与前面一篇文章的结论有关:

深度学习基础---卷积运算http://t.csdnimg.cn/Z7ETj

激活函数的输入就是对卷积结果的每一个元素,而权重的数量是过滤器的元素个数*过滤器的数量,偏置的数量是过滤器的数量。

3.2.构建简单的卷积神经网络结构

假设输入的彩色图片为x,大小是39*39*3,在第一层中,过滤器有10个,每个大小为3*3*3(通道数和输入的通道数相同),步长为1,没有填充,则输出的结果是37*37*10。第二层过滤器有20个,每个大小为5*5*10(通道数和输入的通道数相同),步长为2,没有填充,则输出的结果是17*17*20。第三层过滤器有40个,每个大小为5*5*20(通道数和输入的通道数相同),步长为2,没有填充,则输出的结果是7*7*40。

在最后一层,将7*7*40的图片平滑展开,每个元素都一个单元,一共1960个单元,也就是1960长度的列向量,再经过logistics回归单元(二分类)或softmax回归单元(k分类),最终输出分类的结果。

相关推荐
Xxtaoaooo5 小时前
原生多模态AI架构:统一训练与跨模态推理的系统实现与性能优化
人工智能·架构·分布式训练·多模态·模型优化
霖005 小时前
ZYNQ裸机开发指南笔记
人工智能·经验分享·笔记·matlab·fpga开发·信号处理
jianqiang.xue5 小时前
单片机图形化编程:课程目录介绍 总纲
c++·人工智能·python·单片机·物联网·青少年编程·arduino
heisd_15 小时前
在编译opencv出现的问题
人工智能·opencv·计算机视觉
三更两点5 小时前
第136期 谷歌Jules Tools反击Copilot的主导地位:重新定义工作流自动化18
人工智能
文火冰糖的硅基工坊5 小时前
[嵌入式系统-100]:IoT(物联网)与AIoT(人工智能物联网)
人工智能·物联网·架构·创业
淬炼之火6 小时前
基于pycharm和anaconda的yolo简单部署测试
python·深度学习·yolo·pycharm·ultralytics
麦麦大数据6 小时前
F024 CNN+vue+flask电影推荐系统vue+python+mysql+CNN实现
vue.js·python·cnn·flask·推荐算法
算法打盹中6 小时前
计算机视觉:卷积神经网络(CNN)图像分类从像素与色彩通道基础到特征提取、池化及预测
图像处理·神经网络·计算机视觉·cnn·图像分类
搞科研的小刘选手6 小时前
【早稻田大学主办】2026年第三届人工智能与未来教育国际学术会议(AIFE 2026)
人工智能·机器学习·数据挖掘·机器人·未来教育·远程教育·移动学习