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

深度学习之卷积神经网络原理(cnn)

1.图像原理

图像在计算机中是一堆按顺序排列的数字,数值为0到255。0表示最暗,255表示最亮。

上图是只有黑白颜色的灰度图,而更普遍的图片表达方式是RGB颜色模型,即红、绿、蓝三原色的色光以不同的比例相加,以产生多种多样的色光。RGB颜色模型中,单个矩阵就扩展成了有序排列的三个矩阵,也可以用三维张量去理解。 其中的每一个矩阵又叫这个图片的一个channel(通道),宽, 高, 深来描述。

2.图像识别

画面不变性

知道一个物体不管在画面左侧还是右侧,都会被识别为同一物体,这一特点就是不变性,希望所建立的网络可以尽可能的满足这些不变性特点

3.传统神经网络

解决办法是:用大量物体位于不同位置的数据训练,同时增加网络的隐藏层个数从而扩大网络学习这些变体的能力。

卷积神经网络原理

什么是卷积?

对图像(不同的窗口数据)和卷积核(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。

卷积层

卷积操作存在的问题?

步长stride:每次滑动的位置步长。

b. 卷积核的个数:决定输出的depth厚度。同时代表卷积核的个数。

c. 填充值zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除

 数据窗口每次移动两个步长取3*3的局部数据,即stride=2。  两组神经元(卷积核),即depth=2,意味着有两个滤波器。 zero-padding=1。

卷积神经网络卷积结构

卷积神经网络(CNN)的卷积结构,是其强大特征提取能力的核心。左图中,图片(picture)的局部区域(红框标记)作为输入(input)的起始,通过与卷积核的关联,将局部信息传递到隐藏层(hidden) 。每个局部区域并非孤立,像左图里红框的 0 - 1、4 - 5 等元素,对应输入层特定节点,经连接传递信息,逐步在隐藏层抽象、整合,最终输出(output)关键特征。

右图则更直观展现局部与整体的连接。红框局部(a - b、e - f 等)对应输入层节点,广泛连接隐藏层,让局部特征在网络中充分交互、融合。这种结构突破全连接网络对计算和特征利用的局限,通过聚焦局部、逐层传递与抽象,高效提取图片从简单到复杂的特征,为图像识别、分类等任务筑牢基础,是 CNN 适配图像数据,挖掘深层模式的关键设计。

图片精通卷积核处理后的样子,与人眼观看事物原理相似,先看事物的轮廓

卷积神经网络的系统

这是AlexNet的多GPU并行结构示意图,红框内核心卷积模块通过卷积层提取图像从简单到复杂的特征,池化层精简信息,双GPU并行加速运算,为后续图像分类奠定基础。

卷积层计算的结果

例如输入数据为32*32*3的图像,用10个5*5*3的卷积核来进行操作,步长为1,边界0填充为2,最终输出结果为?

(32-5+2*2)/1 +1 =32,输出规模为32*32*10的特征图

池化层

池化层的作用:

一种降采样,减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。

常见的池化层:

最大池化、平均池化、全局平均池化、全局最大池化。 平均池化(average pooling):计算图像区域的平均值作为该区域池化后的值。 最大池化(max pooling):选图像区域的最大值作为该区域池化后的值。是最为常见的。 通常来说,CNN的卷积层之间都会周期性地插入池化层。

池化层操作方法:

与卷积层类似,池化层运算符由一个固定形状的窗口组成,该窗口根据其步幅大小在输入的所有区域上滑动,为固定形状窗口(有时称为 池化窗口)遍历的每个位置计算一个输出。 然而,不同于卷积层中的输入与卷积核之间的互相关计算,池化层不包含参数。

最大池化的原理分析

Max pooling的主要功能是压缩,却不会损坏识别结果。 这意味着卷积后的Feature Map中有对于识别物体不必要的冗余信息。 那么我们就反过来思考,这些“冗余”信息是如何产生的。

全连接层

当抓取到足以用来识别图片的特征后,接下来的就是如何进行分类。 全连接层(也叫前馈层)就可以用来将最后的输出映射到线性可分的空间。 通常卷积网络的最后会将末端得到的长方体平摊(flatten)成一个长长的向量,并送入全连接层配合输出层进行分类。

感受野

例如图片是3通道: 卷积核为7*7的,则卷积核所需要的参数个数为:7*7=49个 卷积核为3个3*3的,则卷积核所需要的参数个数为:(3*3*3) =27

一张250*250的图片和一张500*500的图片,卷积层的权重参数数谁多?

答案是一样多

以下是几个比较有名的卷积神经网络结构

LeNet:第一个成功的卷积神经网络应用

AlexNet:类似LeNet,但更深更大。使用了层叠的卷积层来抓取特征(通常是一个卷积层马上一个max pooling层)

ZF Net:增加了中间卷积层的尺寸,让第一层的stride和filter size更小。

GoogLeNet:减少parameters数量,最后一层用max pooling层代替了全连接层,更重要的是Inception-v4模块的使用。

VGGNet:只使用3x3 卷积层和2x2 pooling层从头到尾堆叠。

ResNet:引入了跨层连接和batch normalization。

DenseNet:将跨层连接从头进行到尾。

http://www.dtcms.com/a/352458.html

相关文章:

  • AT_abc401_f [ABC401F] Add One Edge 3
  • Rocky9配置完VMware桥接模式后没有自动获取IP
  • 系统架构设计师-【2025上半年论文题目分享】
  • 六足机器人系统设计与实现cad+设计说明书+电路原图模式+装配图+电路图
  • Java设计模式之《状态模式》
  • 从根源解决 VMware 每次重启 Windows 系统后无法进行复制文件等操作的问题
  • 矩阵的秩几何含义
  • openssh 版本回退
  • Spring Ai (Function Calling / Tool Calling) 工具调用
  • 78-dify案例分享-零基础上手 Dify TTS 插件!从开发到部署免费文本转语音,测试 + 打包教程全有
  • 使用【阿里云百炼】搭建自己的大模型
  • Linux网络设备分析
  • 构建绿色园区新方案:能源监测+用电安全的综合能源管理系统
  • LeetCode - 227. 基本计算器 II
  • C++ `std::map` 解析:`find`, `end`, `insert` 和 `operator[]`
  • redis 在 nodejs 中如何应用?
  • 常用 Kubernetes (K8s) 命令指南
  • DevSecOps 集成 CI/CD Pipeline:实用指南
  • 【RAGFlow代码详解-30】构建系统和 CI/CD
  • 【智能化解决方案】大模型智能推荐选型系统方案设计
  • 简明 | ResNet特点、残差模块、残差映射理解摘要
  • VGVLP思路探索和讨论
  • C++ 并发编程中的锁:总结与实践
  • 绝命毒师模拟器2|单机+联机+绝命毒师模拟器1 全DLC(Drug Dealer Simulator 2+1)免安装中文版
  • 事件驱动架构详解
  • AI Agent安全的“阿喀琉斯之踵”:深度解析MCP核心风险与纵深防御架构
  • Python爬虫: 分布式爬虫架构讲解及实现
  • mysql是怎样运行的(梳理)
  • Java基础第二课:hello word
  • 传统联邦 VS 联邦+大模型