Part 1 从全连接层到卷积
约 816 字大约 3 分钟
2025-08-01
多层感知机非常适合表格数据。然而对于图像这种多维数据,这种缺少结构的网络并不适用。
在 softmax 回归的例子中,我们使用的是 28×28 像素的图片,这样每次输入就高达 784 维。当我们遇到 1000×1000 像素的照片时,输入就高达 100 万维。这几乎等同于不可能了。
因此我们需要一种新的网络来处理图片这种数据。
1 平移不变性和局部性
设想我们要从人群里找到某一特定的人,我们无论用何种方法找到他,都应该和他的所处位置无关,也就是平移不变性。而目标的特征和环境无关,我们只需要计算一小部分的图像即可,也就是局部性。
基于这两个性质,我们可以将这个图片分割成多个区域,并使用一个检测器逐区域扫描,并输出每个区域中出现目标的可能性。
多层感知机输入一个二维图像 X,其隐藏层为一个二维张量 H。我们用 [X]i,j 和 [H]i,j 表示对应位置的像素,将权重矩阵替换为四阶张量 W。假设偏置参数为 U,则全连接层可以表示为:
[H]i,j=[U]i,j+k∑l∑[W]i,j,k,l[X]k,l=[U]i,j+a∑b∑[V]i,j,a,b[X]i+a,j+b
其中k=i+a,l=j+b。[W] 和 [V] 具有一一对应关系。索引a和b在偏移过程中覆盖了整个图像。
由于平移不变性,检测对象在输入 X 中的平移应该仅导致隐藏层 H 中的平移。也就是说 V 和 U 与像素坐标 (i,j) 无关。即 [V]i,j,a,b=[V]a,b,且 U 是一个常数。于是有
[H]i,j=u+a∑b∑[V]a,b[X]i+a,j+b
这就是卷积,我们使用系数 [V]a,b 对位置 (i,j) 附近的像素加权得到 [H]i,j。
接着我们加入局部性。根据局部性的描述,我们不应该关注距离 (i,j) 较远位置的信息。也就是在 ∣a∣>Δ 或 ∣b∣>Δ之外,[V]a,b=0。
[H]i,j=u+a=−Δ∑Δb=−Δ∑Δ[V]a,b[X]i+a,j+b
2 通道
上述推导过程中输入的是一个二维图像,然而我们常见的图像包含三个通道,即R、G、B。因此我们的输入、输出都要调整为三维张量。
为了能够表示输入 X 和隐藏层 H 中的多个通道,我们可以给 V 中添加两个坐标,即 [V]a,b,c,d。其中 c 为输入通道索引,d 为输出通道索引。综上:
[H]i,j,d=u+a=−Δ∑Δb=−Δ∑Δ[V]a,b,c,d[X]i+a,j+b,c