卷积神经网络(CNN)一些定义的总结:卷积、池化、滤波器、内核、特征图、输入层、隐藏层……(可能不全面,后续遇到会补充)

一、基本概念

1.卷积(Convolution)

卷积是一个物理和数学的概念,可以理解为,系统某一时刻的输出是由多个输入共同作用(叠加)的结果。
卷积公式如下:
卷积公式

详细讲解可以看【从“卷积”、到“图像卷积操作”、再到“卷积神经网络”,“卷积”意义的3次改变】https://www.bilibili.com/video/BV1VV411478E?vd_source=6f69eb2b361d7f319fa5f5250e9a5d4a

实质上,卷积就是对信息(信号)进行“过滤”(滤波),它能够“过滤出”我们感兴趣、对我们有用的信息

在这里的卷积和物理数学上的概念不一同,在图像的卷积操作中,f(x) 可以理解为原始像素点(source pixel),所有的原始像素点叠加起来,就是原始图了,g(x)可以称为作用点,所有作用点合起来我们称为卷积核(Convolution kernel),实际上,卷积就是把一个点的像素值用它周围的点的像素值的加权平均代替(仍然是一种线性运算),最后的结果我们称为destination pixel。

请添加图片描述
卷积核(也可以叫滤波器)有哪些作用?
(1)原始图像通过与卷积核的数学运算,可以提取出图像的某些指定特征(features)。

(2)不同卷积核,提取的特征也是不一样的。

(3)提取的特征一样,不同的卷积核,效果也不一样。
**PS:**卷积运算是矩阵的一种哈德马积,不是线性代数中常用的乘积。

2.池化(pooling)

池化也成为下采样,一般在卷积过程之后,其本质就是采样,会压缩输入的特征图(卷积运算后的结果),一方面减少了特征,导致了参数减少,进而简化了卷积网络计算时的复杂度;另一方面保持了特征的某种不变性(旋转、平移、伸缩等)。
池化还有一个特点就是不会对通道之间的交互有影响,而卷积层则可以在通道与通道之间进行交互,之后在下一层生成新的通道。

目的就是特征降维,进一步的信息抽象和特征提取,降低对计算资源的损耗,降低图像分辨率,防止模型过拟合。最常见的方式有最大值(Max)池化、最小值(Min)池化、平均值(Average)池化。
简而言之,池化就是去除杂余信息,保留关键信息

3.滤波器(filter)&内核(kernel)

**内核(kernel)**是一个二维矩阵,长*宽
**滤波器(filter)**也叫卷积核,过滤器。是一个三维立方体,长× 宽 × 深度, 其中深度便是由 多少张内核构成,与输入层的深度维持。该矩阵的大小又称为感受野。
两者之间的关系:可以说 kernel 是filter 的基本元素, 多张kernel 组成一个filter;

4.特征图(通道)

**特征图(feature map)**就是对输入进行计算处理的输出,可以理解为RGB图像的三个通道,进行卷积操作之后生成一个新的矩阵就是一个特征图,特征图之后在进行卷积操作就再次生成特征图。

二、卷积神经网络层级结构

  • 输入层(Input Layer)
  • 卷积层(Convolutional Layer)
  • 激活层(Relu Layer)
  • 池化层(Pooling Layer)
  • 全连接层(FC Layer)

1.输入层

输入层为整个卷积神经网络输入图像,每个图像有若干像素点,每个像素点都对应着像素值,故图像也可看成像素值矩阵。卷积神经网络的输入图像一般有两种形式,分别为彩色图像和灰度图像,这里也就有了输入通道(这就是卷积层深度)的概念,彩色图像为RGB通道,输入通道为3,而灰度图像输入通道为1。彩色图像是在 RGB 色彩模式下的图像,该图像中每个像素点对应三个值,故一个彩色图像对应三个像素值矩阵。灰度图像中的每个像素对应一个灰度值,故一个灰度图像对应一个像素值矩阵。

2.卷积层

卷积层是进行卷积操作的一层,可以保持形状不变,当输入数据是图像时,卷积层会以3维数据的形式接收输入数据,并同样以3维数据的形式输出至下一层。因此在CNN中,可以正确理解图像等具有形状的数据。
卷积层最大的特点:局部感知和权重共享。

3.池化层

池化层是对输入的数据进行压缩,提取主要特征的过程,不会影响别的通道,因此不会产生行动通道。

4.隐藏层

隐藏层其实是一个简单的概念,在神经网络中,除了输入层和输出层之外的层级,都是隐藏层。这是因为在神经网络中,除了输入层和输出层之外的其他层级就像一个黑盒一般,无法看见,里面的层级是隐藏在这其中。

5.全连接层

全连接层,是每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性。
全连接层就是将最后一层卷积得到的特征图(矩阵)展开成一维向量,并为分类器提供输入,一般全连接层的参数也是最多的,简单来说全连接层的作用就是对特征图分类。
如果全连接层作为最后一层,再加上softmax或者wx+b,则可以分别作为分类或回归的作用,即“分类器”或“回归器”的作用);如果作为倒数第2,3层的话,全连接层的作用是信息融合,增强信息表达。

6.输出层

将全连接层的输出经过激活函数激活后输出

7.其他的功能层

  • 归一化层
  • 汇集层
  • 切分层
  • 融合层
    这些层级现在还没有遇见,等到需要的时候再补充

三、一些其他概念

1.激活函数的位置

一般来说,激活函数的位置就在神经网络不同层级的连接线上,也可以说是在两个神经元之间的连接线上。
一般来说,激活函数会在卷积层后面,但是这并不是一定的,在线性不可分的情况下需要有激活函数,在线性可分时,没有激活函数也是可以的。

2.局部连接(local connection)

局部连接是和全连接相对的,后面一层的神经元没有与前一层的神经元全部连接,之连接了部分神经元,只用来学习局部特征。请添加图片描述
这样做有什么好处呢?
显而易见的就是减少了学习的参数,减少了神经网络的冗余信息,同时也节约了设备的算力,还能加快学习率,在一定程度上防止过拟合。那么这样做会不会导致信息损失呢?是会的,这会导致图像变得模糊损失细节,但这也防止了过拟合,消除噪音,提高性能。

3.权重共享(参数共享)

权值共享就是说,给一张输入图片,用一个卷积核去扫这张图,卷积核里面的数就叫权重,这张图每个位置是被同样的卷积核扫的,所以权重是一样的,也就是共享。(来自科普中国

4.超参数

超参数就是参数,实在机器学习开始之前就人为设定好的参数,机器学习的过程就是对超参数进行优化。

5.边缘检测

简单来说,边缘检测就是卷积操作的一个特例,它的主要作用就是利用不同的卷积核与特征图进行卷积操作对特征图的边缘特征进行提取。

声明:
本博客是个人学习时的一些笔记摘录和感想,不保证是为原创,内容汇集了网上相关资料和书记内容,如有侵权请与博主联系。

猜你喜欢

转载自blog.csdn.net/w2190623446/article/details/128730745