pytorch_权值初始化

梯度消失与爆炸

梯度爆炸

在这里插入图片描述
要使网络输出不能太大不能太小
在这里插入图片描述

初始化网络权值方差

为了使输出方差为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

梯度消失

若输出加入激活函数,会使网络层的输出层数据越来越小,从而导致梯度消失

Xavier初始化(适用饱和函数)

在这里插入图片描述

Kaiming初始化(适用于非饱和)

在这里插入图片描述

十种初始化方法

在这里插入图片描述
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章