基本思想
- 通過網絡層時,輸入和輸出的方差相同,包括前向傳播和後向傳播。
- 如果初始化值很小,那麼隨着層數的傳遞,方差就會趨於0,此時輸入值 也變得越來越小,在sigmoid上就是在0附近,接近於線性,失去了非線性。
- 如果初始值很大,那麼隨着層數的傳遞,方差會迅速增加,此時輸入值變得很大,而sigmoid在大輸入值寫倒數趨近於0,反向傳播時會遇到梯度消失的問題。
Pytorch nn.init 參數初始化方法
torch.nn.init.xavier_uniform_(tensor, gain=1)
- 均勻分佈 ~ U(−a,a)
torch.nn.init.xavier_normal_(tensor, gain=1)
- 正態分佈~N(0,std)
https://blog.csdn.net/dss_dssssd/article/details/83959474