当前位置: 首页 > news >正文

卷积神经网络(convolutional neural network, CNN)

卷积神经网络(convolutional neural network, CNN)

卷积神经网络(convolutional neural network, CNN),是一种专门用来处理具有类似网格结构的数据的神经网络。卷积网络是指那些至少在网络的一层中使用卷积运算来替代一般的矩阵乘法运算的神经网络。

卷积神经网络的层次结构

在这里插入图片描述

卷积神经网络的五种结构

输入层

在处理图像的CNN中,输入层一般代表了一张图片的像素矩阵。可以用三维矩阵代表一张图片。三维矩阵的长和宽代表了图像的大小,而三维矩阵的深度代表了图像的色彩通道。比如黑白图片的深度为1,而在RGB色彩模式下,图像的深度为3。

卷积层(Convolution Layer)

在这里插入图片描述
通过卷积操作对输入图像进行降维和特征抽取

其中几个重要参数:

a. 深度depth:神经元个数,决定输出的depth厚度。同时代表滤波器个数。
b. 步长stride:决定滑动多少步可以到边缘。

c. 填充值zero-padding:在外围边缘补充若干圈0。

卷积运算是线性操作,而神经网络要拟合的是非线性的函数,因此和前全连接网络类似,我们需要加上激活函数,常用的有 sigmoid 函数tanh 函数,ReLU 函数等

神经网络前部卷积层有小的感受野,可以捕捉图像局部、细节信息,即输出图像的每个像素(Activation激活值)只是感受到输入图像很小范围数值进行计算的结果。
后面的卷积层感受野逐层加大,用于捕获图像更复杂,更抽象的信息。
无论输入图片多大,卷积层的参数规模都是固定的

池化层(Pooling Layer)

池化(Pooling):也称为欠采样或下采样。主要用于特征降维,压缩数据和参数的数量,减小过拟合,同时提高模型的容错性。主要有:

  • Max Pooling:最大池化
  • Average Pooling:平均池化
    通过卷积操作,我们完成了对输入图像的降维和特征抽取,但特征图像的维数还是很高。维数高不仅计算耗时,而且容易导致过拟合。为此引入了下采样技术,也称为 pooling即池化操作。
    池化的做法是对图像的某一个区域用一个值代替,如最大值或平均值。如果采用最大值,叫做 max 池化;如果采用均值,叫做均值池化。除了降低图像尺寸之外,下采样带来的另外一个好处是平移、旋转不变性,因为输出值由图像的一片区域计算得到,对于平移和旋转并不敏感。

总结池化层作用

降维,缩减模型大小,提高计算速度
降低过拟合概率,提升特征提取鲁棒性
对平移和旋转不敏感

池化层的具体实现是在进行卷积操作之后对得到的特征图像进行分块,图像被划分成的不相交块,计算这些块内的最大值或平均值,得到池化后的图像。
在这里插入图片描述
通过池化层,使得原本44的特征图压缩成了22,从而降低了特征维度。
在这里插入图片描述

全连接层(fully connected layer)

在经过多轮卷积层和池化层的处理之后,在CNN的最后一般会由1到2个全连接层来给出最后的分类结果。经过几轮卷积层和池化层的处理之后,可以认为图像中的信息已经被抽象成了信息含量更高的特征。我们可以将卷积层和池化层看成自动图像特征提取的过程。在提取完成之后,仍然需要使用全连接层来完成分类任务。

Softmax层

通过Softmax层,可以得到当前样例属于不同种类的概率分布问题。

http://www.lryc.cn/news/44623.html

相关文章:

  • kube-apiserver启动流程源码分析
  • Scala基础(二)
  • Python 生产者消费者模型是什么?
  • 手机银行评测系列:北京银行“京彩生活”7.0从用户视角出发,实现沉浸式体验重塑
  • ZJYC2023 浙江省大学生程序设计竞赛校内选拔赛部分题解 C J B L
  • 百科创建:7种有效的百科词条创建技巧
  • ThreeJS-dat.gui界面控制颜色、隐藏、位置(六)
  • 接口自动化测试,完整入门篇
  • 利用ControlNet重新定义你的AI姿势
  • 中医药NER命名实体识别基于SPANNER方式
  • Vue必掌握
  • SSM部分
  • 【Springboot系列】Springboot接管所有Controller,magic-api源码阅读
  • 二、LED子系统数据结构详解
  • Kubernetes(11):数据存储详解
  • 随想录Day43--动态规划: 1049. 最后一块石头的重量 II , 494. 目标和 , 474.一和零
  • Qt中对TCP粘包的处理
  • 贪心-单调递增的数字
  • 你真的会用搜索引擎吗?
  • KDCJ-20kV冲击耐压测试仪
  • 【Mybatis源码分析】TypeAliasRegistry源码分析
  • 节点高负载
  • 动态规划(一) part1
  • Ubuntu显卡报错:Failed to initialize NVML Driver/library version mismatch
  • JAVA企业电子采购系统源码:采购过程更规范,更透明
  • 5.5G产业再提速!高通5GAdvanced-ready芯片商用终端下半年面世
  • 基于B站王阿华的视频——为什么当下自媒体都在制造焦虑以及如何摆脱
  • 一、Docker介绍:
  • Vue进阶(一篇进入Vue3的世界)
  • 功能测试的分类,分别有什么作用?