1. 卷积网络的基本组成单元
卷积神经网络(CNN)由多个基本构件组成,每个构件都有其特定的数学表达和功能实现。理解这些基础单元是掌握CNN的关键第一步。
1.1 卷积层的数学本质
卷积运算的本质是局部感受野的加权求和过程。给定输入特征图$X \in \mathbb{R}^{H\times W\times C}$,卷积核$K \in \mathbb{R}^{k\times k\times C\times D}$,其中$k$为卷积核尺寸,$C$为输入通道数,$D$为输出通道数。卷积操作的数学表达为:
$$Y_{h,w,d} = \sum_{i=1}^{k}\sum_{j=1}^{k}\sum_{c=1}^{C} K_{i,j,c,d} \cdot X_{h+i-1,w+j-1,c} + b_d$$
这里$b_d$是偏置项。这个公式揭示了几个关键特性:
- 局部连接:每个输出神经元只与输入的一个局部区域相连
- 参数共享:同一通道的卷积核在不同位置重复使用
- 平移等变性:物体在输入中的位置变化会导致输出中的相应变化
1.2 激活函数的选取策略
ReLU(Rectified Linear Unit)是目前CNN中最常用的激活函数,定义为$f(x)=max(0,x)$。相比传统的sigmoid/tanh函数,ReLU具有:
- 计算简单,无指数运算
- 缓解梯度消失问题
- 诱导稀疏激活
但在实践中需要注意"神经元死亡"问题——某些神经元可能永远不被激活。对此的改进方案包括:
- LeakyReLU:$f(x)=max(\alpha x, x)$,其中$\alpha$为小的正数
- PReLU:将$\alpha$作为可学习参数
- ELU:$f(x)=x$ if $x>0$ else $\alpha(e^x-1)$
1.3 池化层的设计考量
最大池化(Max Pooling)是最常见的下采样操作,对于$2\times2$窗口的池化,输出为:
$$Y_{h,w,c} = \max(X_{2h-1:2h,2w-1:2w,c})$$
池化层的作用包括:
- 降低空间维度,减少计算量
- 扩大感受野
- 提供平移不变性
但现代网络设计中,带步长的卷积有时会替代池化层,因其能保留更多空间信息。在图像分割等需要精确定位的任务中,这种设计更为常见。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 经典网络架构解析
2.1 LeNet-5的现代重现
LeNet-5是最早的CNN成功案例,其架构为:
- 卷积层(C1):5×5卷积,6通道
- 池化层(S2):2×2平均池化
- 卷积层(C3):5×5卷积,16通道
- 池化层(S4):2×2平均池化
- 全连接层(C5):120神经元
- 全连接层(F6):84神经元
- 输出层
现代实现时需要注
