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

深度学习与神经网络学习笔记 —— 卷积神经网络(CNN)基础

课程内容卷积神经网络基础、卷积与池化、PyTorch、LeNet、AlexNet、VGG、ResNet一、卷积神经网络的提出背景与基本思想传统全连接神经网络在处理图像时存在一个非常严重的问题参数数量过于庞大。课程中提到如果输入是一张 (1000 \times 1000) 的图像而隐藏层拥有100万个神经元那么参数规模将达到10^6 \times 10^6 10^{12}即万亿级参数。如此庞大的参数量会导致计算复杂度极高模型训练速度缓慢内存消耗巨大极易出现过拟合因此传统神经网络并不适合直接处理高维图像数据。课程中指出人类视觉系统在观察物体时并不是一次性理解整个图像而是通过“局部到整体”的方式逐层提取特征。卷积神经网络CNN正是借鉴了这种思想其核心包括局部连接权值共享多层特征提取其中“局部连接”意味着神经元只关注图像中的局部区域而不是整张图像“权值共享”则表示同一个卷积核在整张图像中重复使用从而大幅减少参数数量。CNN 的整体结构通常如下Input ↓ Conv ↓ Pooling ↓ Conv ↓ Pooling ↓ FC ↓ Softmax ↓ Output随着网络不断加深通常会呈现一种规律图像宽高逐渐减小特征通道数量逐渐增加课程中也专门总结了这一特征变化规律。二、卷积运算、Padding 与 Pooling 的核心原理卷积Convolution是 CNN 中最重要的操作其本质是使用卷积核在图像上滑动并提取局部特征。卷积层前向传播公式为a^l(x,y)f\left(\sum_{u0}^{p}\sum_{v0}^{q}a^{l-1}(xu,yv)w^{l,k}(u,v)b\right)其中(a^{l-1})上一层输入特征图(w)卷积核参数(b)偏置项(f)激活函数卷积运算实际上是对应元素相乘对结果求和经过激活函数输出卷积层输出尺寸通常满足n_{out}\frac{n2p-f}{s}1其中(n)输入尺寸(p)Padding(f)卷积核大小(s)StridePadding填充的作用是避免图像尺寸过快缩小。课程中提到了零填充等方式。Stride步长则决定卷积核每次滑动距离。步长越大输出尺寸越小计算量越低特征损失越明显此外CNN 还会使用池化Pooling进行降采样。课程中将其定义为使用局部统计特征解决特征过多问题。常见池化包括最大池化Max Poolingy\max(x_1,x_2,\dots,x_n)其特点是保留最显著特征。平均池化Average Poolingy\frac{1}{n}\sum_{i1}^{n}x_i其特点是让特征更加平滑。池化层能够减少参数数量降低计算复杂度提高鲁棒性抑制过拟合三、CNN 的误差反向传播与激活函数卷积神经网络除了前向传播外还需要通过 BP反向传播更新参数。课程中给出了 CNN 的 BP 推导过程。输出层误差可表示为\delta_i^Lf(z_i^L)e_i对于卷积层误差传播公式为\delta^{l,k}(x,y)\sum_{j1}^{c^{l1}}w^{l1,kj}\ast\delta^{l1,j}(x,y)\cdot f(z^{l,k}(x,y))权值更新公式\Delta w\alpha\sum_x\sum_y\delta(x,y)a(xu,yv)其中(\delta)误差项(\alpha)学习率(a)输入特征图这些公式说明 CNN 本质上仍然属于神经网络只是其连接方式更加适合图像处理。激活函数则负责引入非线性能力。早期网络如 LeNet大量使用SigmoidtanhSigmoid 函数\sigma(x)\frac{1}{1e^{-x}}tanh 函数tanh(x)\frac{e^x-e^{-x}}{e^xe^{-x}}但这两种函数在深层网络中容易产生梯度消失问题。因此 AlexNet 开始大量使用 ReLUf(x)\max(0,x)ReLU 的优势包括收敛速度快计算简单梯度传播稳定因此成为现代 CNN 中最常用的激活函数。四、经典 CNN 网络结构分析LeNet-5 是 CNN 历史上最经典的网络之一。课程中详细介绍了其结构。LeNet-5 的结构如下Input ↓ C1 ↓ S2 ↓ C3 ↓ S4 ↓ C5 ↓ F6 ↓ Output其特点包括使用平均池化使用 Sigmoid/tanh网络层数较浅参数量约为6万LeNet 的成功奠定了整个 CNN 发展的基础。2012 年AlexNet 在 ImageNet 比赛中取得突破性成绩标志着深度学习时代正式到来。课程中总结了 AlexNet 的主要改进使用 ReLU 激活函数使用 Max Pooling使用 Dropout使用数据增强使用 GPU 并行训练其中 Dropout 的思想是训练过程中随机关闭部分神经元。数学表达为yr\cdot x,\quad r\sim Bernoulli(p)这可以有效防止神经元之间过度依赖从而减轻过拟合。随后提出的 VGG-16 网络进一步加深了网络层数。课程中指出VGG 参数量约1.38亿结构非常规整大量采用 (3\times3) 卷积核两个 (3\times3) 卷积可以获得接近 (5\times5) 的感受野33-15但参数量明显更少因此网络表达能力更强。五、ResNet 与深层网络的发展随着网络不断加深一个核心问题逐渐显现梯度消失Vanishing Gradient课程中分析了普通深层网络存在的问题。在 BP 过程中梯度会不断连乘\frac{\partial L}{\partial x}\frac{\partial L}{\partial y_n}\prod_{i1}^{n}\frac{\partial y_i}{\partial y_{i-1}}如果每层梯度都小于1那么随着层数增加梯度会迅速趋近于0。为了解决这一问题ResNet 引入了残差结构。课程中给出的核心思想为H(x)F(x)x即(x)原始输入(F(x))卷积学习结果(H(x))最终输出这种“跳跃连接”可以让浅层信息直接传递到深层。反向传播时\frac{\partial H}{\partial x}\frac{\partial F}{\partial x}1即使 (\frac{\partial F}{\partial x}) 很小也仍然存在恒等项1从而避免梯度完全消失。课程最后总结指出传统 CNN“卷积层 池化层”不断堆叠。而残差网络通过跨层连接解决深层网络训练困难问题。ResNet 的提出使得50层101层152层甚至更深网络的训练成为可能也推动了现代深度学习的发展。
http://www.zskr.cn/news/1376082.html

相关文章:

  • Week 1:机器学习入门与核心框架
  • GHelper终极指南:华硕笔记本轻量控制工具的专业使用教程
  • 别只盯着烘焙!深入理解Unity URP中反射球与屏幕空间反射的实战抉择与配置
  • Codex适配国产信创环境安装部署与技术适配全解析
  • 数据集上新:柬埔寨环境健康入户调查
  • 内存池仿Nginx C++实现
  • 基于CRISP-DM与HMM的国有企业内部威胁安全成熟度评估框架
  • 从安装到卸载:我在macOS Big Sur上使用雷蛇雷云2.0驱动的完整踩坑记录
  • Type-C接口水冷散热器
  • 2026照片去水印免费软件全攻略:一看就会的保姆级教程,赶紧收藏
  • 从PDB到Mol:手把手教你用PyMOL和Open Babel搞定蛋白质-小分子复合物的结构文件转换
  • 鸿蒙PC:Qt适配OpenHarmony实战【番茄刻】:工作和休息两种倒计时如何写成一个 QML 状态机
  • 手把手教你:把Ubuntu 20.04完整系统塞进U盘,打造随身便携开发环境
  • 如何快速配置Windows任务栏透明美化:TranslucentTB新手完整入门指南
  • YOLOv13涨点改进| TGRS 2026|独家创新首发、特征融合改进篇| 引入CGIM 通道组交互融合模块,增强目标关联信息的建模,助力目标检测、遥感目标检测、双时相遥感变化检测、图像融合有效涨点
  • YOLOv13涨点改进| TGRS 2026 |独家创新首发、特征融合改进篇| 引入SGAM空间高斯注意力融合模块,助力YOLOv13模型目标检测、遥感目标检测、双时相遥感变化检测、图像分割有效涨点
  • Unity商业游戏逆向解剖:天命6源码的真实结构与设计逻辑
  • 鸿蒙数学 108 篇 第十五篇:阴阳对称运算规则
  • 医学影像AI迁移学习:如何科学选择预训练数据集?
  • 猫抓:5步掌握网页资源嗅探工具,轻松下载全网视频
  • G-Helper深度解析:华硕笔记本性能调优实战手册
  • 量子生成模型:原理、优势与应用场景解析
  • RePKG深度技术解析:逆向工程驱动的Wallpaper Engine资源处理框架
  • DownKyi终极指南:5步轻松下载B站高清视频的完整解决方案
  • GitHub 汉化插件:解决英文界面困扰,3步实现全中文操作体验
  • 基于CNN的食双星参数快速预测:ebop_maven模型原理与应用
  • Java 入门实验:手把手实现 Tank 坦克类(面向对象基础实战)
  • Terraform 实战:用 for 表达式将列表元素转换为大写
  • sudo高危漏洞CVE-2023-27350原理与1.9.5p2修复实战
  • 基于Transformer的行星大气辐射传输仿真器:百倍加速与1%精度