卷积神经网络

Convolutional Neural Network

卷积神经网络(CNN或ConvNet)是一类为处理具有网格状拓扑结构数据(如图像、视频)而专门设计的神经网络。它通过模仿生物的视觉皮层机制,利用卷积层来自动、高效地提取空间层次特征,是计算机视觉领域取得革命性突破的核心技术。

核心思想:局部感受野与层次化特征

传统的神经网络(如多层感知机)使用全连接层,每个神经元都与前一层的所有神经元相连。对于图像这样的大尺寸输入,全连接会导致参数数量爆炸,难以训练。CNN通过引入两个核心思想来解决这个问题:

  1. 局部感受野 (Local Receptive Fields): 每个神经元只与输入的一个局部区域相连。这模仿了生物视觉系统中,每个视觉皮层细胞只对视野中的一小块区域敏感。
  2. 权值共享 (Weight Sharing): 用于检测某个特征的卷积核(滤波器)在整个输入图像上滑动,这意味着图像不同位置的相同特征(如一条边、一个角)可以用同一个检测器来识别。这极大地减少了模型参数,并赋予了模型平移不变性

通过堆叠这些操作,CNN能够构建出层次化的特征表示:浅层网络学习到边缘、颜色等低级特征,中层网络组合低级特征形成纹理、形状等中级特征,深层网络则组合中级特征来识别出完整的物体。

关键组件

一个典型的CNN架构由以下三种核心层交替堆叠而成:

1. 卷积层 (Convolutional Layer)

这是CNN的核心。卷积层包含若干个卷积核 (Kernel)滤波器 (Filter)。每个卷积核都是一个小型的、可学习的权重矩阵。

2. 池化层 (Pooling Layer)

池化层(也称下采样层)通常紧跟在卷积层之后,其主要作用是降维保持不变性

3. 全连接层 (Fully Connected Layer)

在经过多个卷积层和池化层的堆叠后,提取出的高级特征图会被“展平”成一个一维向量,然后送入一个或多个全连接层,其结构与传统的多层感知机相同。

经典架构演进

应用领域

CNN是几乎所有现代计算机视觉系统的核心,其应用包括:


深度学习