news 2026/9/1 6:20:08

深度学习基础-2-CNN卷积神经网络

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习基础-2-CNN卷积神经网络

CNN卷积神经网络

一、概述

全连接层相较于卷积层的弊端:

难以提取局部不变特征(缩放、平移、旋转不影响语义信息)

CNN卷积神经网络的优势(减少参数量的手段)

局部连接:

权值共享:一个卷积层共用一个卷积核

池化操作:缩减特征图尺寸(下采样),增大感受野,进一步减少参数量

二、基础组件

1、基本构成:

输入层、卷积层、激活、池化层、全连接层

输入层:零中心化,归一化

卷积层:浅层:基础特征提取/深层:抽象特征提取

全连接层:特征组合分类评分

基本特征

局部连接:降低参数量

权值共享:一个卷积层共用一个卷积核(滤波器),降低参数量

平移不变性:捕获与图像整体空间位置无关的特征(图像不同位置出现的相似特征)

池化操作:缩减特征图尺寸,增大感受野,进一步减少参数量

2、卷积层:

定义

1、数学定义:

一维、二维卷积定义式

CNN中的卷积为数学中的互相相关

(原因:1、目标不同:卷积仅为提取特征。2、可变性不同:数学中的滤波器人为确定而CNN中的滤波器由学习得到)

2、深度学习定义:特征提取器(提取后得到特征图)

特点

  1. 参数共享:对图像的一部分有用的特征检测器(滤波器),对图像的另一部分也很可能是有用的
  2. 稀疏连接:在每一个卷积层,输出值仅取决于一小部分输入值

典型卷积核

1、低通滤波:卷积核绝对值小、处理图像变平滑、模糊、噪声减少

2、高通滤波:卷积核绝对值大、处理图像边缘明显、细节突出

3、1×1滤波器:特征降维(在通道数方向上进行降维(channel_num→fliter_num))减少参数 量和计算量

4、垂直和水平特征提取:vertical/horizontal

卷积核相关计算

1、卷积核运算:对应位置相乘再加(加权求和)

2、输入输出维度计算:

a、平面卷积的两种基本操作

padding

填充的作用:

  1. 防止图像大小的收缩(shrinking)
  2. 防止图像边缘像素信息被“轻视”(比如,如果不填充,图像左上角的像素只被卷积一次)

分类:

  1. Valid:未使用填充,卷积后图像变小
  2. Same:使用填充,卷积后图像大小不变。p=(k-1)/2

k为偶数:非对称填充导致的特征图空间漂移和对齐问题

stride

步幅的作用:

成倍缩小卷积输出的空间尺寸,且缩小倍数等于步幅大小

b、立体卷积

注:

1、立体卷积中一个标准卷积核中的不同fliter的尺寸必须相同;而其中参数不同对应提取不同方向尺度上的特征。

2、在GoogleNet的inception中,是并行使用多个不同的卷积,再在通道中进行堆叠,而不是使用不同尺寸的fliter滤波器。

3、参数量计算:

补充:

空洞卷积

空洞卷积“挖掉”的参数(即引入的零值)不影响最终的感受野大小

在感受野不变的前提下减少参数量/在参数量不变的前提下增大感受野

空洞卷积也叫扩张卷积, 在保持参数个数不变的情况下增大了卷积核的感受野, 同时它可以保证输出的特征映射的大小保持不变。 一个扩张率为 2 的 3×3 卷积核, 感受野与 5×5 的卷积核相同, 但参数数量仅为 9 个。

常用激活函数

卷积为线性操作

激活函数增强网络非线性建模能力

3、池化层

含义:

使用某一位置的相邻区域的总体特性来替代该位置的输出

目标:

1、在保留有用信息同时,减小输出特征图的大小(同时增大感受野),降低特征维度

2、减少参数量

3、防止过拟合(结合平移不变性理解)

分类:

1、最大池化

2、平均池化

维度和参数计算

池化层参数量为0!

4、感受野

计算公式

层数越深,感受野越大

eg:

三、基础卷积神经网络

1、AlexNet

  • 第一个现代深度卷积网络模型
  • 采用ReLU作为非线性激活函数, 使用Dropout防止过拟合
  • 5个卷积层、 3个池化层和3个全连接层

2、VGG

  • VGG采用连续的几个3× 3的卷积核代替AlexNet中的较大卷积核(多个小卷积核堆叠代替大卷积核):
    • 使用3个3× 3卷积核来代替7× 7卷积核
    • 使用2个3× 3卷积核来代替5× 5卷积核
  • 优点: 在保证具有相同感知野的条件下:
    • 提升了网络深度, 减小网络参数量, 从而提升了神经网络性能
    • 更多非线性变换,增强了学习能力
  • 7.3% top 5 error in2014ILSVRC定位任务第一名,分类任务第二名

3、VGG

  • 2014 ILSVRC winner(错误率: 6.7%)

  • 22层, 参数量 4M (vsAlexNet: 8层, 参数量60M, 错误率16.4%)

  • 没有全连接层

  • 引入1×1小卷积核

    • 相当于直接加入非线性激活函数,提高模型的表达能力

    • 通过升维和降维简化运算

    • inception中的1×1卷积简化运算示例


  • 由多个Inception模块堆叠而成

    • 一层并行使用多个不同尺寸的卷积核得到不同的特征进行拼接得到输出
    • 不同大小卷积核→不同大小感受野→拼接意味着不同尺度特征融合

4、ResNet(残差网络)

  • 2015年ILSVRC比赛分类任务第一名(152层, 错误率: 3.6%)

  • 跳连/残差连接:以提升信息的传播效率, 使网络更容易优化

    • 解决了机械累加模型深度而使网络退化问题(随着网络的深度增加, 准确度反而下降了 )
    • 由梯度消失,模型过拟合等原因导致

  • ResNet快于VGGNet (也引入1×1卷积降维/减少全连接层)

5、MobileNet

  • Google团队提出, 专注于移动设备的轻量级神经网络 (性能较差)

  • 深度可分离卷积,减少计算量

    • 深度卷积(空间特征提取):卷积核宽 × 卷积核高 ×1× 输入通道数

    • 逐点卷积(通道特征提取):1 × 1 × 输入通道数 × 输出通道数

    • 计算验证:标准卷积参数量约为深度可分离卷积的8.41倍

    • eg:输入图尺寸为11211264, 卷积核尺寸3*3, 使用128个卷积核

  • v1缺点:深度可分离卷积中的深度卷积操作(逐通道处理降维),在低维空间后接ReLU激活函数,容易造成信息丢失(在高维度进行RELU运算信息丢失会很少)。

  • v2优化:

    • 将RELU换为线性激活函数
    • 先逐点卷积升维再深度卷积再逐点卷积降维
    • 引入ResNet的shortcut结构

6、DenseNet

  • 前面所有层与后面层均密集连接(Dense Connection)

  • 通过特征在channel上的连接来实现特征重用(Feature Reuse)

    优点:特征复用/减少参数量/缓解梯度消失/能看到全局特征,有正则化作用防止过拟合

    缺点:内存占用高


四、卷积网络可视化

Conv:

浅层:(基础特征)颜色、边缘、纹理—>可复用

深层:(抽象特征)物体位置、语义类别—>新数据集特征

五、预训练与微调

1、为什么需要预训练和微调?

1、如果数据集量大:训练调参时间长

2、如果数据集量小:过拟合

3、参数量大:调参时间长、过拟合风险高

注:参数量大和数据集小都会导致过拟合,不要把这两个概念弄混了

4、其他:模型性能差、泛化能力差

2、什么是预训练和微调?

预训练:大数据集上训练,训练浅层可复用通用特征

注:预训练并非必要

微调:小数据集上微调以优化性能,训练深层专业化特征

注:微调时可以采用比训练时更小的学习率

3、如何进行预训练和微调

1、数据集小,和原数据集相似:只需微调顶端线性分类层(输出层)

2、数据集大,和原数据集相似:小学习率微调较多的卷积层

3、数据集小,和原数据集差异明显:数据扩增

4、数据集大,和原数据集差异明显:重新训练

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 6:19:55

Spring Boot在线课程管理系统:从设计到毕设改造全解析

简介:这是一份面向计算机专业本科生的Java毕业设计实战资源,聚焦Spring Boot企业级开发能力训练,解决高校毕设中在线课程平台类系统从选题、编码到论文撰写的全流程需求。资源包含完整毕业论文(含需求分析、系统设计、核心代码实现…

作者头像 李华
网站建设 2026/9/1 6:18:11

汇川PLC三轴示教系统:点表设计、伺服控制与状态机实现

简介:面向汇川H5U系列PLC与MCGS触摸屏开发者的三轴示教系统源码,适合工业自动化、PLC编程及触摸屏开发场景,支持离线仿真,可快速上手并用于二次开发。压缩包共3个文件,包括inscode工程配置、index.html界面文件与.giti…

作者头像 李华
网站建设 2026/9/1 6:16:17

Linux 进程间通信(IPC)详解

1. 进程间通信的方法进程间通信(IPC,Inter-Process Communication)是操作系统中不同进程之间交换数据与信息的机制。Linux 下常用的进程间通信方式包括:管道:包括无名管道和有名管道,用于有亲缘关系或任意进…

作者头像 李华
网站建设 2026/9/1 6:15:02

Anthropic MHS标准解读:重塑Agent工具调用与上下文管理

近几个月,AI 领域的竞争已经从前端模型能力,悄悄转移到了更底层的地方:上下文怎么组织、工具怎么调用、模型与外部系统之间怎么约定交互格式。如果你一直在用 Claude 的 API,或者正在做 Agent 类应用,大概率会遇到一个…

作者头像 李华
网站建设 2026/9/1 6:14:24

外汇历史数据清洗与标准化:构建可复用的数据文件管线

简介:这是一份带配套程序的外汇数据文件包,主要面向需要研究汇率数据、量化策略或本地运行演示程序的交易学习者和开发人员。包内不仅提供 FXDB 格式的外汇数据文件,还包含 MasterSignal 主程序、System.Data.SQLite 等动态库和 JSON 配置文件…

作者头像 李华
网站建设 2026/9/1 6:14:08

TinyPerson数据集COCO转YOLO格式完整教程与训练避坑指南

简介:该数据集面向目标检测、人群检测及小目标检测方向的开发者与研究者,由TinyPerson图像整理而成,共包含1532张带标注样本,标注格式覆盖VOC xml与YOLO txt两种主流类型,其中YOLO txt已划分好训练、验证、测试集&…

作者头像 李华