【动手学深度学习】(八)数值稳定和模型初始化

文章目录

一、理论知识

1.神经网络的梯度
考虑如下有d层的神经网络
在这里插入图片描述
计算损失l关于参数Wt的梯度(链式法则)
在这里插入图片描述
2.数值稳定性常见的两个问题
在这里插入图片描述
3.梯度爆炸
在这里插入图片描述
4.梯度爆炸的问题

  • 值超出阈值
    • 对于16位浮点数尤为严重
  • 对学习率敏感
    • 如果学习率太大-> 大参数值 -> 更大的梯度
    • 如果学习率太小->训练无进展
    • 我们可能需要在训练过程中不断调整学习率
      5.梯度消失
  • 使用sigmoid作为激活函数
    在这里插入图片描述
    6.梯度消失的问题
  • 梯度值变为0
    • 对16位浮点数尤为严重
  • 训练没有进展
    • 不管如何选择学习率
  • 对于底部层尤为严重
    • 仅仅顶部层训练的较好
    • 无法让神经网络更深
      7.让训练更加稳定
  • 目标:让梯度值在合理的范围内,ex[1e-6,1e3]
  • 将乘法变加法
    • ResNet,LSTM
  • 归一化
    • 梯度归一化,梯度裁剪
  • 合理的权重初始和激活函数
    8.让每层的方差是一个常数
    在这里插入图片描述
    9.权重初始化
  • 在合理值区间里随机初始化参数
  • 训练开始的时候更容易有数值不稳定
    • 远离最优解的地方损失函数表面可能很复杂
    • 最优解附近表面会比较平
      使用在这里插入图片描述来初始化可能对小网络没问题,但不能保证深度神经网络

相关推荐

  1. NLP基础——语言模型动手深度学习

    2023-12-05 22:48:04       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-05 22:48:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-05 22:48:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-05 22:48:04       82 阅读
  4. Python语言-面向对象

    2023-12-05 22:48:04       91 阅读

热门阅读

  1. tcexam 本地容器化搭建

    2023-12-05 22:48:04       66 阅读
  2. ClickHouse入门手册1.0

    2023-12-05 22:48:04       46 阅读
  3. 西南科技大学(数据结构A)期末自测练习四

    2023-12-05 22:48:04       49 阅读
  4. 樱桃键盘怎么解除fn锁定

    2023-12-05 22:48:04       127 阅读
  5. Linux配置SFTP用户的详细过程

    2023-12-05 22:48:04       49 阅读
  6. 微前端框架 qiankun

    2023-12-05 22:48:04       61 阅读
  7. Redis-Redis多级缓存架构(实践)

    2023-12-05 22:48:04       58 阅读
  8. 分析一段文字中重复词组,英文版

    2023-12-05 22:48:04       58 阅读