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

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分类),最终输出分类的结果。

相关推荐
数据与后端架构提升之路5 分钟前
感知模块详解:从 OpenCV/YOLO 脚本到 多模态多任务 BEV 架构
人工智能·机器学习·自动驾驶
咚咚王者9 分钟前
人工智能之数据分析 Matplotlib:第五章 常见函数
人工智能·数据分析·matplotlib
天天找自己15 分钟前
TransNeXt 深度解析:聚合注意力机制的突破性视觉骨干网络
人工智能·pytorch·python·深度学习·神经网络
iiiiii1121 分钟前
【论文阅读笔记】IDAQ:离线元强化学习中的分布内在线适应
论文阅读·人工智能·笔记·学习·算法·机器学习·强化学习
Cleaner22 分钟前
大模型的手和脚:从提示工程到 MCP
人工智能·llm·mcp
极客BIM工作室26 分钟前
Sora模型双路径压缩网络详解
人工智能·深度学习
DeepFlow 零侵扰全栈可观测31 分钟前
DeepFlow 全栈可观测性 护航某银行核心系统全生命周期
数据库·人工智能·分布式·云原生·金融
哈哈哈也不行吗40 分钟前
从入门到精通:大角几何在教学中的深度应用
人工智能·几何画板·几何绘图·大角几何·数学绘图工具
也不知秋40 分钟前
巧用 AI 提升 Excel 工作效率
人工智能
_codemonster1 小时前
深度学习实战(基于pytroch)系列(四十三)深度循环神经网络pytorch实现
pytorch·rnn·深度学习