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初始化(適用於非飽和)

在這裏插入圖片描述

十種初始化方法

在這裏插入圖片描述
在這裏插入圖片描述

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