均匀分布:
torch.nn.init.uniform_(tensor, a=0, b=1)
正太分布:
torch.nn.init.normal_(tensor, mean=0, std=1)
常数:
torch.nn.init.constant_(tensor, val)
Xavier:
- 通过网络层时,输入和输出的方差相同,包括向前传播和反向传播
- 如果初始化值很小,那么随着层数的传递,方差就会趋于0,此时输入值 也变得越来越小,在sigmoid上就是在0附近,接近于线性,失去了非线性
- 如果初始值很大,那么随着层数的传递,方差会迅速增加,此时输入值变得很大,而sigmoid在大输入值写倒数趋近于0,反向传播时会遇到梯度消失的问题