Xavier初始化方法是一種用於神經網路權重的初始化方法,旨在確保前向傳播和反向傳播時每一層的方差一致。該方法基於兩個假設:
激活函式是線性的,且關於0對稱。
輸入和輸出分布相同,以避免激活值方差的衰減。
Xavier初始化方法通過以下步驟實現:
計算輸入和輸出維度:輸入層和輸出層的權重方差應滿足一定的比例關係。
計算權重方差:對於每一層,權重方差應滿足累積形式,即每一層的方差是前一層方差加上輸入和輸出維度差值的一半。
實現方式:在Caffe中,Xavier初始化可以通過設定不同的方差比例來實現,例如方差=1/輸入維數、方差=1/(輸入維數+1)或方差=2/(輸入維數+輸出維數+1)。
需要注意的是,Xavier初始化方法適用於激活函式為Sigmoid和tanh的情況,而對於ReLU激活函式,由於其非飽和特性,Xavier初始化可能無法完全解決梯度消失或梯度爆炸的問題。因此,對於ReLU激活函式,通常使用何凱明提出的He初始化方法,也稱為Kaiming方法,該方法在Xavier的基礎上對參數的初始值進行了調整,以適應ReLU激活函式的特性。