卷积神经网络1-从全连接层到卷积层:理解卷积神经网络的基本原理

2025-09-02  本文已影响0人  R7_Perfect

1. 全连接层的局限性

在深度学习的世界中,我们通常从全连接层(Fully Connected Layer,简称FC层)开始讨论。全连接层适用于处理表格数据,其中每行表示一个样本,每列代表一个特征。在处理这些数据时,网络尝试从中发现潜在的规律。对全连接层来说,每个输入特征都会与每个神经元连接,意味着网络可以学习特征之间的复杂关系。
然而,针对高维感知数据(如图像)的处理,全连接层的局限性变得非常明显。假设你正在使用一百万像素的图像进行猫狗分类,每个像素都要作为一个特征输入到网络中。这将导致网络参数数量极其庞大,几乎不可能在没有大量计算资源和数据的情况下进行有效训练。
卷积神经网络(CNN) 通过巧妙地利用图像的结构特征,提供了一种更高效的解决方案。卷积神经网络能够通过减少参数数量,同时保留图像中的重要信息,从而解决全连接层在图像处理中的问题。

2. 不变性与局部性的概念

2.1 平移不变性

假设我们要从一张图像中找到某个物体。直观地说,物体在图像中的位置不应该影响我们是否能够识别它。例如,在“沃尔多在哪里”的游戏中,无论沃尔多出现在哪个位置,我们都能够通过他的装束来识别他。这个特性在计算机视觉中被称为平移不变性,即无论目标物体出现在图像的哪个位置,神经网络的反应应该是一样的。
卷积神经网络正是基于这一原则,通过扫描整个图像并对每个局部区域进行相同的处理,来实现平移不变性。这使得网络可以学习到不依赖于物体位置的特征,从而有效地进行物体识别。

2.2 局部性

局部性(Locality) 则意味着神经网络应该集中处理图像的局部区域,而不是试图一次性分析整个图像。通过仅关注图像的局部区域,卷积神经网络能够更高效地捕捉图像的局部特征(例如边缘、角点、纹理等)。
例如,当我们用卷积核扫描图像时,网络并不关心像素间远距离的关系,而是仅关注邻近像素的关系。这种局部处理方式降低了网络的复杂性,同时保留了图像中的有用信息。

3. 多层感知机的限制

对于一张二维图像,多层感知机将其展平为一维向量,然后通过全连接层进行处理。这种做法虽然在某些任务中有效,但在图像处理上却显得力不从心。

为了解决这些问题,卷积神经网络提出了利用局部连接的方式,通过卷积核来提取局部特征,从而大幅减少参数数量。

4. 卷积层的引入

4.1 卷积的数学定义

我们知道,卷积在数学中是一种操作,用来结合两个函数或信号,计算它们的重叠部分。在深度学习中,卷积被用来处理图像,帮助计算机从图像中提取有用的特征。那卷积到底是怎么一回事呢?我们通过一个简单的例子来理解。

4.1.1 卷积是什么?

想象一下,你有一张照片,照片上有很多的细节,比如边缘、纹理、颜色等等。卷积操作就是一种扫描过程,它像一个“探测器”一样,在图像上滑动,在每个位置检查图像的局部区域,并计算它们的“加权和”。这个加权和的结果就构成了新的特征图。
我们可以用一个简单的例子来说明这个过程:

4.1.2 数学公式是怎么表示的?

卷积的操作可以通过下面的数学公式来表示:


2fb299d8-c683-45a0-b1ab-e375734615c5.png

4.1.3 一个生动的例子

假设你有一张 5x5 的小图像:


f190033b-725d-4d6a-8b11-62102b9b97a4.png

并且你有一个 3x3 的卷积核(或滤波器):


262ac918-3692-4564-ae73-f08bf22448c1.png
这里,卷积核的作用是检测图像中的边缘,因为它的结构可以帮助检测左右边界的变化。我们来看看卷积是如何工作的:
  1. 卷积核从图像的左上角开始,覆盖住图像的前三个像素(就是一个 3x3 的区域):


    2492077c-7793-4756-8e7f-a6e7c1640f10.png
  2. 然后,卷积核与这个 3x3 区域进行“点乘”,即每个位置的数值相乘后相加:


    f488169f-1b88-491b-9d7a-9d9b88946aeb.png
  3. 接下来,卷积核滑到图像的下一个位置,重复这个过程,直到扫描完整张图像。
    最终,卷积操作会得到一个新的图像(也叫特征图),其中每个位置的数值都代表了该位置附近区域的特征。

4.1.4 为什么要做卷积?

卷积操作的关键在于它能够帮助我们提取图像中的局部特征。比如,图像中的边缘、角落、纹理等特征。卷积核通过扫描整个图像,逐步提取这些局部特征,然后通过多个卷积层,逐渐建立起对整个图像的理解。
通过卷积操作,我们不需要给网络提供每个像素的所有信息,而是只需要给它提供一些局部信息,网络能够通过这些信息来识别图像中的重要特征。更重要的是,卷积核的权重是共享的,这意味着无论卷积核在图像中的哪个位置,它的计算方式和参数都是相同的。这大大减少了需要训练的参数数量,也提高了计算效率。

4.1.5 总结

卷积操作是卷积神经网络(CNN)的核心,它能够有效地帮助计算机从图像中提取有用的特征。通过滑动卷积核并进行点乘,卷积操作将图像中的局部信息提取出来,并转化为新的特征图。这样,网络就能够逐步从低层的边缘、纹理等简单特征,学习到更高级的物体、场景等复杂特征。
简单来说,卷积就像是一个“扫描器”,它帮助我们从图像中提取出有意义的局部特征,让计算机能更聪明地“看懂”图像。

4.2 卷积核的作用

卷积核是一个小的权重矩阵,用于提取图像中的局部特征。例如,一个3x3的卷积核可能能够识别图像中的边缘、纹理等。卷积操作的优点是,它可以通过在不同位置应用相同的卷积核,从而减少参数数量,并有效地保留图像中的局部信息。

4.3 卷积操作的特点

5. 卷积神经网络的结构

卷积神经网络(CNN)是一种特别擅长处理图像数据的神经网络结构。CNN的设计灵感来源于生物视觉系统的工作方式,它能够从简单的局部特征(如边缘、角落)逐步构建更复杂的高层次特征(如物体、面孔、风景等)。理解CNN的结构,我们需要从以下几个关键部分来分析:卷积层、池化层、全连接层。

5.1 卷积层:特征提取器

卷积层就像是一个“过滤器”,它的任务是从输入的图像中提取重要的局部特征。想象一下你用一个小的窗口(即卷积核)在图像上滑动,每当窗口覆盖一个区域时,它会与该区域进行“点乘”并计算出一个数值,这个数值代表了该区域的特征。
例如,如果卷积核能够识别图像中的边缘,那么卷积层会帮助计算机识别图像中不同部分的边缘,形状,甚至纹理。


image.png

每次卷积核滑动时,它都会计算该区域的加权和,从而得到一个新的图像(即特征图)。

5.2 池化层:降维与压缩

池化层的作用是减少图像的空间维度,同时保留最重要的特征。池化常用两种方式:最大池化和平均池化。

5.3 全连接层:决策层

全连接层位于卷积网络的末端,作用类似于传统的多层感知机。经过卷积和池化层的处理后,图像已经被转化为一个高维的特征向量。在全连接层中,每个神经元与前一层的每个神经元都有连接,它将这些特征融合在一起,进行分类或其他任务。全连接层会对这些特征进行加权和,通过激活函数决定最终输出的结果。

5.4 卷积神经网络的整体流程

综合来看,卷积神经网络的结构就像一个逐层提炼图像特征的过程:

输入图像→卷积层→激活函数→池化层→卷积层→池化层→全连接层→输出

卷积神经网络的结构简洁而强大,能够自动地从原始图像中提取特征。通过卷积、池化和全连接层的协同作用,CNN可以将简单的局部特征逐步融合为复杂的高层特征,进而实现分类、检测等任务。简而言之,卷积神经网络像是一个“特征提炼机器”,它能够有效地理解和分析图像中的信息。

6. 小结

卷积神经网络(CNN)通过利用图像的平移不变性和局部性,成功地解决了全连接层在处理图像时的局限性。卷积操作能够通过减少参数数量、提高计算效率来有效提取图像特征,成为计算机视觉领域的核心技术。

卷积神经网络在许多视觉任务中取得了显著成功,从图像分类到目标检测,成为了现代深度学习应用的基础。

上一篇 下一篇

猜你喜欢

热点阅读