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

深度学习-----简单入门卷积神经网络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.dtcms.com/a/364931.html

相关文章:

  • 异常处理小妙招——3.构造函数的安全第一原则:为什么不在构造函数中抛出异常?
  • Python爬虫实战:研究Pie and polar charts模块,构建电商数据采集和分析系统
  • 揭秘设计模式:优雅地为复杂对象结构增添新功能-访问者模式
  • 给你的应用穿上“外衣”:React中的CSS方案对比与实践
  • 【Linux】线程封装
  • 组长跟我说,她招人看重的是数据分析能力
  • 基于数据挖掘的当代不孕症医案证治规律研究
  • 从0 死磕全栈第3天:React Router (Vite + React + TS 版):构建小时站实战指南
  • 什么是 Java 的反射机制?它有什么优缺点?
  • 20250903的学习笔记
  • 百度发布Comate AI IDE,我要把Cursor卸载了!
  • 机器学习从入门到精通 - 逻辑回归为什么是分类之王?深入决策边界与概率校准
  • 《嵌入式硬件(一):裸机概念与80c51单片机基础》
  • “十五五”国家科技创新规划-建议
  • 百度智能云「智能集锦」自动生成短剧解说,三步实现专业级素材生产
  • Netty + WebSocket:搭建快速且稳定的双向通信通道
  • word文档中从某一页开始页码全是1
  • Wpf程序屏幕居中问题修复全记录
  • 39.Ansible: 包含与导入
  • FastVLM:高效视觉编码助力视觉语言模型突破高分辨率效率瓶颈
  • 独家|字节Seed部门增发百万期权,大模型战线开启“锁人”模式
  • 【golang长途旅行第37站】Redis连接池
  • MMD动画(一)模型、动作、音乐导入
  • 【大前端】React 父子组件通信、子父通信、以及兄弟(同级)组件通信
  • 科技赋能田园:数字化解决方案开启智慧农业新篇章
  • centos9 docker启动不起来,docker启动发生堵塞问题!
  • 【明道云】[工作表控件5] 手机控件的格式化处理
  • 【机器学习】实战:市场增长点分析挖掘项目
  • SyncBack 备份同步软件: 使用增量备份, 节省网络传输及存储成本
  • 【NVIDIA B200】2.all_reduce_perf NVIDIA B200 8-GPU 系统 All-Reduce 性能深度解析