CNN卷积神经网络

本文深入解析CNN原理,从机器识图开始,阐述卷积层如何通过卷积核提取图像特征,池化层的作用在于减少参数并防止过拟合,全连接层用于生成最终分类。关键步骤包括图像数字化、特征提取与汇总,以及池化与分类技术的应用。

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

CNN卷积神经网络原理讲解
一、机器识图
在给定的格子里,绣上不同的颜色,最后就可以展现出一幅特定的“图片”。而机器识图的方式正好和绣十字绣的方式相反,现在有了一幅图片,机器通过识别图片中每个格子(像素点)上的颜色,将每个格子里的颜色都用数字类型存储,得到一张很大的数字矩阵,图片信息也就存储在这张数字矩阵中。
在这里插入图片描述
上图中每一个格子代表一个像素点,像素点里的数字代表颜色码,颜色码范围是[0,255],(各式各样的颜色都是由红、绿、蓝三色组成,每个颜色都是0~255之间数字)
一张大数字矩阵的基础上开展卷积神经网络识别(识别图片的本质就是识别像素点)
机器识图的过程:机器识别图像并不是一下子将一个复杂的图片完整识别出来,而是将一个完整的图片分割成许多个小部分,把每个小部分里具有的特征提取出来(也就是识别每个小部分),再将这些小部分具有的特征汇总到一起,就可以完成机器识别图像的过程了。
二、卷积层工作原理
卷积层的作用:就是提取图片每一个部分里具有的特征
假定在一个尺寸为6*6的图像中,每一个图像点都存储着图像信息,在定义一个卷积核(相当于权重矩阵,用于从图像中提取特征)。卷积核与数字矩阵对应位相乘在相加,得到卷积层输出结果。
在这里插入图片描述
卷积核的取值在没有以往学习的经验下,可由函数随机生成,在逐步训练调整
当所有的像素点至少被覆盖一次后,就可以产生一个卷积层的输出(下图的步长设置为1)
在这里插入图片描述

当然机器一开始不知道要识别的那部分具有那些特征,是通过与不同的卷积核相作用得到的输出值,相互比较来判断那一个卷积核最能表现该图片的特征-比如当我们要识别图像中的某些特征的(曲线),这个卷积核对曲线有很高的输出值,对其他的形状(比如三角形)则输出较低。卷积层输出值越高,则说明匹配程度越高,越能表现该图片的特征。
卷积层具体工作过程:
比如我们设计的一个卷积核如下左,想要识别出来的曲线如下右边:
在这里插入图片描述

当机器识别到老鼠的屁股时候,卷积核与真是区域数据矩阵进行作用,输出的值较大:6600
在这里插入图片描述

而用同一套卷积核来识别老鼠的耳朵时,输出则很小:0
在这里插入图片描述

此时就可以认为这个卷积核保存着曲线的特征,并且可以识别出该曲线是老鼠的屁股。若还需要其他特征的卷积,还需要去包含有其他特征信息的卷积核,来匹配识别老鼠的其他部分。卷积层的作用就是不断的改变卷积核来确定能初步表征图片的有用卷积核是哪些,在得到与相应卷积核相乘后的输出矩阵。

三、池化层的工作原理
池化层的输入就是卷积层输入的原数据与相应的卷积核相乘后的输出矩阵
池化层的目的:
减少训练参数的数量,降低卷积层输出的特征向量的维度
减少过拟合现象,只保留最有用的图片信息,减少噪声的传递
常见的两种池化层的形式
最大池化:选取指定区域内最大的一个数来代替整片区域
均值池化:选取指定区域内数据的均值来代表整片区域
在这里插入图片描述

在44的数字矩阵里,以步长22选取区域,比如上左将区域[1,2,3,4]中最大的值4池化输出;上右将区域[1,2,3,4]中平均值5/2池化输出

四、全连接层工作原理
卷积层和池化层的工作就是提取特征,并且减少原始图像带来的参数。然而,为了生成最终的输出,我们需要应用全连接层来生成一个类的数量的分类器。
全连接层的工作原理和之前的神经网络学习很类似,我们需要把池化层输出的张量重新切割成一些向量,乘上权重矩阵(卷积核),加上偏置值(偏置项保证分类器可以在空间的任何位置画决策面),然后对其使用ReLU激活函数,用梯度下降法优化参数既可

参考文献

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值