卷积神经网络
整体架构#
输入层、卷积层、池化层、全连接层
卷积做了一件什么事?#
我们有一张64*64的图像数据,首先是全连接神经网络(如下图所示),输入数据的特征是1×4096的特征向量,每增加一个中间层的神经元,就会增加(4096+1)个参数,神经元的个数增加到10个,则参数个数会增加到525706。
针对全连接神经网络参数量级过大,我们引入了卷积神经网络(专门针对图像数据)
我们对全校学生对校长的满意度进行调查,这里假设全校有1024名同学,共分为16个班级,
- 全连接网络做的事情是,我们询问全校每一位同学对校长满不满意,共询问1024次,最终得出结果;
- 卷积神经网络做的事情是,我们分班级询问对校长满不满意,即询问16次,得到最终结果。也就是说我们将一个班级的64名同学汇总成一条结果,并反馈出来。
假设有一张图像(image)它的维度是32×32×3,经过一个维度为5×5×3的滤波器,得到什么?如下图所示:
特征图个数#
每一个滤波器所提取的特征侧重点是不一样的!!!
多个滤波器针对原始特征,所提取的特征更加丰富!!!
注意:这里除了滤波器以外,还对应每一个滤波器存在着一个偏置项b_i(i=1,2,3,4),对学习到的特征做微调。
卷积层涉及的参数#
-
滑动窗口步长(s)
-
卷积核的大小(滤波器的大小)
- 小的卷积核对于提取特征来说更加的细致,侧重于捕捉局部特征
- 大的卷积核侧重于捕捉全局特征
-
边缘填充(p)
假设步长为1时,可能为重中间的特征像素点会被不断地提取,而在左上,左下,右上,右下的的特征像素点往往只被提取到1~2次左右(即相对中间的特征像素点被提取的次数相对较少)。这样会导致学到的特征”偏科“,所用我们在其边缘填充一圈零元素,这样会使得左上,左下,右上,右下的的特征像素点多提取几次,并且填充零,不会造成学到的特征产生偏差。
-
卷积核的个数——影响特征图的大小
卷积结果计算公式#
卷积参数共享#
数据依旧是32×32×3的图像,继续用10个5×5×3的滤波器来进行卷积操作,所需的权重参数有多少个呢?
5×5×3 = 75,表示每一个卷积核只需要75个参数,此时有10个不同的卷积核,就需要10×75 = 750个卷积核参数,不要忘记还有b参数,每个卷积核都有一个对应的偏置参数,最终只需要750+10=760个权重参数。
池化层 - MAX Pooling#
在每一个2×2的池化卷积核里面选择最大的数-作为该范围的代表性特征(找到最能打的那个)
拓展#
-
计算卷积神经网络的层数
请问下面这张图里卷积神经网络的层数
答案是:7层
如何计算的呢?
我们约定熟成的说,带有参数的,如conv,FC 记作一层,剩下就是数卷积神经网络中conv,FC 的个数
- conv:即卷积层,它的参数包括卷积核(滤波器)和偏置项
- FC:即全连接层,它的参数包括权重矩阵和偏置项
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下