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

为什么要保持方差为1

1.数值稳定性: 在机器学习和深度学习中,维持激活函数输入的方差在一个合理范围内(如1)是很重要的,这有助于防止在训练过程中发生梯度消失或梯度爆炸的问题。如果方差过大或过小,经过多层网络后输出结果的方差可能变得极大或极小,这会影响梯度的有效传递,从而影响模型学习。

2.梯度的有效传播: 保持输入方差约为1有助于保持整个网络中的信息和梯度流的稳定性。这是因为当数据经过多个处理层时,未缩放的变量可能会导致变化幅度过大或过小,从而导致训练过程不稳定。【也就是数值不稳定,经过多层网络后方差可能变为极大或者极小,影响模型学习】

3.举个例子(分为方差为1,方差过大,方差过小三种情况)

1、方差为1

输入层:输入数据的方差为1,这意味着数据在0周围分布得比较均匀,没有极端的大值或小值。
第一层:这层的权重初始化为使得输出方差保持为1。因此,当输入数据通过激活函数(如ReLU或Sigmoid)传递时,输出数据的方差仍为1。
第二层和更多层:由于输入方差保持不变,每层都可以在不调整学习率的情况下有效地学习,梯度也不会消失或爆炸。

LSTM的学习(包括sigmoid梯度消失原因解析)

2、方差过大

输入层:假设输入数据的方差非常大。
第一层:输入数据的方差大导致了神经元输出的方差也很大。这可能会导致激活函数(尤其是像Sigmoid或Tanh这样的函数)饱和,导致梯度几乎为零(梯度消失),接下来可能参数并未更新到理想状态(陷入局部极小值情况),但是梯度消失更新不动了。
第二层和更多层:因为梯度消失,网络在这些层的学习效率极低,难以对数据特征做出正确的反应和调整。

3、方差过小

输入层:输入数据的方差非常小。
第一层:小的方差意味着输出的变化幅度很小,这可能导致输出对输入的变化不敏感,同样可能导致梯度非常小
第二层和更多层:小的梯度导致网络学习非常缓慢,甚至几乎不更新权重,难以达到良好的训练效果。

http://www.lryc.cn/news/359784.html

相关文章:

  • Wpf 使用 Prism 实战开发Day31
  • Linux权限提升二
  • [AI OpenAI] 推出ChatGPT Edu
  • HTML5+CSS3回顾总结
  • AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.05.01-2024.05.10
  • Python 点云生成高程模型图(DSM)
  • [第五空间 2021]WebFTP
  • SQL—DQL(数据查询语言)之小结
  • 找回xmind文件办法:一切意外均可找回(误删/重启关机等)
  • 微信小程序 npm构建+vant-weaap安装
  • 【LeetCode 63】 不同路径 II
  • OpenAI助手API接入-问答对自动生成
  • 9. C++通过epoll+fork的方式实现高性能网络服务器
  • 【Mac】XMind for mac(XMind思维导图)v24.04.10311软件介绍和安装教程
  • 使用 Django ORM 进行数据库操作
  • 行为型设计模式之模板模式
  • 大泽动力车载柴油发电机的特点和优势有哪些
  • 基于 IP 的 DDOS 攻击实验
  • GPT-4o如何重塑AI未来!
  • window本地域名映射修改
  • 【退役之重学】为什么要加入多级缓存
  • Redis常用命令大全
  • HttpSecurity 是如何组装过滤器链的
  • STM32 入门教程(江科大教材)#笔记2
  • python zip()函数(将多个可迭代对象的元素配对,创建一个元组的迭代器)zip_longest()
  • React.forwardRef 使用
  • C# 中的值类型与引用类型:内存大小解析
  • object对象列表使用sorted函数按照对象的某个字段排序
  • 【再探】设计模式—中介者模式、观察者模式及模板方法模式
  • vue中使用svg图像