深度学习|表示学习|卷积神经网络|局部链接是什么?|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. 局部连接配合参数共享和池化操作,既降低了参数复杂度,又增强了对局部特征的提取能力。

以上

相关推荐
yzx99101317 分钟前
构建未来:深度学习、嵌入式与安卓开发的融合创新之路
android·人工智能·深度学习
机器学习之心1 小时前
基于CNN的航空发动机剩余寿命预测 (MATLAB实现)
人工智能·matlab·cnn
idealmu3 小时前
知识蒸馏(KD)详解一:认识一下BERT 模型
人工智能·深度学习·bert
Cathyqiii3 小时前
生成对抗网络(GAN)
人工智能·深度学习·计算机视觉
知识分享小能手6 小时前
React学习教程,从入门到精通, React 属性(Props)语法知识点与案例详解(14)
前端·javascript·vue.js·学习·react.js·vue·react
茯苓gao9 小时前
STM32G4 速度环开环,电流环闭环 IF模式建模
笔记·stm32·单片机·嵌入式硬件·学习
是誰萆微了承諾9 小时前
【golang学习笔记 gin 】1.2 redis 的使用
笔记·学习·golang
IMER SIMPLE9 小时前
人工智能-python-深度学习-经典神经网络AlexNet
人工智能·python·深度学习
DKPT10 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
aaaweiaaaaaa10 小时前
HTML和CSS学习
前端·css·学习·html