一文简单介绍卷积神经网络(CNN)

写在前面

本文简单介绍卷积神经网络出现的原因,是为了解决什么问题,以及介绍下卷积神经网络的层次结构,各层级进行的操作以及作用。

CNN为何出现

CNN的出现是为了解决BP神经网络处理图像时的缺陷,BP神经网络在处理图像时会把图像的每一个像素值作为特征输入到神经网络中,这势必会丢失掉图像的二维结构信息,在用BP神经网络对图像进行分类的时候,图像中的物体不能移动不能变形,否则会带来识别时的错误,这就是我上一文Tensorflow实战入门:MNIST手写数字识别用BP神经网络中的softmax回归模型进行MNIST手写数字识别时最后的模型测试精度只有0.92左右。并且BP神经网络中的神经元都采用全连接的方式,这会造成权重矩阵过大,运算量大。因为这些原因,用BP神经网络处理图像时一度遇到了瓶颈,而CNN为了解决这一系列的问题横空出世。

CNN的层级结构

我们知道传统的BP神经网络是长这样的,如下图。

在这里插入图片描述

那么CNN只是在BP神经网络上的基础上对网络层级的功能和形式做了一些改变,增加了一些在BP神经网络中没有的层级,我们可以把CNN理解为是BP神经网络的一种改进体。

在这里插入图片描述
下图是CNN的典型结构,如图所示该CNN神经网络有7层,从左往右分别是:卷积层、池化层、卷积层、池化层、全连接层、全连接层、输出层。(请注意这里的输入特征并不算在网络的层级里)

从上图我们可以看出,卷积层和池化层实际是在做特征提取的操作,再把提取到的特征输入给全连接层(传统的BP神经网络)。

卷积层

在CNN中的第一层卷积层,先选择一个局部区域(filter)去扫描整张图片,局部区域所圈起来的所有节点会和filter做乘法累加操作,再连接到下一层的一个节点上。假设要扫描的图片是一张灰度图片(也就是只有一个颜色通道),所有的filter也是个二维的矩阵,那个该卷积过程可以用如下动图表示。

在这里插入图片描述

那假如卷积层要扫描的图片是张彩色图片(也就是该图片有RGB三个通道),那么图片的像素可以表示成三维结构,所选用的filter也是个三维结构,如图所示。

在这里插入图片描述

也用一张动图表示一下该卷积过程。

请注意一个filter卷积一张图片(无论图片是单通道还是多通道)只能得到一个面的信息,多个filter得到多个面(形象的理解可以这么理解),可以把filter扫描图片(卷积)的过程看做是提取特征的过程,一次卷积提取图片一类的特征(比如多次filter分别提取图片红通道、绿通道、蓝通道的像素特征)

池化层

如果输入是图像的话,那么池化层的最主要作用就是压缩图像。假如池化层夹在连续的卷积层中间, 那么就是用于压缩上一层卷积层卷积下来的数据(或者也可以理解为过滤),减小过拟合。

池化层的工作过程同样也可以用一张动图简单表示。

上图对于每个3 * 3的窗口选出最大的数作为输出矩阵的相应元素的值,比如输入矩阵第一个3 * 3窗口中最大的数是5,那么输出矩阵的第一个元素就是5,如此类推。

请注意这里的窗口每次扫描过的像素不出现重复,避免重复过滤像素。

全连接层

通常全连接层在卷积神经网络尾部,跟传统的神经网络神经元的连接方式是一样的,全连接层把前面卷积层和池化层的输出作为特征值进行网络的训练,而利用反向传播算法修正全连接层的参数和阈值以及之前卷积层filter的权重等。

在这里插入图片描述

总结

综上所述,卷积神经网络(CNN)是BP神经网络的一种变体,它不再像BP神经网络那样把图片的像素值作为模型的特征进行训练,而是把图片的像素值经过一系列的处理后(卷积、池化)输出的值作为特征喂给模型训练。这种做法的好处是能保留图片的多维信息,提高模型分类的精度,利用传统的BP神经网络进行模型的构建,会拆散图片的多维信息(RGB三原色通道值、明亮度、饱和度)

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
卷积神经网络CNN)是一类包含卷积计算的前馈神经网络,专门用于图像处理等任务。CNN的设计基于图像任务中的平移不变性,也就是说图像中的对象在不同位置具有相同的含义。 CNN在图像处理领域得到了广泛应用,它能够有效处理高维的图像数据(如RGB矩阵表示),避免了传统的前馈网络需要大量输入神经元的问题。 使用CNN进行图像识别基本流程如下: 1. 数据准备:收集并标注大量的图像数据集,将其划分为训练集和测试集。 2. 网络构建:使用CNN的核心概念,如卷积层(Conv2D)、池化层(MaxPool2D)、展平层(Flatten)和全连接层(Dense),构建一个适合图像识别任务的网络结构。 3. 训练模型:使用训练集的图像数据作为输入,通过反向传播算法和优化器(如Adam)对网络进行训练,使其能够学习图像中的特征和模式。 4. 评估与调优:使用测试集的图像数据对训练好的模型进行评估,并根据评估结果进行调优,如调整网络参数、增加数据量等。 5. 应用模型:在实际应用中,使用训练好的模型对新的图像数据进行识别,实现图像分类、目标检测等任务。 综上所述,CNN卷积神经网络)是一种用于图像识别的神经网络模型,通过对图像进行卷积计算和特征提取,能够有效地进行图像分类和目标检测等任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [基于CNN的图像识别(Tensorflow)](https://blog.csdn.net/first_bug/article/details/124938432)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [一文弄懂CNN及图像识别](https://blog.csdn.net/m0_61899108/article/details/122401122)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值