深度学习:卷积神经网络(CNN)

文章目录

  • 一、CNN 基础认知
    • 1.1 图像在计算机中的存储形式
    • 1.2 图像识别的核心需求:画面不变性
    • 1.3 传统神经网络的局限
  • 二、CNN 核心原理:三大核心层与关键操作
    • 2.1 卷积层
      • (1)什么是卷积操作?
      • (2)卷积层的关键参数
      • (3)输出特征图尺寸计算
    • 2.2 池化层
      • (1)池化层的操作逻辑
      • (2)常见池化方式
      • (3)最大池化的优势
    • 2.3 全连接层
      • (1)全连接层的工作流程
      • (2)全连接层的作用
  • 三、CNN 的网络结构与经典模型
    • 3.1 CNN 的典型架构
    • 3.2 经典 CNN 模型
  • 四、总结:CNN 的核心优势与应用场景

在深度学习领域,卷积神经网络(CNN)在图像识别、计算机视觉等任务中应用广泛,主要因为它能高效提取图像特征。下面就从基础原理、核心结构和实践要点三个方面,结合图示,把 CNN 的相关知识讲清楚。


一、CNN 基础认知

要懂 CNN,先得知道计算机是怎么处理图像的 —— 图像在计算机里其实就是按顺序排列的数字矩阵。

1.1 图像在计算机中的存储形式

  • 灰度图:黑白灰度图用二维矩阵表示,每个元素的数值在 0 到 255 之间,0 是最暗,255 是最亮,矩阵的行和列分别对应图像的高度和宽度。
    在这里插入图片描述

  • RGB 彩色图:彩色图常用 RGB 三原色模型,存储为三维张量(宽 × 高 × 深),其中 “深” 指 3 个通道,分别是红(R)、绿(G)、蓝(B)通道,每个通道都是独立的二维矩阵,三个通道的数值组合起来就形成了各种颜色。
    在这里插入图片描述

1.2 图像识别的核心需求:画面不变性

CNN 设计的一个重要目标是满足图像不变性,也就是说,不管物体在图像里的位置、角度、大小怎么变,或者光照条件不同,都能准确识别出来。具体有四种不变性需求:

  • 平移不变性:物体在画面左边或右边,都能认出是同一个物体;

  • 旋转 / 视角不变性:物体转了方向,或者从不同角度拍,识别结果不受影响;

  • 尺寸不变性:物体放大或缩小后,依然能正确分类;

  • 光照不变性:在不同光照下,物体的特征不会被干扰。
    在这里插入图片描述

1.3 传统神经网络的局限

传统神经网络处理图像时,要把二维矩阵改成一维向量才能输入,这样会丢失图像的空间结构信息。比如数字 “0-9” 和字母 “a-f”,只要位置不一样,改成一维向量后就完全不同,传统网络就认不出来了。只能靠大量数据训练,再增加隐藏层来优化,效率很低。
在这里插入图片描述
在这里插入图片描述


二、CNN 核心原理:三大核心层与关键操作

CNN 的优势来自它特殊的分层结构,主要包括卷积层、池化层、全连接层,每层有明确的作用,一起完成特征提取和分类。

2.1 卷积层

卷积层是 CNN 的核心,通过卷积操作提取图像的局部特征,比如边缘、纹理、颜色块这些。

(1)什么是卷积操作?

卷积就是拿图像局部窗口的数,和卷积核(Filter)做内积 —— 也就是对应元素相乘再相加。卷积核是一组固定权重的小矩阵,就像 “特征探测器”,不同的卷积核能提取不同的特征,比如检测边缘、让图像变模糊等。
在这里插入图片描述

  • 把卷积核的中心对准输入图像的某个像素,然后把这个像素和周围像素的数值,跟卷积核的权重分别相乘,再把结果加起来,就是输出的像素值;

  • 举个例子:输入图像某区域的像素是 [1,2;0,1],卷积核是 [0,1;-4,2],那输出像素值就是(1×0)+(2×1)+(0×-4)+(1×2)=4。

(2)卷积层的关键参数

卷积操作的输出结果,受三个核心参数影响,我们用 7×7×3 的输入和 3×3×3 的卷积核来举例说明:
在这里插入图片描述

  • 步长(Stride):指卷积核每次在图像上滑动的像素数。步长是 1,就每次移 1 个像素;步长是 2,就每次移 2 个像素,步长越大,输出的特征图尺寸越小。

  • 卷积核个数:决定输出特征图的 “深度(Depth)”。比如用 2 个卷积核,输出的特征图就有 2 个通道,对应 2 种不同的特征。

  • 填充(Zero-Padding):为了不让图像边缘的特征丢失,也为了让图像尺寸能被步长整除,会在图像边缘补几圈 0。比如 7×7 的图像,补 1 圈 0 后变成 9×9,这样步长为 2 时,卷积核就能完整滑动。

(3)输出特征图尺寸计算

卷积层输出尺寸有固定公式:

  • 长度:H2=H1−FH+2PS+1H_2 = \frac{H_1 - F_H + 2P}{S} + 1H2=SH1FH+2P+1

  • 宽度:W2=W1−FW+2PS+1W_2 = \frac{W_1 - F_W + 2P}{S} + 1W2=SW1FW+2P+1

其中,H1H_1H1W1W_1W1是输入图像的长度和宽度,FHF_HFHFWF_WFW是卷积核的长度和宽度,PPP是填充数,SSS是步长。

示例:输入 32×32×3 的图像,用 10 个 5×5×3 的卷积核,步长 1,填充 2,按照公式计算,输出的长度和宽度都是32−5+2×21+1=32\frac{32-5+2×2}{1}+1=321325+2×2+1=32,所以最终输出 32×32×10 的特征图。

2.2 池化层

池化层一般在卷积层后面,主要作用是降采样 —— 减少数据量和计算量,同时能控制过拟合,让模型对物体的位置变化更不敏感。

(1)池化层的操作逻辑

池化层和卷积层类似,也是用 “池化窗口” 在特征图上滑动,但没有可学习的参数,只按固定规则计算输出。以 2×2 的最大池化为例:
在这里插入图片描述

  • 池化窗口按设定的步长滑动,对每个窗口里的像素计算输出值;

  • 比如 2×2 最大池化,就是取窗口里的最大值作为输出,像窗口 [1,2;6,8],输出就是 8。

(2)常见池化方式

主流的池化方式有三种:

  • 最大池化(Max Pooling):取窗口内的最大值,能保留关键特征,比如边缘的强度,用得最多;

  • 平均池化(Average Pooling):取窗口内的平均值,能保留图像整体的灰度信息;

  • 全局平均池化 / 全局最大池化:把整个特征图当一个池化窗口,计算平均值或最大值,直接输出一维向量,常用来代替全连接层以减少参数(可分别插入这几种池化方式在图像上操作的对比图)。

(3)最大池化的优势

用 3×3 最大池化的例子来说明:最大池化能把特征图 “压缩”,但不会影响识别结果。因为卷积后的特征图有冗余信息,最大池化能保留最关键的特征信号,还能降低过拟合的风险。

2.3 全连接层

等卷积层和池化层提取到足够的特征后,就轮到全连接层发挥作用了 —— 它把这些特征映射到类别空间,完成最终的分类。

(1)全连接层的工作流程

全连接层的工作逻辑分两步:
在这里插入图片描述

  1. 特征摊平(Flatten):把卷积层、池化层输出的多维特征图,比如 32×32×10 的,改成一维向量,这个向量的长度就是 32×32×10=10240;

  2. 线性映射:把一维向量输入全连接层,层里每个神经元都和前一层所有神经元相连,通过权重计算,把特征映射到类别对应的维度。比如做 10 分类任务,就输出 10 个神经元,分别对应 0-9 这 10 个类别的概率。

(2)全连接层的作用

全连接层就像 “分类器”,通过学习权重参数,把边缘、纹理这些低级特征,整合变成物体形状、结构这类高级特征,最后输出每个类别的概率。比如识别手写数字时,哪个神经元输出的概率最大,模型就认为输入的图像是对应的数字。


三、CNN 的网络结构与经典模型

3.1 CNN 的典型架构

一个完整的 CNN,结构通常是 “输入层→卷积层→激活层→池化层→(重复卷积 - 激活 - 池化)→全连接层→输出层”。
在这里插入图片描述

  • 浅层:通过卷积层提取边缘、颜色这些低级特征;

  • 中层:反复用卷积层和池化层,把低级特征组合成纹理、局部形状等中级特征;

  • 深层:全连接层整合高级特征,输出分类结果。

3.2 经典 CNN 模型

有 6 种经典的 CNN 模型,能看出技术的发展过程:

模型名称核心特点应用价值
LeNet第一个成功应用的 CNN,结构是卷积 - 池化 - 全连接手写数字识别
AlexNet网络更深更大,用了 ReLU 激活函数和 GPU 加速实现 ImageNet 图像分类的突破
ZF Net缩小了第一层的步长和卷积核尺寸,提高了特征提取精度优化图像分类精度
GoogLeNet加入 Inception 模块,减少参数,用全局池化代替全连接高效融合特征
VGGNet只用 3×3 的卷积核和 2×2 的池化层堆叠,加深了网络深度增强特征抽象能力
ResNet加入残差连接和 Batch Normalization,解决了梯度消失问题实现 152 层这类超深网络的训练

四、总结:CNN 的核心优势与应用场景

总结一下 CNN 的核心优势,主要有三点:

  1. 局部连接与权值共享:卷积层只和图像的局部区域连接,而且同一个卷积核的权重在整个图像上都能用,大大减少了参数数量,降低了计算成本;

  2. 层次化特征提取:从低级特征到高级特征逐步抽象,符合人眼认识图像的规律,能提高识别精度;

  3. 平移不变性:池化层和卷积操作配合,就算物体位置变了,也不影响识别结果,能适应复杂的场景。

现在,CNN 已经广泛用在图像识别(比如人脸识别、车牌识别)、目标检测(比如自动驾驶里的障碍物检测)、图像分割(比如医学影像中的器官分割)等领域,是人工智能视觉技术的重要基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/920212.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/920212.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS 26 正式版即将发布,Flutter 完成全新 devicectl + lldb 的 Debug JIT 运行支持

在之前的 《Flutter 又双叒叕可以在 iOS 26 的真机上 hotload》 和 《Flutter 在 iOS 真机 Debug 运行出现 Timed out *** to update》 我们聊过,由于 iOS 26 开始,Apple 正式禁止了 Debug 时 mprotect 的 RX 权限,导致了 Flutter 在 Debug 运…

机器学习全流程拆解 _ 从数据到模型的科学之道

-—— 避开80%项目失败的隐形成本,掌握高效建模方法论*📌 一、明确目标:成败的起点 1. 问题定位 分类任务:区分二分类/多分类/多标签分类预测任务:标量预测(如房价)vs 向量预测(如股…

Android 广告轮播全实现:图片与视频混合展示的完整方案

广告轮播是移动应用中提升用户转化率的核心组件,尤其在电商、资讯类应用中应用广泛。传统轮播仅支持图片展示,而现代应用需要兼顾图片和视频内容以增强吸引力。本文将详细讲解如何实现一个支持图片与视频混合播放的高性能广告轮播,涵盖布局设…

AI大模型企业落地指南-笔记01

前言AI技术的发展趋势必然是越来越普及,越来越“技术平权”的。在未来10年内,AI将以各种方式“融入”人类世界,与人类乃至世界深度融合。一. 概念第1章 AI与大模型概述1.1 什么是AI人工智能(全称Artificial Intelligence&#xff…

Linux-孤儿进程和僵死进程

文章目录孤儿进程概述僵死进程概述孤儿进程 概述 父进程运行结束,子进程还在运行,此时,子进程就成了孤儿进程(Orphan Process)每当出现一个孤儿进程的时候,内核就把孤儿进程的父进程设置为 init &#xf…

【Redis 进阶】----主从复制(重点理解流程和原理)

在分布式系统中为了解决单点问题(某个服务器程序只有一个节点(只搞一个物理服务器来部署这个服务器程序)。可用性不高:如果这个机器挂了意味着服务就中断了;性能 / 支持的并发量比较有限)。通常会把数据复制…

【Redisson】redis最佳实践-RedissonUtils+Caffeine

RedissonUtils - 企业级 Redis 缓存工具库 - 二级缓存 项目地址: hhttps://gitee.com/chen934298133/redisson-utils问题反馈: Issues邮箱: chen934298133163.com 📖 项目简介 RedissonUtils 是一个基于 Redisson 的企业级 Redis 缓存工具库,提供了完…

QT(QTableWidget)

QT6QTableWidget QTableWidget是一种Item Widget组件,它以表格形式和管理数据,表格的每个单元格关联一个QTableWidgetItem对象,可以设置每个单元格的文字内容、字体、文字颜色、背景色、图标等,还可以有复选框。每个单元格还可以存…

Sentinel相关记录

系列文章目录 draft Sentinel 是阿里巴巴开源的 轻量级服务防护组件,主要用于实现以下功能:流量控制FlowRule(Rate Limiting):限制单位时间内的请求量,防止系统过载。 熔断降级DegradeRule(Ci…

2025年渗透测试面试题总结-29(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 二百四十一、XSS 设置Http-Only如何绕过 二百四十二、XSS攻击手段分类 二百四十三、高杀软覆盖工作组的渗…

如何用Wireshark捕获当前房间路由器和主机的数据包

一、前期工作 在我的这篇文章中: Wireshark USRP联合波形捕获(上)-CSDN博客 通过192.168.1.103这个主机ip筛选Wireshark捕获的数据包,认为Source和Direction中至少一个包含192.168.1.103才能代表路由器和主机之间的WiFi信号。 …

深度解析游戏引擎中的相机:视图矩阵

在现代游戏引擎中,相机系统是不可或缺的一部分。它决定了玩家在游戏中看到的视角和场景。而视图矩阵作为相机系统的核心组件之一,起到了至关重要的作用。本文将深入探讨视图矩阵的原理、计算方法及其在游戏引擎中的应用。 视图矩阵的基本概念 视图矩阵…

96、23种设计模式之原型模式(5/23)

原型模式(Prototype Pattern)是创建型设计模式的一种,其核心思想是通过复制现有对象(原型)来创建新对象,而非通过构造函数或工厂方法从头构建。该模式将对象的创建过程从构造逻辑转移到复制操作&#xff0c…

【python与生活】如何用Python写一个简单的自动整理文件的脚本?

用 Python 写一个自动整理文件的脚本很简单,核心思路是:按文件后缀(如 .jpg、.pdf)将文件分类,移动到对应的文件夹(如「图片」「文档」)中。以下是一个实用的实现方案,新手也能轻松修…

SELinux相关介绍

目录 1.SELinux 概述 2.SELinux 的执行模式 3.SELinux 的使用 1.SELinux 概述 SELinux( Security Enhanced Linux 安全性增强的Linux),由美国国家安全局 NSA(National Security Agency)开发,构建与 Kernel …

【C语言练习】汉诺塔

一、题目 介绍:汉诺塔(Tower of Hanoi),又称河内塔,是一个源于印度古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆…

随机森林实战:在鸢尾花数据集上与决策树和逻辑斯蒂回归进行对比

前言 集成学习通过组合多个模型的优势,常能获得比单一模型更优的性能,随机森林便是其中的典型代表。它基于 Bagging 思想,通过对样本和特征的双重随机采样,构建多棵决策树并综合其结果,在降低过拟合风险的同时&#xf…

(计算机网络)TCP 三握中第三次 ACK 丢失会发生什么?

在 TCP 的三次握手过程中,如果 第三次 ACK 丢失,TCP 是如何保证连接可靠建立的呢?1️⃣ 场景说明第三次 ACK:客户端发送给服务器的 ACK,确认服务器的 SYN-ACK。假设该 ACK 在网络传输过程中丢失。2️⃣ 客户端状态客户…

容智Report Agent2.0重磅发布!重新定义企业数据分析AI时代

在数据成为生产要素之一的今天,很多企业依然面临这样的困境: 想要一份年度财务分析,财务团队可能要忙半个月甚至一个月;想查一个业务指标,要先找出在哪个系统,再申请权限、写SQL、调报表,折腾半…

高阶数据结构---ST表

hello大家好,今天是2025年8月23日,我要来给大家分享的是一个高阶数据结构---ST表。 一:引入 1.RMQ问题: 对于一个长度为 n 的序列,有 m 次查询操作,每次查询为一个区间 [l,r] 的最大值&#…