权值的初始化

权值的初始化

1.梯度消失与爆炸

2.Xavier方法与Kaiming方法

3.常用初始化方法

1.梯度的消失和爆炸

为什么梯度消失和爆炸为什么可怕?
因为梯度消失和爆炸会导致模型无法训练

权值的初始化_第1张图片
由上图可知梯度的大小和每一层的输出值的大小有关,所以想要抑制梯度消失和爆炸,就要控制每一层的输出大小在合理范围内。

权值的初始化_第2张图片
“nan”表示数据过大或过小
权值的初始化_第3张图片
权值的初始化_第4张图片
权值的初始化_第5张图片
权值的初始化_第6张图片
权值的初始化_第7张图片

在这里插入图片描述
权值的初始化_第8张图片
正常了

但未考虑奇函数和偶函数

权值的初始化_第9张图片
加入tanh()函数最后梯度消失了
权值的初始化_第10张图片

权值的初始化_第11张图片
在这里插入图片描述
Xavier解决的是饱和激活函数
权值的初始化_第12张图片
那非饱和的Relu激活函数应该怎么解决?
出现了(基于方差一致性原则)Kaiming初始化
权值的初始化_第13张图片
权值初始化,不良的权值初始化会导致输出层的输出值过大或者过小,从而引发梯度的消失或爆炸,最终导致我们的模型无法训练和使用。为了防止这种情况的发送,我们需要保证网络输出层的输出在一个合理的范围,就是要保证每一网络层的输出值的方差是1 ,遵循方差一致性原则,保证网络输出层的输出值不大不小。
所以有了以下的分布的权值初始化
权值的初始化_第14张图片
分为四大类
权值的初始化_第15张图片

总之最终目的就是将输出值控制在一个合理范围(合理的标准就是方差控制在1附近),防止梯度消失或者爆炸,不让训练瘫痪。
由此介绍一个函数
权值的初始化_第16张图片
着重了解方差的变化尺度
权值的初始化_第17张图片

你可能感兴趣的:(权值的初始化)