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

文章目录

一、理论知识

1.神经网络的梯度

考虑如下有d层的神经网络

计算损失l关于参数Wt的梯度(链式法则)

2.数值稳定性常见的两个问题

3.梯度爆炸

4.梯度爆炸的问题

  • 值超出阈值
    • 对于16位浮点数尤为严重
  • 对学习率敏感
    • 如果学习率太大-> 大参数值 -> 更大的梯度
    • 如果学习率太小->训练无进展
    • 我们可能需要在训练过程中不断调整学习率
      5.梯度消失
  • 使用sigmoid作为激活函数

    6.梯度消失的问题
  • 梯度值变为0
    • 对16位浮点数尤为严重
  • 训练没有进展
    • 不管如何选择学习率
  • 对于底部层尤为严重
    • 仅仅顶部层训练的较好
    • 无法让神经网络更深
      7.让训练更加稳定
  • 目标:让梯度值在合理的范围内,ex[1e-6,1e3]
  • 将乘法变加法
    • ResNet,LSTM
  • 归一化
    • 梯度归一化,梯度裁剪
  • 合理的权重初始和激活函数
    8.让每层的方差是一个常数

    9.权重初始化
  • 在合理值区间里随机初始化参数
  • 训练开始的时候更容易有数值不稳定
    • 远离最优解的地方损失函数表面可能很复杂
    • 最优解附近表面会比较平
      使用来初始化可能对小网络没问题,但不能保证深度神经网络
相关推荐
love530love3 分钟前
技术复盘:llama-cpp-python CUDA 编译实战 (Windows)
人工智能·windows·python·llama·aitechlab·cpp-python·cuda版本
Katecat996638 分钟前
基于YOLO11-HAFB-1的五种羊品种分类识别系统详解
人工智能·数据挖掘
旧日之血_Hayter8 分钟前
Java线程池实战:高效并发编程技巧
人工智能
hit56实验室19 分钟前
【易经系列】《屯卦》六二:屯如邅如,乘马班如,匪寇,婚媾。女子贞不字,十年乃字。
人工智能
丝斯201141 分钟前
AI学习笔记整理(67)——大模型的Benchmark(基准测试)
人工智能·笔记·学习
咚咚王者1 小时前
人工智能之核心技术 深度学习 第七章 扩散模型(Diffusion Models)
人工智能·深度学习
github.com/starRTC1 小时前
Claude Code中英文系列教程25:非交互式运行 Claude Code
人工智能·ai编程
逄逄不是胖胖1 小时前
《动手学深度学习》-60translate实现
人工智能·python·深度学习
loui robot1 小时前
规划与控制之局部路径规划算法local_planner
人工智能·算法·自动驾驶
玄同7651 小时前
Llama.cpp 全实战指南:跨平台部署本地大模型的零门槛方案
人工智能·语言模型·自然语言处理·langchain·交互·llama·ollama