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

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。

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

其中,fl表示l层过滤器的大小,比如常见的3*3,、5*5等。pl表示l层输入的填充数,比如pl=1就是在第l层的输入填充一圈像素值,通常是0。sl表示第l层的卷积步长。ncl表示第l层过滤器的数量。第l层的输入是第l-1层的输出,nHl-1和nWl-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分类),最终输出分类的结果。

相关推荐
程序员cxuan4 小时前
为每个任务配一套 harness:Claude Code 里的动态工作流
人工智能
程序员cxuan5 小时前
Claude Fable 5 来了
人工智能·后端·程序员
云边云科技_云网融合5 小时前
云边云科技亮相 2026 WOD 制造业数智化博览会 云网融合赋能制造焕新
人工智能·科技·安全·制造
Σίσυφος19005 小时前
激光三角 光平面标定-多高度误差分析
人工智能·计算机视觉·平面
JS菌5 小时前
手写一个 AI Agent 全栈项目:从沙箱执行到子智能体的完整实现
前端·人工智能·后端
lqqjuly5 小时前
前沿算法深度解析(二)
人工智能·算法·机器学习
Bode_20025 小时前
基于大数据分析的全生命周期质量追溯质量评估体系落地方案
大数据·人工智能
分布式存储与RustFS5 小时前
RustFS S3 Table 开源后,我重新梳理了一下 Iceberg 数据湖的选型思路
人工智能·开源·minio·dpu·rustfs·ai存储·s3 table
DevOpenClub6 小时前
用 Agent 搭建网页内容采集与结构化处理流水线
人工智能
56AI6 小时前
2026 企业级AI智能体开发平台推荐:聚焦底层安全与准确率的智能体平台
人工智能·安全·智能体