1. 简介

在本文中,我们将解释“深度”在卷积神经网络(Convolutional Neural Network, CNN)中所代表的含义,并说明整个神经网络的深度与卷积层的深度之间的区别。

2. 神经网络简介

神经网络是一种受生物神经系统启发而设计的算法模型。其核心是神经元之间的连接方式。最初的设想是模拟人脑的工作机制,构建一种具有学习能力的人工系统。

神经网络的种类繁多,但大致可以分为以下三类:

  • 前馈神经网络(Feedforward Neural Networks)
  • 卷积神经网络(Convolutional Neural Networks)
  • 循环神经网络(Recurrent Neural Networks)

本文的重点是卷积神经网络,因此我们仅作简要介绍。

3. 卷积神经网络(CNN)

卷积神经网络是一种专门用于处理具有类似网格结构数据(如图像)的神经网络。它在图像识别、目标检测、特征提取等方面表现出色,近年来因其在深度学习中的广泛应用而备受关注。

CNN 的核心在于使用卷积操作来提取输入数据的局部特征。它可以处理图像、视频、文本等多种形式的数据,尤其擅长于图像任务。

典型的 CNN 结构通常包括多个隐藏层,每个层包含一组可学习的滤波器(即神经元)。

4. 卷积神经网络中的“深度”概念

在 CNN 中,“深度”这一术语有两种常见的含义:

整个神经网络的深度
单个卷积层的深度

下面我们将分别解释这两个概念。

4.1 整个神经网络的深度

神经网络由多个层组成,每层包含多个神经元。神经网络的深度即为网络中层的数量

一个完整的神经网络至少包含以下两个层:

  • 输入层(Input Layer):用于接收输入数据,是网络的起点。
  • 输出层(Output Layer):输出模型的最终结果,是网络的终点。

介于输入层与输出层之间的所有层称为隐藏层(Hidden Layers)。

现代 CNN 通常有 5 到 10 层,甚至可以达到上百层(如 ResNet)。层数越多,模型理论上可以学习到更复杂的特征,但也更容易出现训练困难的问题(如梯度消失)。

4.2 卷积层的深度

卷积层是 CNN 的核心组成部分,其作用是通过对输入图像或张量应用滤波器(也称为卷积核)来提取特征。

我们可以通过下图更直观地理解卷积操作的过程:

卷积示意图

上图展示了一个输入矩阵 I 与滤波器 K 进行卷积操作的过程。滤波器会在输入矩阵上滑动,进行逐元素相乘并求和,得到一个新的数值。

通常,CNN 的输入是彩色图像,包含三个通道(红、绿、蓝),每个像素的值为 0~255 之间的整数。因此,输入图像具有宽度、高度和深度三个维度。

  • 输入图像的深度决定了输入层的深度
  • 下一卷积层的深度则取决于上一层使用的滤波器数量

举个例子:

假设输入图像 I 的维度为 6×6×3,滤波器 K 的维度为 3×3×3(深度必须与输入图像一致)。卷积后输出的矩阵 R 的维度为 4×4×1(假设步长为 1)。

如果我们使用两个滤波器 K₁ 和 K₂,就会分别得到两个输出矩阵 R₁ 和 R₂,然后将它们堆叠成一个张量 R,维度变为 4×4×2。其中,2 就是这一层的“深度”。

更一般地,如果我们使用 k 个滤波器,输出张量的维度将是 4×4×k,其中 k 就是该卷积层的深度:

卷积层深度示意图

5. 总结

在本文中,我们解释了“深度”在卷积神经网络中的两个常见含义:

  • 整个网络的深度:指网络中总共有多少层
  • 卷积层的深度:指该层输出张量的通道数,即使用的滤波器数量

虽然“宽度”、“高度”、“深度”这些术语在初学时可能容易混淆,但通过示例和图示可以更清晰地理解它们在 CNN 中的作用。


原始标题:What Is Depth in a Convolutional Neural Network?