深度学习|表示学习|卷积神经网络|局部链接是什么?|06

如是我闻: 局部连接(Local Connectivity),是卷积神经网络(CNN)中的一个关键特性。


什么是局部连接(Local Connectivity)?

局部连接指的是:
在卷积操作中,每个神经元(或输出单元)只与输入数据的一个局部区域相关联,而不是与整个输入数据相连。

换句话说:

  • 全连接网络(Fully Connected Layer) 中,每个神经元会与上一层所有的神经元相连。
  • 卷积网络(Convolutional Layer) 中,每个输出神经元只与输入数据的一个小区域(称为感受野,Receptive Field)相连。

局部连接的核心要点

  1. 感受野(Receptive Field):

    • 定义: 感受野是一个输出神经元在输入数据中"看到"的区域。
    • 在卷积操作中,每个输出神经元的值是通过感受野内的像素值和卷积核权重计算得到的。

    例如:

    • 输入图像大小为 6 × 6 6 \times 6 6×6。
    • 卷积核大小为 3 × 3 3 \times 3 3×3,感受野就是输入数据中的一个 3 × 3 3 \times 3 3×3 的局部区域。
  2. 局部计算:

    • 卷积核会对感受野中的像素点进行点积操作,然后得到一个输出值。
    • 这一过程会对整个输入图像逐步滑动(称为"滑窗"操作),最终生成输出特征图。
  3. 参数共享:

    • 在同一层中,相同的卷积核会应用于输入数据的所有局部区域。
    • 这意味着,模型只需学习卷积核的参数,而不是为每个感受野单独学习参数,从而大大减少了参数数量。

局部连接的示例

示例 1:单通道图像的卷积
  1. 输入数据:

    假设输入图像大小为 6 × 6 6 \times 6 6×6,如下所示:

    1 2 3 0 1 2 2 3 1 4 2 3 3 1 2 1 0 1 0 1 3 2 3 0 1 4 2 1 2 1 3 2 1 0 1 3 \] \\begin{bmatrix} 1 \& 2 \& 3 \& 0 \& 1 \& 2 \\\\ 2 \& 3 \& 1 \& 4 \& 2 \& 3 \\\\ 3 \& 1 \& 2 \& 1 \& 0 \& 1 \\\\ 0 \& 1 \& 3 \& 2 \& 3 \& 0 \\\\ 1 \& 4 \& 2 \& 1 \& 2 \& 1 \\\\ 3 \& 2 \& 1 \& 0 \& 1 \& 3 \\\\ \\end{bmatrix} 123013231142312321041210120321231013

    卷积核大小为 3 × 3 3 \times 3 3×3,如下:

    1 0 − 1 1 0 − 1 1 0 − 1 \] \\begin{bmatrix} 1 \& 0 \& -1 \\\\ 1 \& 0 \& -1 \\\\ 1 \& 0 \& -1 \\\\ \\end{bmatrix} 111000−1−1−1

    • 卷积核第一次操作的感受野是输入的左上角 3 × 3 3 \times 3 3×3 区域:

      1 2 3 2 3 1 3 1 2 \] \\begin{bmatrix} 1 \& 2 \& 3 \\\\ 2 \& 3 \& 1 \\\\ 3 \& 1 \& 2 \\\\ \\end{bmatrix} 123231312

      1 ⋅ 1 + 2 ⋅ 0 + 3 ⋅ ( − 1 ) + 2 ⋅ 1 + 3 ⋅ 0 + 1 ⋅ ( − 1 ) + 3 ⋅ 1 + 1 ⋅ 0 + 2 ⋅ ( − 1 ) = 1 − 3 + 2 − 1 + 3 − 2 = 0 1 \cdot 1 + 2 \cdot 0 + 3 \cdot (-1) + 2 \cdot 1 + 3 \cdot 0 + 1 \cdot (-1) + 3 \cdot 1 + 1 \cdot 0 + 2 \cdot (-1) = 1 - 3 + 2 - 1 + 3 - 2 = 0 1⋅1+2⋅0+3⋅(−1)+2⋅1+3⋅0+1⋅(−1)+3⋅1+1⋅0+2⋅(−1)=1−3+2−1+3−2=0

    • 这个感受野输出值为 0。

    • 卷积核向右滑动一个步长(stride),计算下一个感受野。

  2. 输出特征图:

    • 卷积核对输入的所有 3 × 3 3 \times 3 3×3局部区域滑动,最终生成一个 4 × 4 4 \times 4 4×4 的输出特征图。

示例 2:RGB 图像中的局部连接
  • 如果输入是 RGB 图像(例如 32 × 32 × 3 32 \times 32 \times 3 32×32×3),每个卷积核的感受野是一个 K × K × 3 K \times K \times 3 K×K×3的局部区域:
    • K × K K \times K K×K:表示空间上的局部区域。
    • 3 3 3:表示图像的 3 个颜色通道(红、绿、蓝)。
  • 卷积核同时作用于这 3 个通道的局部区域,然后汇总信息,生成一个输出值。

局部连接的优点

  1. 参数大幅减少:

    • 在全连接网络中,每个神经元都连接整个输入,会产生大量参数。
    • 局部连接限制了连接区域,同时共享参数,显著减少了参数数量。
  2. 捕获局部特征:

    • 局部连接使卷积核能够专注于输入的局部模式(如边缘、纹理、形状等),这些模式是图像中关键的基本特征。
  3. 平移不变性:

    • 局部连接配合滑动窗口操作,使网络能够识别出无论模式出现在图像的哪个位置(如猫在左边或右边),都能正确提取特征。

局部连接与全连接的对比

特性 局部连接性(卷积层) 全连接(全连接层)
连接范围 只与局部区域连接 与整个输入连接
参数数量 参数共享,大幅减少参数数量 参数较多,计算成本高
适用场景 用于图像、视频等高维数据 用于小型特征数据(如分类器)
对局部特征的敏感性 能捕捉边缘、纹理等局部特征 不强调局部特征

总的来说

局部连接是 CNN 的核心特性:

  1. 每个输出神经元只与输入中的一个局部区域相连,而不是与整个输入连接。
  2. 通过卷积核的滑动,实现对局部区域的扫描,提取局部模式。
  3. 局部连接配合参数共享和池化操作,既降低了参数复杂度,又增强了对局部特征的提取能力。

以上

相关推荐
河南骏7 小时前
RAG_检索进阶
人工智能·深度学习
容器( ु⁎ᴗ_ᴗ⁎)ु.。oO7 小时前
Magentic-ui 学习
学习
_李小白7 小时前
【OPENGL ES 3.0 学习笔记】延伸阅读:VAO与VBO
笔记·学习·elasticsearch
灯火不休时8 小时前
95%准确率!CNN交通标志识别系统开源
人工智能·python·深度学习·神经网络·cnn·tensorflow
微露清风9 小时前
系统性学习C++-第九讲-list类
c++·学习·list
海边夕阳20069 小时前
【每天一个AI小知识】:什么是零样本学习?
人工智能·经验分享·学习
xier_ran10 小时前
Transformer:Decoder 中,Cross-Attention 所用的 K(Key)和 V(Value)矩阵,是如何从 Encoder 得到的
深度学习·矩阵·transformer
2401_8414956410 小时前
【自然语言处理】轻量版生成式语言模型GPT
人工智能·python·gpt·深度学习·语言模型·自然语言处理·transformer
Thexhy10 小时前
在 CentOS 7 的 Linux 系统中配置 NFS
linux·运维·学习·centos
CodeLongBear11 小时前
计算机网络学习笔记 | 传输层核心知识点总结(DAY03,匠心制作)
笔记·学习·计算机网络