当前位置: 首页 > backend >正文

深度学习-----简单入门卷积神经网络CNN的全流程

(一)卷积神经网络(CNN)的核心思想
  1. 传统全连接网络的缺陷
    • 图像平铺展开后,旋转或位置变化会导致输入差异大,难以识别
    • 举例:手写数字“8”在不同位置或旋转后的识别困难(图像在计算机中是一堆按顺序排列的数字,数值为0到255。0表示最暗,255表示最亮) 

  2. CNN的改进
    • 模拟人类视觉,通过卷积层、池化层和全连接层组合,局部扫描图像提取特征
    • 关键优势:对图像的位置、旋转等变换具有鲁棒性(鲁棒性(Robustness)是系统或算法在面对不确定性、异常输入、噪声或环境变化时,仍能保持稳定性能的能力。它是衡量系统可靠性和抗干扰能力的重要指标)
(二)卷积层的原理
  1. 卷积核(Filter/Kernel)
    • 固定权重矩阵(如3x3),作为滤波器扫描图像局部区域
    • 作用:提取局部特征(如边缘、纹理),类似图像滤波操作
    • 对图像(不同的窗口数据)和卷积核(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源
  2. 滑动窗口计算
    • 卷积核在图像上滑动,与覆盖区域逐元素相乘后求和,生成特征图
    • 公式示例:窗口内元素与卷积核对应位置相乘后累加(如-8的计算过程)
    • 激活函数
      • 通常使用ReLU等非线性激活函数增强特征表达能力
(三)卷积神经网络(CNN)的核心原理及计算流程

1. 卷积核与特征提取

  • 卷积核是固定权重矩阵,通过与图像局部窗口做内积(逐元素相乘后求和)生成特征值,类似“滤波器”提取特定模式(如边缘、纹理)
  • 训练中动态调整卷积核权重以优化分类效果(如区分猫狗)

2. 多通道与多卷积核

  • 彩色图像分RGB三通道,需对应三个卷积核分别处理,结果叠加生成特征图
  • 多卷积核生成多特征图,模拟人眼多视角观察,捕捉不同特征(如形状、颜色分布)

3. 关键参数与计算

  • 步长(Stride):滑动窗口每次移动的步长,决定输出特征图尺寸
  • 填充(Zero Padding):在图像边缘补0,平衡边缘与中心区域的计算次数,并适配步长整除需求
  • 输出尺寸公式

    示例:32×32图像用5×5卷积核、步长1、填充2,输出仍为32×32特征图
    4. 多层卷积与特征抽象
  • 多层卷积逐步过滤噪声,保留核心特征(如从模糊轮廓到清晰物体形态)
  • 每层输出作为新“图像”(特征图),继续输入下一层卷积或全连接层

5. 网络结构与流程

  • 输入层:原始图像(如224×224×3)
  • 卷积层:多组卷积核生成多通道特征图(如55×55×48)
  • 池化层(后续讲解):压缩特征图尺寸,减少计算量
  • 全连接层:展平特征图后接全连接神经元,输出分类概率(如飞机/汽车/行人等)

6.池化层(Pooling Layer)

  • 作用:降采样减少特征图尺寸,降低计算量与参数量;控制过拟合。
  • 常见方法
    • 最大池化:选取窗口内最大值作为输出。
    • 平均池化:计算窗口内平均值作为输出。
    • 全局平均池化、全局最大池化:无滑动窗口,直接对整个特征图计算平均值或最大值。
  • 实现方式:通过滑动窗口(如2×2)和步长(如2)遍历特征图。

7.全连接层(FC)

  • 将多通道特征图展平为一维向量,用于分类任务(输出类别概率)
  • 因卷积/池化层仅生成特征图,需全连接层完成最终预测

8.感受野(Receptive Field)

  • 定义:一个神经元或像素点对应原始图像的区域大小
  • 计算示例
    • 单层7×7卷积核的感受野为7×7
    • 多层叠加时,感受野呈指数级扩大(如三层3×3卷积核的感受野为7×7)
  • 参数优化:小卷积核(如3×3)优于大卷积核(如7×7),因前者参数更少且效果相同

9.经典卷积神经网络

  • LeNet:首个成功应用的卷积网络(辛顿发明)
  • AlexNet:依托ImageNet数据集(李飞飞主导)推动深度学习爆发
  • VGGNet:全堆叠3×3卷积核与2×2池化层
  • ResNet(残差网络):引入跨层连接,成为大模型基础
  • DenseNet:基于ResNet的改进,进一步整合跨层连接
(四)感受野

 

http://www.xdnf.cn/news/19844.html

相关文章:

  • 做 DevOps 还在被动救火?这篇让你把监控玩成 “运维加速器”!
  • 【CV】OpenCV基本操作④——算术操作
  • OpenGL视图变换矩阵详解:从理论推导到实战应用
  • 《四川棒球知识百科》球速最快的运动之一·棒球1号位
  • Grok-4 :AI 基准测试霸主,速度与智能并存——但代价几何?
  • 学习 Android (十九) 学习 OpenCV (四)
  • sql项目总结
  • 无人机报警器8G信号技术解析
  • npm install 报错问题解决 npm install --ignore-scripts
  • 嵌入式学习---(单片机)
  • 【Kubernetes知识点】监控升级,备份及Kustomize管理
  • Python 基础语法与控制流程学习笔记
  • 学习笔记:MYSQL(3)(常用函数和约束)
  • 嵌入式人别再瞎折腾了!这8个开源项目,解决按键/队列/物联网所有痛点,小白也能抄作业
  • 【JVS更新日志】低代码、物联网、无忧企业计划9.3更新说明!
  • GitLab Boards 深度解析:选型、竞品、成本与资源消耗
  • 上下文记忆力媲美Genie3,且问世更早:港大和可灵提出场景一致的交互式视频世界模型!
  • MindNode AI:AI辅助思维导图工具,高效整理思路快速搭框架
  • React学习教程,从入门到精通, React 组件语法知识点(9)
  • 【108】基于51单片机智能输液监测系统【Proteus仿真+Keil程序+报告+原理图】
  • 浅谈linux内存管理 的RMAP机制的作用和原理
  • 指针高级(1)
  • leetcode 38 外观数列
  • 线程通信机制
  • 【程序人生】有梦想就能了不起,就怕你没梦想
  • BurpSuite_Pro_V2024.6使用教程-Burp Suite代理设置详解
  • (Me)Adobe Media Encoder 2025音视频格式转码软件及视频编码软件,全新版免激活,安装即永久使用!
  • HTTP协议——理解相关概念、模拟实现浏览器访问自定义服务器
  • 优化程序性能 | 《深入理解计算机系统》第五章笔记
  • React实现列表拖拽排序