欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > CNN:卷积到底做了什么?

CNN:卷积到底做了什么?

2025/4/22 22:03:56 来源:https://blog.csdn.net/weixin_45498383/article/details/147276665  浏览:    关键词:CNN:卷积到底做了什么?

卷积神经网络(Convolutional Neural Network, CNN) 是一种深度学习模型,专门用于处理具有网格结构的数据(如图像、视频等)。它在计算机视觉领域表现卓越,广泛应用于图像分类、目标检测、图像分割等任务。CNN 的核心思想是通过卷积操作从数据中提取局部特征,并逐步构建高层次的语义信息。


CNN 的基本结构

  1. 卷积层(Convolutional Layer)

    • 卷积层是 CNN 的核心组件,负责从输入数据中提取局部特征。
    • 卷积核(Kernel/Filter) 在输入数据上滑动,计算局部区域的加权和,生成特征图(Feature Map)。
    • 卷积操作后通常会使用非线性激活函数(如 ReLU),以引入非线性能力,增强模型的表达能力。
  2. 池化层(Pooling Layer)

    • 池化层用于降采样,减少特征图的尺寸,从而降低计算量并增强模型的鲁棒性。
    • 常见的池化操作包括最大池化(Max Pooling)和平均池化(Average Pooling)。
  3. 全连接层(Fully Connected Layer)

    • 在卷积和池化操作之后,特征图会被展平并输入全连接层,用于最终的分类或回归任务。
  4. 输出层(Output Layer)

    • 输出层是 CNN 的最后一层,负责将全连接层的输出映射到最终的类别或回归值。
    • 在分类任务中,通常使用 Softmax 函数输出概率分布;在回归任务中,则直接输出数值。

在这里插入图片描述


卷积核的作用与组成

卷积核是卷积操作的核心,其主要功能是从输入数据中提取局部特征,进而构建高层次的语义信息。卷积操作本质上是一种加权求和运算,通过滑动窗口的方式,在输入数据上施加不同的卷积核,提取局部区域的特征。

卷积核的关键要素包括:

  1. 权重参数(Weights)

    • 卷积核是一个小型矩阵,其中的值是可学习的权重。这些权重在训练过程中通过梯度下降和反向传播不断优化,使其能够自动提取有意义的特征。
  2. 偏置项(Bias)

    • 每个卷积核通常会有一个额外的可学习参数——偏置项 ( b )。偏置项的作用是调整特征图的整体偏移量,使得网络在特定输入下可以更灵活地激活特定特征。
  3. 尺寸(Kernel Size)

    • 卷积核的大小决定了它能捕捉的局部特征范围。常见的卷积核尺寸有 ( 3 ×3 )、( 5 × 5 )、( 7 × 7 ) 等。

在这里插入图片描述

  1. 步长(Stride)

    • 步长决定了卷积核在输入数据上滑动的间隔。例如,步长为 1 时,卷积核每次移动 1 个像素;步长为 2 时,每次移动 2 个像素。
  2. 填充(Padding)

    • 填充是指在输入数据的边缘添加额外的像素(通常为 0),以控制输出特征图的大小,同时确保边缘像素也能被充分参与卷积计算,从而保留更多的边缘信息。

在这里插入图片描述

  1. 通道数(Channels)

    • 卷积核的通道数需要与输入数据的通道数匹配。例如,对于 RGB 图像(3 通道),卷积核的深度也必须是 3。每个卷积核会生成一个输出通道,多个卷积核可以生成多通道的特征图。
  2. 激活函数(Activation Function)

    • 卷积核的输出通常会经过一个激活函数(如 ReLU),以引入非线性特性。激活函数决定了卷积核提取的特征是否被激活。

特征图(Feature Maps)

特征图是通过卷积操作从输入数据中提取的局部特征表示。每个卷积核在输入数据上滑动并计算加权和,生成一个特征图。多个卷积核可以生成多通道的特征图。

  • 每个卷积核提取不同的特征,因此网络中的每个卷积层输出一个或多个特征图,这些特征图共同构成了输入数据的不同层次表示。
    在这里插入图片描述

卷积的具体计算过程

在计算机眼中,图像是以像素矩阵的形式存储的,每个像素都有一个数值。例如,RGB 彩色图像中,每个像素由 3 个通道(R、G、B)组成,每个通道的取值范围为 0-255。当图像输入 CNN 时,像素值通常会被归一化到 0-1 或 -1 到 1 之间,以提高训练稳定性。

卷积是如何计算响应值得到特征图的呢?

假设:

  • 输入图像的像素值为 ( x ),
  • 卷积核的权重为 ( w ),
  • 偏置项为 ( b ),

则卷积操作的输出 ( y ) 可以表示为:

在这里插入图片描述

其中,( f ) 是激活函数(如 ReLU)。

以下是一个具体的例子:

  • 使用一个 ( 3 × 3 ) 的卷积核,其权重矩阵为:

在这里插入图片描述

  • 输入图像如下图(左)所示,设置窗口滑动步长为 1,偏置 ( b = 0 ),得到下图(右)的特征图。
    在这里插入图片描述
    在CNN的整体结构中,特征图变化如下:
    在这里插入图片描述

卷积的作用总结

简单来说,卷积的作用就是让 CNN 从像素级数据中提取有意义的特征,最终用于分类、检测、分割等任务。通过多层卷积操作,CNN 能够从低级特征(如边缘、纹理)逐步构建高级特征(如形状、对象),从而实现对复杂数据的理解和分析。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词