从全连接层到卷积层:理解卷积神经网络的核心思想

从全连接层到卷积层:理解卷积神经网络的核心思想

d2l-zh d2l-zh 项目地址: https://gitcode.com/gh_mirrors/d2l/d2l-zh

引言

在深度学习领域,卷积神经网络(CNN)已经成为处理图像数据的标准工具。本文将从全连接层(MLP)的局限性出发,逐步推导出卷积层的设计原理,帮助读者深入理解CNN的核心思想。

全连接层的局限性

全连接神经网络在处理结构化数据(如表格数据)时表现良好,但当面对高维感知数据(如图像)时,会面临严重挑战:

  1. 参数爆炸问题:对于一张100万像素(1MP)的图片,输入维度高达100万。即使隐藏层只有1000个神经元,也需要10^9个参数。
  2. 计算资源需求:训练如此庞大的网络需要大量计算资源和时间。
  3. 数据需求:要学习如此多的参数,需要收集海量训练数据。

然而现实中,人类和计算机都能很好地识别图像中的物体,这表明图像本身具有可以利用的特殊结构。

图像的两个关键特性

平移不变性(Translation Invariance)

物体识别系统不应过度关注物体在图像中的精确位置。无论猪出现在图像顶部还是底部,我们都应该能识别它。这种特性称为平移不变性。

局部性(Locality)

图像的早期特征提取应该关注局部区域,而不需要考虑图像远处区域的内容。这种局部特征最终可以聚合起来进行整体图像预测。

从全连接层到卷积层

数学表达

考虑一个处理二维图像X的MLP,其隐藏表示H也是二维的。我们可以将全连接层的权重表示为四阶张量W:

$$ [\mathbf{H}]{i,j} = [\mathbf{U}]{i,j} + \sum_k \sum_l[\mathsf{W}]{i,j,k,l} [\mathbf{X}]{k,l} $$

通过重新索引,可以改写为:

$$ [\mathbf{H}]{i,j} = u + \sum_a\sum_b [\mathbf{V}]{a,b} [\mathbf{X}]_{i+a,j+b} $$

卷积运算的本质

上述公式实际上定义了一个卷积运算:

  • 在位置(i,j)处的隐藏单元值是通过对输入图像中以(i,j)为中心的局部区域进行加权求和得到的
  • 权重V[a,b]称为卷积核或滤波器
  • 这种操作显著减少了参数数量,同时保留了平移不变性

局部感受野

引入局部性假设后,我们只需要考虑距离(i,j)不超过Δ的区域:

$$ [\mathbf{H}]{i,j} = u + \sum{a=-\Delta}^{\Delta} \sum_{b=-\Delta}^{\Delta} [\mathbf{V}]{a,b} [\mathbf{X}]{i+a,j+b} $$

这就是卷积层的标准定义,参数数量从全连接层的O(n^4)减少到O(Δ^2)。

多通道扩展

实际图像是三维张量(高度×宽度×通道),因此需要扩展卷积操作:

$$ [\mathsf{H}]{i,j,d} = \sum{a=-\Delta}^{\Delta} \sum_{b=-\Delta}^{\Delta} \sum_c [\mathsf{V}]{a,b,c,d} [\mathsf{X}]{i+a,j+b,c} $$

其中d索引输出通道。这种多通道设计允许网络在不同通道中学习不同类型的特征(如边缘、纹理等)。

卷积与互相关的区别

严格来说,深度学习中的"卷积"操作实际上是互相关(cross-correlation):

  • 数学卷积:$(f*g)(i,j) = \sum_a\sum_b f(a,b)g(i-a,j-b)$
  • 互相关:$(f*g)(i,j) = \sum_a\sum_b f(a,b)g(i+a,j+b)$

这种区别在实践中影响不大,因为通过学习可以自动调整滤波器。

实际应用示例

以"寻找Waldo"游戏为例:

  1. 设计一个Waldo检测器,对图像每个局部区域评分
  2. 高评分区域可能包含Waldo
  3. 通过卷积层实现这种滑动窗口检测
  4. 多通道设计可以捕捉Waldo的不同特征(红白条纹、帽子等)

总结

  1. 卷积神经网络通过利用图像的平移不变性和局部性,大幅减少了参数数量
  2. 卷积层本质上是受限制的全连接层,具有共享权重和局部连接的特点
  3. 多通道设计允许网络在不同层次上提取多样化特征
  4. 这种设计使CNN成为处理图像等网格化数据的强大工具

理解这些核心概念对于设计和使用卷积神经网络至关重要。在后续学习中,我们将探讨如何组合多个卷积层、选择适当的激活函数,以及构建高效的CNN架构。

d2l-zh d2l-zh 项目地址: https://gitcode.com/gh_mirrors/d2l/d2l-zh

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

仰书唯Elise

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值