← 返回题目列表

CNN 的局部连接和权值共享是什么?为什么能大幅减少参数?

高频 中等 第 10 / 25 题 更新于 2026/07/28
卷积神经网络局部连接权值共享参数量

简化版

这是 CNN 参数少、效率高的两大法宝。局部连接:每个卷积神经元只连接输入的一个小局部区域(卷积核大小),而不是像全连接那样连到所有输入。依据是图像的有用特征(边缘、纹理)往往是局部的,不需要一上来就看全图。权值共享同一个卷积核在整张图的所有位置共用同一套权重(滑到哪都用那几个参数)。依据是「一个特征(如边缘)在图像哪个位置都可能出现,用同一个检测器扫全图就行」。两者叠加,让参数量和图像大小、位置解耦——参数从全连接的「像素数×神经元数」骤降到「一个小卷积核的大小」,还顺带带来平移等变性

详细版

局部连接 vs 全连接:

全连接:每个神经元连接输入的「全部」像素   → 参数 = 输入维度 × 神经元数(巨大)
局部连接:每个卷积神经元只连一个「局部区域」(如 3×3) → 参数 = 卷积核大小(很小)

权值共享:

同一个卷积核在整张图滑动,所有位置共用同一套权重(如一个 3×3 核就 9 个权重)
→ 无论图多大、位置在哪,这个特征检测器只有 9 个参数

参数量对比(直观例子):

全连接卷积(局部+共享)
参数依赖输入尺寸 × 神经元数仅卷积核大小 × 核数
100×100 图接 100 神经元100万 权重一个 3×3 核仅 9 参数

两个好处: ① 参数大减→省内存、易训练、防过拟合;② 权值共享→平移等变性。

完整版教学

一、对比起点:全连接处理图像有多浪费

先看全连接网络处理图像有多「奢侈」。假设输入是 100×100 的灰度图(10000 个像素),第一个隐藏层有 100 个神经元:

  • 全连接下,每个隐藏神经元都要连接全部 10000 个像素,各带一个权重。
  • 100 个神经元 → 10000 × 100 = 100 万个权重

而这只是第一层、还是张小图。真实的彩色大图参数会爆炸到无法训练。而且这么多参数极易过拟合。问题出在两个「不必要」:每个神经元没必要连全图(局部连接解决),每个位置没必要用不同的权重(权值共享解决)。

二、局部连接:只看局部就够了

局部连接 的思路:图像里有用的低级特征(边缘、角点、纹理)都是局部模式——判断「这里有没有一条边」只需要看这个像素周围的一小块区域,不需要同时看图像另一头的像素。

所以卷积神经元只连接输入的一个小局部区域(即卷积核覆盖的范围,如 3×3、5×5),而不是全图:

全连接神经元:━━━━━━━━━━ 连接全部像素
卷积神经元:      ┌─┐        只连一个 3×3 局部
                 └─┘
  • 一个卷积神经元的参数从「全图像素数」降到「卷积核大小」(如 3×3=9 个)。
  • 符合图像的局部性先验,还保留了空间结构。

局部连接大幅减少了每个神经元的连接数,但如果每个位置的卷积核参数都不同,参数还是不少——这就要靠权值共享进一步压缩。

三、权值共享:一个检测器扫全图

权值共享 的思路:一个特征(比如「垂直边缘」)在图像的任何位置都可能出现,那我们用同一个「垂直边缘检测器」(同一套卷积核权重)去扫描整张图就行了,没必要在每个位置各学一套。

所以同一个卷积核在整张图滑动时,所有位置共用同一套权重

一个 3×3 卷积核 = 9 个权重
它滑遍整张图的每个位置,用的都是这 9 个权重(不是每个位置各 9 个)
→ 这个特征检测器,无论图多大,永远只有 9 个参数

这样,参数量彻底和图像大小、位置解耦——一个卷积核的参数只等于核的大小,和输入分辨率无关。这是 CNN 参数少的关键。

四、参数量对比:省了多少

回到刚才的例子,用卷积代替全连接:

  • 全连接:100×100 图接 100 神经元 = 100 万参数
  • 卷积:一个 3×3 卷积核 = 9 个参数;就算用 100 个不同卷积核提取 100 种特征,也只有 100 × 9 = 900 个参数(外加偏置)。

从百万级降到几百级——局部连接(每个神经元只连局部)+ 权值共享(同一核全图共用)双重压缩的威力。参数少带来:省内存、训练更快、更不容易过拟合(模型容量被合理约束)。

卷积参数量由核尺寸和输入、输出通道决定,不乘输入的空间面积。以 3×3、16 输入通道、32 输出通道为例,忽略偏置时有 4608 个权重;同一核会在所有空间位置复用。计算量仍要乘输出位置数,所以参数少并不自动代表高分辨率推理成本低。

五、权值共享的额外大礼:平移等变性

权值共享不只省参数,还带来平移等变性(translation invariance) 这个宝贵性质:

  • 因为同一个卷积核在全图每个位置都用,所以不管目标特征(如一只猫的耳朵)出现在图像的左上角还是右下角,同一个卷积核都能在那个位置检测到它、产生响应。
  • 也就是说,物体平移到图像任何位置,CNN 都能识别——这对图像识别至关重要(猫在图片哪都是猫)。

全连接网络没有这个性质:目标一移动,输入向量就全变了,得重新学。权值共享让 CNN 天然对平移鲁棒(池化进一步增强,详见池化专题)。

同一核在各位置复用,使一个局部模式移动后仍可触发相同类型的响应,只是响应位置随之移动。这一性质称为平移等变,而不是每个特征值保持不变。边界填充、步长下采样和非线性组合会影响严格等变程度,分类不变性还需后续聚合。

六、把局部连接、共享权重和通道汇总写成公式

标准二维卷积的权重参数量是 K_h×K_w×C_in×C_out,若启用偏置再加 C_out。例如 3×3C_in=16C_out=32 时,权重有 3×3×16×32=4608 个;不是笼统的“一个 3×3 核只有 9 个参数”。每个输出通道都有一组跨输入通道的核。

Y[h,w,c_out] = Σ_kh Σ_kw Σ_cin
  X[h+kh,w+kw,c_in] * W[kh,kw,c_in,c_out]
机制带来的归纳偏置边界
局部连接邻近像素优先交互长程关系需堆层或大核
权重共享同一模式可在多位置检测不适合位置语义完全不同的场景
多通道汇总融合颜色或中间特征参数随 C_in×C_out 增长
等变性响应位置随输入移动padding、stride 会带来偏差

“9 个参数”只适用于单输入通道、单输出通道、3×3 且忽略偏置的特例。

七、常见误区与追问

  • 误区:一个 3×3 卷积层永远只有 9 个参数。 实际还要乘输入通道和输出通道,并视情况加偏置。
  • 误区:权重共享意味着所有输出通道使用同一个核。 共享发生在空间位置之间,不同输出通道各有可学习核。
  • 追问:分组卷积参数量怎么变? 权重参数量变为 K_h×K_w×C_in×C_out/groups
  • 追问:卷积为什么能扩大感受野? 堆叠后每层局部邻域映射回原输入时覆盖范围逐层扩张。
  • 追问:什么时候局部归纳偏置可能不合适? 特征无网格邻近含义或全局依赖占主导时,其他结构可能更自然。

八、加强记忆

局部连接:每个卷积神经元只连输入的一个局部区域(卷积核大小),依据是图像有用特征是局部的,参数从「全图像素」降到「核大小」。权值共享同一卷积核在整张图所有位置共用一套权重(滑到哪都用那几个参数),依据是「一个特征在任何位置都可能出现,用同一个检测器扫全图」,使参数量与图像大小/位置解耦。两者叠加把参数从全连接的百万级降到几百级(100×100 图接 100 神经元:全连接 100 万 vs 卷积一个 3×3 核仅 9 参数),带来省内存、训练快、防过拟合,且权值共享还给了 CNN 平移等变性(物体在图像任何位置都能被同一卷积核识别)。