权值初始化
- 梯度消失与爆炸
-
- 梯度爆炸
-
- 初始化网络权值方差
- 梯度消失
-
- Xavier初始化(适用饱和函数)
- Kaiming初始化(适用于非饱和)
- 十种初始化方法
梯度消失与爆炸
梯度爆炸

要使网络输出不能太大不能太小
初始化网络权值方差
为了使输出方差为1,将网络权值的方差设为
def initialize(self):
for m in self.modules():
if isinstance(m, nn.Linear):
nn.init.normal_(m.weight.data, std=np.sqrt(1/self.neural_num)) # normal: mean=0, std=1
梯度消失
若输出加入激活函数,会使网络层的输出层数据越来越小,从而导致梯度消失