李沐14数值稳定性_模型初始化和激活函数——自学笔记

本文讨论了数值稳定性在深度学习中的挑战,特别是梯度爆炸和消失问题,强调了合理的模型初始化、激活函数选择以及归一化方法(如ResNet和LSTM)的重要性。通过控制梯度范围和确保每层方差恒定,以提高训练的稳定性和深度网络性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数值稳定性

数值稳定性常见的两个问题:梯度爆炸和梯度消失

梯度爆炸的问题:值超出值域(infinity)
1. 对于16位浮点数尤为严重(数值区间在6e-5 to 6e4)
2. 学习率敏感
3. 如果学习率太大->大参数值->更大的梯度
4. 如果学习率太小->训练无进展
5. 我们可能需要在训练过程中不断调整学习率

梯度消失的问题:
1.梯度变成0,对16位浮点数尤为严重
2.训练没有进展,不管如何选择学习率
3.对于底部层尤为严重,仅仅顶部层训练的较好,无法让神经网络更深

总结

1.当数值过大或者过小的时候,会导致数值问题
2.常发生在深度模型中,因为其会对n个数累乘

模型初始化和激活函数

让训练更加稳定
目标: 让梯度值在合理的范围内,例如[1e-6, 1e3]
将乘法变加法,ResNet,LSTM
归一化,梯度归一化,梯度裁剪

因此,需要选择合理的权重初始和激活函数。

让每层的方差是一个常数

1.将每层的输出和梯度都看作随机变量。
2.让它们的均值和方差都保持一致。

权重初始化

1.在合理的值区间里随机选择初始参数
2.训练开始的时候更容易有数值不稳定:远离最优解的地方损失函数表面可能很复杂,最优解附近表面可能会比较平
3.使用N(0,0.01)来初始可能对小网络没问题,但不能保证深度神经网络。

总结

合理的权重初始值和激活函数的选取可以提升数值稳定性。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值