首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >深度解析卷积神经网络(CNN)各层的作用

深度解析卷积神经网络(CNN)各层的作用

作者头像
索旭东
发布2026-03-31 18:55:10
发布2026-03-31 18:55:10
4340
举报
文章被收录于专栏:具身小站具身小站

1

CNN 的典型层结构

一个标准的 CNN 通常由以下几类层组成,按照处理顺序排列:

层类型

核心作用

是否必选

出现位置

输入层

接收原始数据

必选

最前端

卷积层

提取局部特征

必选

主体部分

激活层

引入非线性

必选

紧跟卷积层

池化层

降维、聚合信息

可选(常用)

卷积块之间

归一化层

稳定训练、加速收敛

可选(推荐)

激活前后

全连接层

特征组合与决策

可选(分类任务常用)

网络末端

输出层

输出最终结果

必选

最后

下面逐一深入每一层。

2

输入层(Input Layer)

是什么?

接收原始图像的层。对于图像数据,输入通常是三维张量: 高度 × 宽度 × 通道数 。

为什么需要?

这是数据的入口。所有后续处理都基于这个原始输入。

特点

不进行任何计算,只是数据载体

常见输入尺寸:224×224×3(ImageNet标准)、32×32×3(CIFAR标准)

通常需要对输入做归一化(如将像素值缩放到[0,1]或[-1,1])

3

卷积层(Convolutional Layer)

是什么?

CNN 的核心层,包含一组可学习的卷积核(滤波器),在输入上滑动进行卷积运算。

为什么需要?

局部连接 :符合图像中局部像素相关性强的特点

参数共享 :同一个卷积核扫描整张图,大幅减少参数量

特征提取 :自动学习从低级到高级的特征

特点

特点

说明

局部感受野

每个神经元只连接输入的一小片区域

参数共享

同一个卷积核的权重在整个输入上共享

平移等变性

如果输入中的特征移动位置,输出中的特征也会相应移动

可堆叠

多层卷积可以逐层抽象,从边缘到形状到物体

关键参数

卷积核数量:决定输出通道数

卷积核尺寸:通常 3×3、5×5、7×7

步长:控制滑动的步幅

填充:控制输出尺寸

4

激活层(Activation Layer)

是什么?

对卷积层的输出应用非线性激活函数。

为什么需要?

引入非线性 :如果没有激活函数,多层卷积等价于单层线性变换

增强表达能力 :让网络能够学习复杂的非线性模式

特点

激活函数

特点

现代CNN常用

ReLU

计算简单、缓解梯度消失、稀疏激活

✅ 最常用

Leaky ReLU

解决ReLU死亡问题

⭕ 有时用

GELU

Transformer标配,近年CNN也开始用

⭕ 新趋势

位置

通常紧跟在卷积层之后,即 Conv → Activation 。

5

池化层(Pooling Layer)

是什么?

对特征图进行下采样,减小空间尺寸。

为什么需要?

降维 :减少计算量和参数量

扩大感受野 :让后续层能看到更大的输入区域

引入平移不变性 :对微小位置变化不敏感

防止过拟合 :减少参数,降低模型复杂度

特点

池化类型

操作

特点

最大池化

取窗口内最大值

保留最显著特征,常用

平均池化

取窗口内平均值

保留整体信息

全局平均池化

对整个特征图取平均

替代全连接层,大幅减少参数

位置

通常在卷积块之后,即 Conv → Activation → Pooling 。

6

归一化层(Normalization Layer)

是什么?

对特征图进行标准化处理,使其分布更稳定。

为什么需要?

加速收敛 :让网络更快地训练

稳定训练 :缓解梯度消失/爆炸

允许更大学习率 :提高训练效率

有一定正则化效果 :轻微防止过拟合

常见类型

归一化类型

操作维度

特点

常用场景

批归一化

对每个通道,在batch维度归一化

最常用,效果好

CNN标配

层归一化

对每个样本,在所有通道归一化

不受batch size影响

Transformer、RNN

实例归一化

对每个样本、每个通道单独归一化

保留个体特征

风格迁移

位置

通常在激活函数之前或之后,经典顺序是 Conv → BN → ReLU 。

7

全连接层(Fully Connected Layer)

是什么?

传统神经网络的标准层,每个神经元与上一层的所有神经元相连。

为什么需要?

特征组合 :将卷积层提取的局部特征进行全局组合

维度变换 :将特征图映射到特定维度的输出空间

决策层 :在分类任务中作为最后的分类器

特点

参数量巨大 :容易成为网络参数的主要部分

全连接 :每个输出与所有输入相连

对输入尺寸敏感 :要求输入特征图尺寸固定

现代趋势

越来越多的CNN架构用 全局平均池化 替代全连接层,大幅减少参数量。

8

输出层(Output Layer)

是什么?

网络的最后一层,输出最终预测结果。

为什么需要?

将网络提取的特征映射到任务所需的输出形式。

任务类型

输出层设计

激活函数

分类(多类)

神经元数=类别数

Softmax

分类(二类)

1个神经元

Sigmoid

回归

1个或多个神经元

无(或线性)

目标检测

边界框坐标+类别概率

视具体设计而定

9

一个典型CNN的结构示例

以经典的 VGG16 为例,看看各层如何配合:

代码语言:javascript
复制
输入层 (224×224×3)
    ↓
卷积块1: Conv3-64 → ReLU → Conv3-64 → ReLU → MaxPool
    ↓
卷积块2: Conv3-128 → ReLU → Conv3-128 → ReLU → MaxPool
    ↓
卷积块3: Conv3-256 → ReLU → Conv3-256 → ReLU → Conv3-256 → ReLU → MaxPool
    ↓
卷积块4: Conv3-512 → ReLU → Conv3-512 → ReLU → Conv3-512 → ReLU → MaxPool
    ↓
卷积块5: Conv3-512 → ReLU → Conv3-512 → ReLU → Conv3-512 → ReLU → MaxPool
    ↓
全连接层: FC-4096 → ReLU → Dropout → FC-4096 → ReLU → Dropout → FC-1000
    ↓
输出层: Softmax

空间维度递减 :通过池化层逐步缩小特征图

特征维度递增 :卷积核数量逐块增加

局部到全局 :从卷积提取局部特征,到全连接进行全局决策

10

总结:为什么需要这么多不同类型的层?

如果把CNN比作一个 图像理解工厂 :

层类型

角色

比喻

输入层

原料入口

进货口

卷积层

基础特征提取

各个专业工位,每个工位负责一种模式

激活层

决策是否保留

质检员,决定哪些特征值得保留

池化层

信息浓缩

打包压缩,把多个零件合成一个组件

归一化层

质量稳定

环境控制,让每个工位工作稳定

全连接层

全局决策

总装线,把所有组件组合成最终产品

输出层

成品出厂

包装成客户需要的形式

每一层都有其不可替代的作用,它们的协同工作使得CNN能够从原始像素中学习到层次化的特征表示,最终完成复杂的视觉任务。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 具身小站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档