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 能够从低级特征(如边缘、纹理)逐步构建高级特征(如形状、对象),从而实现对复杂数据的理解和分析。

相关推荐
王上上6 分钟前
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
论文阅读·人工智能·cnn
Channing Lewis17 分钟前
如果科技足够发达,是否还需要维持自然系统(例如生物多样性)中那种‘冗余’和‘多样性’,还是可以只保留最优解?
大数据·人工智能·科技
禺垣18 分钟前
区块链技术概述
大数据·人工智能·分布式·物联网·去中心化·区块链
IT科技那点事儿26 分钟前
引领AI安全新时代 Accelerate 2025北亚巡展·北京站成功举办
人工智能·安全
新智元34 分钟前
美 IT 业裁员狂飙 35%,「硅谷梦」彻底崩塌!打工人怒喷 PIP
人工智能·openai
新智元36 分钟前
乔布斯挚友去世!胰腺癌再夺硅谷天才,曾写下苹果「创世代码」
人工智能·openai
春末的南方城市39 分钟前
中山大学&美团&港科大提出首个音频驱动多人对话视频生成MultiTalk,输入一个音频和提示,即可生成对应唇部、音频交互视频。
人工智能·python·深度学习·计算机视觉·transformer
春末的南方城市42 分钟前
Ctrl-Crash 助力交通安全:可控生成逼真车祸视频,防患于未然
人工智能·计算机视觉·自然语言处理·aigc·音视频
程序边界1 小时前
全球人工智能技术大会(GAITC 2025):技术前沿与产业融合的深度交响
人工智能
OpenCSG1 小时前
电子行业AI赋能软件开发经典案例——某金融软件公司
人工智能·算法·金融·开源