WikiWiki
首页
Java开发
Java面试
Linux手册
  • AI相关
  • Python Flask
  • Pytorch
  • youlo8
SEO
uniapp小程序
Vue前端
work
数据库
软件设计师
入门指南
首页
Java开发
Java面试
Linux手册
  • AI相关
  • Python Flask
  • Pytorch
  • youlo8
SEO
uniapp小程序
Vue前端
work
数据库
软件设计师
入门指南

卷积神经网络CNN

一、卷积神经网络基础

1.卷积神经网络基础

1.1什么是卷积

  • Convolution,输入信息与核函数(滤波器)的乘积

image-20250904094547525

单个二维图片卷积

  • 输入为单通道图像,输出为单通道图像

image-20250904094658259

1.2多通道卷积

数字图像的表示

  • 图像数据存储,多通道的二维矩阵

    image-20250904094908278

特征图

  • 如何表达每一个网络层中高维的图像数据?

    image-20250904100801803

多通道卷积

  • 输出特征图的每一个通道,由输入图的所有通道和相同数量的卷积核先一一对应各自进行卷积计算,然后求和

    image-20250904100932970

1.3卷积相关操作与参数

填充

  • padding:给卷积前的输入图像边界添加额外的行/列.

  • 控制卷积后图像分辨率,方便计算特征图尺寸的变化

  • 弥补边界信息“丢失”

    image-20250904101335126

步术

  • 步长(stride):卷积核在图像上移动的步子

    image-20250904101454778

    • stride太小,重复计算较多,计算量大,训练效率降低;
    • stride太大,会造成信息遗漏,无法有效提炼数据背后的特征;

输入输出大小计算

image-20250904101705620

image-20250904101754553

池化

  • 池化(pooling):对图像进行下采样,降低图像分辨率

    image-20250904102042935

    • 使特征图变小,简化网络计算复杂度;
    • 压缩特征进行逐级抽象;

感受野

  • 感受野(Receptive Field):某一层一个元素对应输入层的一个映射区域大小。感受野越大,得到的全局信息越多

image-20250904102319784

2.卷积与全连接的比较

2.1全连接的局限性

参数量有效性

  • 全连接神经网络有巨大的模型参数量

image-20250904102800282

特征表达能力

  • 一般需要将人工提取的特征输入神经网络

    image-20250904102923190

    • 全连接神经网络的角色只是一个分类器,性能局限于研究人员的经验和特征的表达能力,无法应对各种不变性。
    • 如果直接将整个图片输入网络,不仅参数量大,也没有利用好图片中像素的空间特性,增加了学习的难度。

2.2卷积的核心思想

局部连接

  • 为什么要进行局部连接?

    image-20250904103244249

  • 局部连接会不会影响特征提取?

    image-20250904103500760

权重共享

  • 保证不变性,图像从一个局部区域学习到的信息应用到其他区域

    image-20250904103645027

  • 减少参数,降低学习难度

    image-20250904103818749

ANN与CNN比较

  • 传统神经网络为有监督的机器学习,输入为特征;卷积神经网络为无监督特征学习,输入为最原始的图像

image-20250904104222713

二、典型卷积神经网络模型

1.卷积与池化反向传播

1.1误差反向传播算法

  • 反向传播算法求解

    image-20250904104835189

1.2卷积误差反向传播

  • 多通道卷积的误差反向传播

    image-20250904105529599

案例

image-20250904110011880

1.3池化误差反向传播算法

  • 池化的误差反向传播

    image-20250905103517864up是上采样函数

  • 最大池化的误差反向传播

    image-20250905103552804

    记录下最大池化的位置,然后进行上采样填充

  • 平均池化的误差反向传播

    image-20250905104505126

    误差均匀分布到每个位置

2.典型卷积神经网络模型

2.1卷积神经网络模块

卷积神经网络基本结构

  • 典型深度卷积神经网络结构

    image-20250905104922709

卷积模块

  • 一般由卷积操作,池化操作,激活函数,标准化操作等组成

    image-20250905105044942

  • 卷积与激活函数:必要

  • 标准化和池化:非必要

全连接模块

  • 一般由多个线性变换层,激活函数等组成

    image-20250905105147752

  • 非输出的线性变换层必须要后接激活函数,输出变换层根据实际任务决定

2.2LeNets5t网络

  • 1998年Yann LeCun等提出LeNets5,是第一个成功应用于手写数字识别问题并产生实际商业(邮政行业)价值的卷积神经网络。

    image-20250905105433022

LeNets5网络细节

  • 一共七层,3个卷积层,2个池化层,2个全连接层

    image-20250905105524903

  • C1层-卷积层

    image-20250905105637362

  • S2层-池化层(下采样层)

    image-20250905105739493

  • C3层-卷积层

    image-20250905105858907

  • C3层-非密集的特征图连接关系

    image-20250905105937819

  • C3的前6个特征图与S2层相连的3个特征图相连接,后面6个特征图与S2层相连的4个特征图相连接,后面3个特征图与S2层部分不相连的4个特征图相连接,最后一个与S2层的所有特征图相连。采用非密集连接的方式,打破对称性,同时减少计算量,共60组卷积核。

  • S4层-池化层(下采样层)

    image-20250905110154618.

  • C5层-卷积层

    image-20250905110222361

  • F6层-全连接层

    image-20250905110433827

  • F6全连接层的输出设计为什么是84个节点

    image-20250905110526769

  • Output层-全连接层,共有10个节点,分别代表数字0到9

image-20250905110737712

最近更新:: 2025/9/8 11:05
Contributors: yanpeng_