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

CV深度学习

 

🌟 第一部分:深度学习简介(Deep Learning Overview)

什么是深度学习(Deep Learning)?

  • 定义:深度学习是机器学习(Machine Learning)中的一个分支,它利用**多层的人工神经网络(Neural Networks)**来模拟人脑的处理方式,自动地从大量数据中提取特征。

  • “深度”含义:指的是网络中的隐藏层(hidden layers)数量多,比如 5 层、10 层甚至上百层,能够从数据中提取越来越抽象的表示(representation)。


🤖 神经网络的基本单元:神经元(Neuron)

单个神经元模型(Perceptron):

  • 输入:x1,x2,…,xn​

  • 权重:w1,w2,…,wn​

  • 偏置:b

  • 激活函数:f

输出公式:

y=f(w1x1+w2x2+⋯+wnxn+b)

通俗解释:就像一个“打分器”,每个输入有个“重要程度”(权重),加起来后决定输出。


🔢 多层感知机(MLP:Multilayer Perceptron)

特点:

  • 输入层:接收原始数据。

  • 隐藏层:提取中间特征(可能有多个)。

  • 输出层:给出预测结果。

为什么要多层?

  • 一层感知机只能解决线性可分问题。

  • 多层网络可以学习非线性关系(比如图像识别、语言理解等复杂任务)。


📐 激活函数(Activation Functions)

激活函数的作用是引入非线性,让神经网络有能力逼近任何复杂函数。

常见的激活函数:

🔎 通俗理解

  • ReLU 就像一个门:正的放行,负的拦住。

  • Sigmoid/Tanh 是缓慢上升的“S”形曲线。


🔁 反向传播(Backpropagation)

是深度学习中最核心的算法之一,用来训练网络。

基本思想:

  1. 前向传播:计算输出值。

  2. 计算损失(Loss):衡量预测与真实差距。

  3. 反向传播误差:按链式法则传播误差信号,计算每个权重对误差的“责任”。

  4. 梯度下降更新参数:调整权重让误差变小。

关键公式:

🔎 通俗理解:像是在“爬山”找到最优值,反向传播告诉你往哪个方向走。


📊 损失函数(Loss Function)

用于量化预测结果与实际标签之间的差异。

常见损失函数:

类型名称适用任务
回归MSE(均方误差)连续值预测
分类Cross-Entropy(交叉熵)多类分类问题

交叉熵损失(分类)公式:

🔎 通俗理解:交叉熵越小,代表预测结果越“接近”真实分类。


🚀 优化算法(Optimizers)

用于在训练过程中寻找最优参数组合

常见优化器:

  • SGD(随机梯度下降):每次用一小批数据更新。

  • Momentum:记住上一次的梯度方向,让更新更稳定。

  • Adam:综合考虑过去梯度和梯度变化,是最常用的优化器之一。

🔎 类比:

  • SGD 像走一步看一步;

  • Momentum 像滑滑梯带动;

  • Adam 像有记忆和预判能力的走路方式。


🧱 卷积神经网络基础(CNN Basics)

虽然经典 CNN 架构我之前已经讲过了,这里再从基本原理过一遍:

为什么用 CNN?

  • 图像有空间结构,CNN 可以利用相邻像素之间的关系。

  • 参数量少,计算效率高。

核心构成:

  1. 卷积层(Convolutional Layer):提取局部特征。

  2. 激活层(ReLU):增加非线性能力。

  3. 池化层(Pooling):减少计算量、增强位置不变性。

  4. 全连接层(Fully Connected Layer):整合特征,输出结果。


🧪 模型训练过程概述

完整训练流程是:

  1. 数据加载(图像/标签);

  2. 网络前向传播(输出预测);

  3. 计算损失(loss);

  4. 反向传播误差;

  5. 更新权重;

  6. 重复上述过程直到收敛。


✅ CNN 架构总览

经典 CNN 架构的发展是逐步加深模型、提升准确率、降低计算成本的过程,关键节点如下:

年代网络名称主要贡献
1998LeNet-5最早成功用于字符识别的 CNN
2012AlexNet使用 ReLU,开启深度学习热潮
2014VGG简单堆叠卷积,体现深层 CNN 的威力
2014GoogLeNet/Inception多尺度特征提取,计算效率高
2015ResNet引入残差连接,成功训练超深网络
2019EfficientNet自动结构搜索 + 多维缩放
2020ViT首次用 Transformer 替代 CNN
2022ConvNeXt用 ViT 的理念改造 CNN 架构

🧠 LeNet-5(1998)

  • 应用背景:手写数字识别(如邮政编码)

  • 结构特点

    • 输入:32x32 灰度图

    • Conv (5x5) → Pool (2x2) → Conv (5x5) → Pool → FC → FC → 输出

  • 层数少,总参数约 6 万

  • 创新点:提出了 CNN 的基本构成理念

💡 类比:像最早的自动驾驶车辆原型——功能基础但成功运行!


🧠 AlexNet(2012)

  • ImageNet 比赛冠军,误差从 26% 降到 16%

  • 输入图像:224x224x3

  • 网络结构

    • 5 个卷积层(ReLU 激活)

    • 最大池化(Max Pooling)

    • 3 个全连接层

    • 最终 softmax 输出 1000 类

  • 技术突破

    • 使用 GPU 训练(提升 10 倍速度)

    • 引入 ReLU(解决梯度消失)

    • 使用 Dropout(防止过拟合)

    • 数据增强(翻转、裁剪)

💡 理解技巧:AlexNet 是 CNN 上了“高速公路”的第一辆法拉利!


🧠 VGG(2014)

  • 核心思想:用多个 3x3 卷积堆叠替代大卷积核

  • 结构例子(VGG-16):

    • 13 个卷积层(3x3)+ 3 个全连接层

    • 所有卷积步长 stride=1,池化步长=2

  • 通俗解释

    • 比 7x7 卷积更节省参数、提高非线性表达能力

    • 堆叠多个 3x3 就像把一个大窗户分成了多个小窗格,便于捕捉细节

💡 注意:VGG 参数非常多(1.38 亿),训练和推理速度慢,适合作为特征提取器(比如迁移学习)。


🧠 GoogLeNet(2014)

  • 核心思想:Inception 模块 + 全局平均池化(GAP)

  • Inception 模块

    • 并行使用多个卷积核(1x1, 3x3, 5x5)提取多尺度信息

    • 再用 1x1 卷积做降维(减少通道数)

  • 网络深度:22 层(比 VGG 还深)

  • 参数只有 500 万(远少于 VGG)

💡 通俗比喻:Inception 像同时请多个专家用不同视角看图,再综合他们的意见。


🧠 ResNet(2015)

  • 革命性创新:Residual Connection(残差连接)

    • 标准卷积堆叠为:x → F(x) → 输出

    • 残差连接为:x → F(x) + x → 输出

    • 本质:让网络“至少学不会更差”的变化

  • 解决深层网络退化问题,成功训练 152 层

  • 残差块两种类型

    • 简单加法连接

    • 投影连接(用于维度对不上)

💡 生活类比:普通人学习新知识是不断忘记和重学,ResNet 会保留原有知识再叠加学习,避免“越学越差”。


🧠 EfficientNet(2019)

  • 挑战:CNN 的效率和准确率之间存在平衡

  • 核心方法:Compound Scaling

    • 同时放大:宽度(通道)、深度(层数)、分辨率(图片大小)

    • 比如 EfficientNet-B0 到 B7,不是单一加深

  • 结构搜索:用 NAS(神经架构搜索)自动发现最优结构

💡 比喻:EfficientNet 就像精打细算的建筑师,在预算内盖出功能最强的房子!


🧠 Vision Transformer (ViT)

  • 首次用 Transformer 架构做图像分类

  • 核心做法

    • 将图片切成 16x16 patch(共 14x14=196 个)

    • 每个 patch 展平后加上位置编码,送入标准 Transformer 编码器

    • 使用 [CLS] token 做分类预测

  • 优点

    • 更强的建模能力

    • 训练速度快

  • 缺点

    • 对数据量敏感,训练依赖大规模数据

💡 形象理解:CNN 看图像是“局部扫一遍”,Transformer 是“把图像当句子来读”。


🧠 ConvNeXt(2022)

  • 用 ViT 的理念优化 CNN 架构

  • 关键改进

    • 用更大卷积核(7x7 depthwise)

    • LayerNorm 替代 BatchNorm

    • GELU 激活函数替代 ReLU

    • 移除冗余的层和分支

  • 结果

    • 在 ImageNet 上表现比肩 ViT

    • 保留 CNN 的高效推理特点

💡 总结一句:ConvNeXt 是“现代 CNN”,融合 Transformer 优势又保留 CNN 精髓。

相关文章:

  • AI助力高效PPT制作:从内容生成到设计优化
  • 解决浏览器报错Mixed Content
  • 赚钱模拟器--百宝库v0.1.0
  • 新能源汽车整车动力学模型深度解析:面向动力经济性测试工程师的硬核指南
  • 3500 阶乘求和
  • VS2022中按照免费使用的AI助手Fitten code
  • 了解拦截器
  • 高并发系统架构设计的深度解析与实施指南【大模型总结】
  • 将有序数组转化为二叉树
  • Java面试黄金宝典33
  • 深入学习Pytorch:第一章-初步认知
  • 字符串——面试考察高频算法题
  • 腾讯云 阿里云服务器运用宝塔搭建fprc服务器报错 :frp使用http拒绝连接 frpc.exe -c frpc.toml 拒绝访问 解决方法
  • java: 错误: 不支持发行版本 22 无效的发行版本
  • 从代码上深入学习GraphRag
  • 【愚公系列】《高效使用DeepSeek》051-产品创新研发
  • 【stm32f4】UART串口通信(stm32hal库)
  • 练习题:122
  • Matplotlib:数据可视化的艺术与科学
  • Mixed Content: The page at https://xxx was loaded over HTTPS
  • 医院网站开发百度文库/搜狗收录提交
  • 网站登陆注册怎么做/seo指的是
  • 智能网站开发/怎么自己做一个网站
  • 中山企业建网站/b站推广入口2023年
  • 山东能源集团 网站建设/营销软文范文200字
  • 金湖网站推广/东莞疫情最新消息今天新增