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

深度学习入门(2)

深度学习入门(1):

深度学习入门(1)
https://blog.csdn.net/whdehcy/article/details/149645636?fromshare=blogdetail&sharetype=blogdetail&sharerId=149645636&sharerefer=PC&sharesource=whdehcy&sharefrom=from_link

计算梯度
  1. 数值微分 -->计算耗费时间

    在这里插入图片描述

  2. 误差反向传播法 -->快速高效

    1. 链式法则 反向传播

      每从后向前传播一步,求一步的偏导

  3. 梯度确认

    用数值微分来确认误差反向传播法求出的梯度结果是否相同

神经网络训练相关技巧
  1. 更新参数 --最优化

    1. 随机梯度下降SGD

      在这里插入图片描述

    2. Momentum

      α:动量momentum

      在这里插入图片描述

    3. AdaGrad

      学习率衰减learning rate decay:随着训练次数增加 学习率逐渐减小

      AdaGrad为参数的每个元素适当的调整学习率,同时进行训练

      在这里插入图片描述

    4. Adam

      融合了Momentum和AdaGrad,进行超参数的偏置校正

  2. 权重初始值

    1. 将权重初始值设置为0可以吗?

      不可以,那就没有反向更新的意义 那神经网络的不同节点就没有什么意义了

    2. Xavier初始值

      为了使各层的激活值呈现出具有相同广度的分布,推导了合适的权重尺度

      与前一层有n个节点连接时,初始值使用标准差为1/sqrt(n)的分布

    3. ReLU的权重初始值

      使用He初始值

      与前一层有n个节点连接时,初始值使用标准差为sqrt(2/n)的高斯分布

  3. Batch Normalization BN

    BN:调整各层的激活值分布使其拥有适当的广度,以mini_batch为单位,按mini_batch进行归一化

    1. 可以快速训练,增大学习率
    2. 不太依赖初始值
    3. 抑制过拟合 降低Dropout必要性
  4. 正则化

    正则化应对问题:

    1. 过拟合:

      模型参数多,训练数据少

    权值衰减:在训练过程中对大的权重进行惩罚,来抑制过拟合

    Dropout:在训练过程中随机删除隐藏层的神经元

  5. 超参数

    事前需要认为设定的参数

    1. 超参数的验证:

      验证集:验证集用来隔一段epoch计算一下当前模型的一些评价指标,监控训练过程,调整超参数

    2. 超参数的优化:

      设定范围,随机采样,根据评估结果,缩小设定范围,不断重复,缩小到一定程度的时候,选定一个值

      贝叶斯最优化

卷积神经网络 CNN
  1. 卷积层

    卷积操作:相当于图像处理中的 滤波器运算

    卷积核:相当于前面提到的 权重 几个卷积核就有几个输出特征图

    偏置 依旧存在

    填充 padding:可以实现输出特征图和输入特征图的尺寸相同 填充为了调整输出特征图的尺寸

    步幅 stride:卷积核移动的距离

    code: 省略

    但是现在一般都用pytorch、tensorflow

    卷积层一般都直接调用这个函数

    Conv2d()
    
  2. 池化层

    池化:缩小高、长方向上的空间运算

    池化:下采样(减少特征数)

    最大池化:选取最大的特征保留

    平均池化:选取池化计算区域的平均值

    池化 对微小的位置变化具有鲁棒性

    鲁棒性:模型抗干扰的能力,当输入数据存在噪声、缺失、异常值,或者运行环境发生变化时,鲁棒性强的模型不会轻易失效,仍能给出合理的结果;鲁棒性强的模型能识别被部分遮挡、模糊或光照不均的图像

    code:省略

    但是现在一般都用pytorch、tensorflow

    池化层一般都直接调用这个函数

    #pytorch
    MaxPool2d()
    #tensorflow
    MaxPooling2D()
    
  3. CNN

    1. 卷积层 Conv2d

    2. 批标准化层 BatchNormalization

    3. 激活层 Activation

    4. 池化层 MaxPooling2D / MaxPool2d

    5. 舍弃层 Dropout

    6. 拉直层 Flatten

    7. 全连接层 Dense / Linear

      全连接:nn中,相邻层的所有神经元之间都有连接,称为全连接

  4. 可视化

    tensorboard:

    from torch.utils.tensorboard import SummaryWriter
    writer = SummaryWriter('../logs')
    ...
    ...
    writer.add_image('totensor',img_tensor,dataformats='CHW')
    writer.close()
    
  5. 代表性CNN

    1. LeNet
    2. AlexNet
深度学习

深度学习:加深了层的神经网络 通过隐藏层 就可以创建深度网络

  1. 经典深度学习网络

    1. VGG

      由卷积层和池化层构成的基础CNN,特点在于将有权重的层(卷积层/全连接层)叠加至16层(或19层),具备了深度。VGG16 / VGG19

    2. GoogLeNet

      特点在于网络不仅在纵向上有深度,在横向上也有宽度(Inception结构:并行多路径)

    3. ResNet

      更深,特点在于引入了横跨层的快捷结构,间隔跳跃式地连接来加深层

  2. 迁移学习

    使用ImageNet这个数据集学习到的权重数据,称为迁移学习

    将训练完的权重(的一部分)复制到其他神经网络,进行再学习(fine tuning)

    适用于数据集较少的时候、

  3. 应用案例

    1. 目标检测

      从图像中确定目标的位置,并进行分类

      R-CNN 区域-卷积神经网络

    2. 图像分割

      在像素水平上对图像进行分类,对输入图像的所有像素进行分类

      FCN

    3. 图像标题的生成

      NIC 由深层的CNN和处理自然语言的RNN构成

      多模态处理

    4. 图像风格的变换

    5. 图像生成

      GAN 生成对抗网络

      无监督学习

    6. 自动驾驶

      SegNet

    7. Deep Q-Network 强化学习

迁移学习

将训练完的权重(的一部分)复制到其他神经网络,进行再学习(fine tuning)

适用于数据集较少的时候、

  1. 应用案例

    1. 目标检测

      从图像中确定目标的位置,并进行分类

      R-CNN 区域-卷积神经网络

    2. 图像分割

      在像素水平上对图像进行分类,对输入图像的所有像素进行分类

      FCN

    3. 图像标题的生成

      NIC 由深层的CNN和处理自然语言的RNN构成

      多模态处理

    4. 图像风格的变换

    5. 图像生成

      GAN 生成对抗网络

      无监督学习

    6. 自动驾驶

      SegNet

    7. Deep Q-Network 强化学习

      让计算机在摸索试验的过程中自主学习

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

相关文章:

  • 实验-OSPF多区域
  • 告别Vite脚手架局限!MixOne Beta测试招募:你的需求,我们来实现
  • 【Java】基础概念-构造函数详解
  • [Python] -进阶理解7- Python中的内存管理机制简析
  • 基于springboot的在线数码商城/在线电子产品商品销售系统的设计与实现
  • (二)使用 LangChain 从零开始构建 RAG 系统 RAG From Scratch
  • 7月26号打卡
  • Unity GenericMenu 类详解
  • 技术 — 资本双螺旋:AI 时代的投资浪潮与技术突破
  • 模型训练部署流程
  • 电磁兼容三:电磁干扰三要素详解
  • 【大模型框架】LangChain入门:从核心组件到构建高级RAG与Agent应用
  • 系统性学习C语言-第二十三讲-文件操作
  • 渗透艺术系列之Laravel框架(一)
  • Effective C++ 条款03:尽可能使用const
  • 检验类设备中,交叉导轨如何确保加样精度?
  • mysql-数据表-DDL语句
  • Triton源代码分析 - 目录
  • freeRTOS 静态创建任务
  • TIM 输入捕获
  • pip, github 突然连不上?报错和解决方法如下
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-29,(知识点:非易失存储器)
  • 【AI周报】2025年7月26日
  • CUDA杂记--FP16与FP32用途
  • MoE替代LLM
  • linux内核电源管理
  • 面试150 加一
  • 一文速通《多元函数微分学》
  • C++11 右值引用 Lambda 表达式
  • AutoDL 数据盘清理指南:彻底删除 .Trash-0 内文件释放空间