周振林 周振林
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • Spring
  • SpringMVC
  • Mybatis
  • Docker
  • 设计模式
  • 机器视觉
  • 安装教程
  • 其他教程
  • 基础
  • 虚拟化
  • OpenStack
  • 心情杂货
关于
收藏

周振林

IT界的小学生
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • Spring
  • SpringMVC
  • Mybatis
  • Docker
  • 设计模式
  • 机器视觉
  • 安装教程
  • 其他教程
  • 基础
  • 虚拟化
  • OpenStack
  • 心情杂货
关于
收藏
  • Spring

  • SpringMVC

  • Mybatis

  • Docker

  • 设计模式

  • 机器视觉

    • 人工智能介绍
    • 计算机视觉的分类
    • 环境搭建
    • 卷积神经网络原理
      • 卷积神经网络原理
        • 卷积层1:提取图像的简单基础特征
        • 卷积层2 组合简单特征,提取复杂特征
        • 通道数增加的本质:特征类型的丰富化
        • 关键补充:卷积核的“选择性组合”
    • 深度学习的基本实现流程
    • PaddleX实现垃圾分类
  • 安装教程

  • 其他教程

  • 后端
  • 机器视觉
周振林
2026-03-18
目录

卷积神经网络原理

# 卷积神经网络原理

为什么卷积神经网络可以进行图像识别。卷积神经网络实现图像识别的核心逻辑分为两步:

  • 特征提取(从简单到复杂逐层提取图像特征)
  • 特征连接(将提取的特征映射到具体类别)

本文重点拆解「特征提取」的核心 —— 卷积层的工作原理。

# 卷积层1:提取图像的简单基础特征

一个卷积层包含「多个不同的卷积核」,每个卷积核负责提取一种特定特征;整个卷积层的输出,是所有卷积核提取特征的集合。 以「小猫识别」为例,拆解卷积层 1 的工作逻辑:

  1. 单个卷积层 = 多把 “特征检测器” 卷积层1中不会仅用1个卷积核,而是配置几十/上百个不同的卷积核,每个核对应一种专属的 “特征检测器”: 卷积核A:专门识别「竖线」(如猫耳朵的竖边) 卷积核B:专门识别「横线」(如猫脸的轮廓横线) 卷积核C:专门识别「45°斜线」(如猫胡须的斜线) 卷积核D:专门识别「明暗交界」(如猫眼的黑边) ... 更多卷积核:识别不同角度、粗细的线条特征

  2. 一个卷积核扫全图,输出一张 “特征图” 每个卷积核会独立在整张图片上滑动扫描,最终输出一张「特征图」(只保留这种特征的位置):

# 卷积核A(竖线检测器)的输出(特征图1):
┌─────────────┐
│ │   │   │   │  # 仅标记竖线位置
│ │   │   │   │
│ │   │   │   │
└─────────────┘

# 卷积核B(横线检测器)的输出(特征图2):
┌─────────────┐
│ ─── ─── ─── │  # 仅标记横线位置
│ ─── ─── ─── │
│   ──   ──   │
└─────────────┘
1
2
3
4
5
6
7
8
9
10
11
12
13
  1. 整个卷积层的输出 = 所有特征图的堆叠 如果卷积层1有 3个卷积核,就会输出32张特征图(每张对应一种特征),这些特征图叠在一起,就是这一层的最终输出:
卷积层1输出 = [特征图1(竖线), 特征图2(横线), 特征图3(斜线), ..., 特征图32(明暗)]
1
  1. 后续卷积层:基于上一层的特征,组合成更复杂的特征 到了卷积层 2,它的输入不是原始图片,而是卷积层 1 输出的 32 张特征图。卷积层2里的卷积核,会同时扫描多张特征图,把 “竖线 + 横线” 组合成 “角”,把 “斜线 + 明暗” 组合成 “圆弧”—— 这就是 “从简单特征到复杂特征” 的核心过程。

# 卷积层2 组合简单特征,提取复杂特征

卷积层 2 的输入是「32 张独立的特征图」(不是合并成一张),卷积核会同时跨这 32 张特征图扫描,把分散在不同特征图里的简单特征(竖线、横线)组合成复杂特征(角)。

  1. 输入形态:用数字明确维度 先定义基础参数:
  • 原始图片:3通道(RGB)、尺寸 224×224 → 形状为 [3, 224, 224](通道数 × 高度 × 宽度)
  • 卷积层1输出:32个卷积核对应32张特征图,每张尺寸224×224 → 形状为 [32, 224, 224]

卷积层2的输入即为 [32, 224, 224],可理解为 “32页的画册”:每页对应一种简单特征(竖线、横线等),卷积层2需同时分析这32页的内容。

  1. 3D卷积核:同时扫描多张特征图 卷积层2的每个卷积核,不再是 “2D小窗口”,而是 “3D小窗口”—— 它的维度和输入的通道数匹配(32通道)。以“组合竖线 + 横线成角” 举例:
# 卷积层2的一个卷积核(3D):
┌─────────────────────────┐
│ 通道1(竖线): [1 0 -1]  │  # 对竖线特征加权
│ 通道2(横线): [1 0 -1]  │  # 对横线特征加权
│ 通道3(斜线): [0 0 0]   │  # 斜线无关,权重0
│ ...                     │
│ 通道32(明暗): [0 0 0]  │  # 明暗无关,权重0
└─────────────────────────┘
1
2
3
4
5
6
7
8

该3D卷积核滑动时会完成两个核心操作:

  • 对同一位置的32张特征图(32个通道)分别计算权重;
  • 将32个计算结果求和,得到的数值代表 “该位置是否存在目标复杂特征(如角)”。 最终,这个卷积核扫描全图后会输出1张特征图,专门标记 “角” 的位置。
  1. 核心比喻:32眼放大镜看画册
  • 卷积层1输出:32页画册(每页=一种简单特征);
  • 卷积层2的卷积核:32眼放大镜(同时看32页);
  • 卷积核作用:判断 “这一页有竖线、那一页有横线 → 该位置是角”;
  • 卷积层2输出:新画册(如64页),每页 = 一种复杂特征(角、圆弧、小纹理等)。

# 通道数增加的本质:特征类型的丰富化

卷积层2输出64个通道,不是丢掉卷积层1的结果,而是基于它生成更多样的复杂特征;通道数增加,是为了容纳 “不同组合方式” 的复杂特征,让模型能捕捉更丰富的细节。

用「搭积木」比喻拆解核心逻辑:

  1. 通道数 = 特征类型数:卷积层1输出32通道=32种简单特征(线、边),卷积层2输出64通道= 64种复杂特征(角、圆弧);
  2. 组合逻辑:1个复杂特征 = 多种简单特征的组合,而 “组合方式” 有很多种,需要更多通道来装不同的组合结果。
  3. 层级递进:
  • 卷积层1有3个核心特征:

    • 通道A:竖线
    • 通道B:横线
    • 通道C:斜线
  • 卷积层2的卷积核会做这些 “组合操作”:

    • 卷积核1:A(竖线)+ B(横线)→ 直角(输出通道 1)
    • 卷积核2:A(竖线)+ C(斜线)→ 锐角(输出通道 2)
    • 卷积核3:B(横线)+ C(斜线)→ 钝角(输出通道 3)
    • 卷积核4:A(竖线)+ B(横线)+ C(斜线)→ 复杂纹理(输出通道 4)
  • 卷积层3:用基础组件拼出 “复杂部件”(眼睛、耳朵)。

如果有64个卷积核,就能生成64种不同的 “简单特征组合”,对应64个通道。
简单说:通道数 = 特征类型数,复杂特征的类型比简单特征多,所以通道数要增加。

  1. 你可以把这个过程理解为:
  • 卷积层1:生产32种 “积木零件”(线、边);
  • 卷积层2:用这些零件拼出64种 “基础组件”(角、圆弧);
  • 卷积层3:用64种基础组件拼出更多 “复杂部件”(眼睛、耳朵);

全程都是 “基于上一层加工”,零件不会丢,只是被组合成了更复杂的形态。

# 关键补充:卷积核的“选择性组合”

卷积层2的每个卷积核是「选择性组合部分通道」,而非把32个通道的信息无脑揉在一起;

卷积层 2 的每个卷积核是「3D 结构」(比如 32×3×3,对应输入 32 通道、卷积核尺寸 3×3),但它的工作逻辑是「选择性加权组合」,而非 “32 个通道全参与”:

  1. 乐高积木比喻 将卷积层1的32个通道看作32种乐高零件(竖线、横线、斜线、不同粗细的边...):
  • “角检测器”卷积核:仅挑选「竖线零件 + 横线零件」拼角,其余30种零件几乎不用;
  • “圆弧检测器”卷积核:仅挑选「斜线零件 + 明暗零件」拼圆弧,其余30种零件几乎不用。
  1. 技术层面:权重决定 “选哪些通道” 每个3D卷积核内部有可学习的权重,会对32个通道做 “优先级筛选”,示例如下:
# 卷积层2“角检测器”卷积核的权重分布
通道1(竖线):权重=0.9  → 核心参与组合
通道2(横线):权重=0.8  → 核心参与组合
通道3(斜线):权重=0.1  → 几乎不参与
通道4-32:权重≈0        → 完全不参与
1
2
3
4
5

这个卷积核仅组合通道 1 和 2 的特征生成 “角”,其余通道信息被忽略 —— 这是「选择性组合」的核心,而非 “32 个通道一起拼接”。

  1. 输出规则:1个卷积核 = 1个输出通道 卷积层2 配置64个3D卷积核,每个核基于32个输入通道 “选部分组合”,最终输出1个通道的复杂特征;64个核对应输出64个通道,每个通道代表一种独特的复杂特征(角、圆弧、小纹理等)。
Last Updated: 2026/03/18, 21:53:17
环境搭建
深度学习的基本实现流程

← 环境搭建 深度学习的基本实现流程→

最近更新
01
工厂设计模式
03-18
02
单例模式
03-18
03
PaddleX实现垃圾分类
03-16
更多文章>
Theme by Vdoing | Copyright © 2019-2026 鲁ICP备19032096号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×