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

文章目录

一、理论知识

1.神经网络的梯度

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

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

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

3.梯度爆炸

4.梯度爆炸的问题

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

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

    9.权重初始化
  • 在合理值区间里随机初始化参数
  • 训练开始的时候更容易有数值不稳定
    • 远离最优解的地方损失函数表面可能很复杂
    • 最优解附近表面会比较平
      使用来初始化可能对小网络没问题,但不能保证深度神经网络
相关推荐
Johny_Zhao1 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
飞哥数智坊1 小时前
我帮你读《一人公司(OPC)发展研究》
人工智能
冬奇Lab5 小时前
OpenClaw 源码精读(3):Agent 执行引擎——AI 如何「思考」并与真实世界交互?
人工智能·aigc
没事勤琢磨7 小时前
如何让 OpenClaw 控制使用浏览器:让 AI 像真人一样操控你的浏览器
人工智能
用户5191495848457 小时前
CrushFTP 认证绕过漏洞利用工具 (CVE-2024-4040)
人工智能·aigc
牛马摆渡人5287 小时前
OpenClaw实战--Day1: 本地化
人工智能
前端小豆7 小时前
玩转 OpenClaw:打造你的私有 AI 助手网关
人工智能
BugShare7 小时前
写一个你自己的Agent Skills
人工智能·程序员
机器之心8 小时前
英伟达护城河被AI攻破,字节清华CUDA Agent,让人人能搓CUDA内核
人工智能·openai
后端小肥肠9 小时前
公众号躺更神器!OpenClaw+Claude Skill 实现自动读对标 + 写文 + 配图 + 存入草稿箱
人工智能·aigc·agent