李沐之数值稳定性+模型初始化和激活函数

本文探讨了深度学习中数值稳定性问题,特别是梯度爆炸和梯度消失现象,强调了合适的模型初始化(如Xavier初始化)和选择恰当的激活函数(如ReLU、Tanh或调整后的Sigmoid)的重要性。此外,文中还介绍了导数知识在处理矩阵乘法时的布局问题。

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

目录

1.数值稳定性

1.1梯度爆炸

1.2梯度消失

2.模型初始化和激活函数

2.1让训练更加稳定

3.补充一点导数知识:


1.数值稳定性

层记为t,这里的y不是预测,还包括了损失函数,y是优化函数,不是预测的结果y。第t层是输出。所有的h都是一些向量,向量关于向量的导数是一个矩阵,所以用了很多次的矩阵乘法,出问题就在这里。

1.1梯度爆炸

多层感知机对于 t层的导数是这样子的连乘公式

 h是向量,w也是向量,他们乘起来也是向量。则向量对向量h求导是一个矩阵。(对角矩阵是因为F(X)对X求导是对角矩阵,o(WtHt-1) 对Ht-1求导可以化为 o(WtHt-1)对WtHt-1求导乘上 WtHt-1对Ht-1求导。而 o(WtHt-1)对WtHt-1求导就是F(x)对x求导。 为什么F(X)对X求导是对角矩阵呢,因为X是向量,且激活函数这个F是对X里每个元素的操作,例如【f(x1), f(x2), f(x3)】对【x1,x2,x3】求导运用向量求导公式就是对角矩阵)。

其次就是公式里的,为什么w^{^{t}}h^{^{t-1}}h^{^{t-1}}求导等于\left (w^{t} \right )^{T},因为这是使用了分母布局,意思是结果的行等于分母的大小,也就是和h的大小相等。

则对角阵就是由0或1的元素组成的,把这个对角阵和w的转置相乘,结果就是要么把某个w留下来,要么就是把某个w删去了。把w看成行向量的话,就相当于把某一列全部变成0,或者把某一列留下等于原来的值。

d-t很大的意思是网络比较深(假设w全是大于1,且层数比较大的话,多层感知机的导数就会非常大)。

如果学习率太大,那么一步就走的比较远,则梯度的变化就会很大。

1.2梯度消失

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值