『PyTorch』权值初始化

1. 梯度消失与梯度爆炸

  • 就是梯度趋于零或者无穷,梯度消失更容易出现

2. PyTorch提供的一些权值和偏置初始化方法

2.1 Xavier均匀分布

  • 不适用ReLU,适用于饱和函数,如sigmoid,tanh
nn.xavier_uniform_(tensor, gain=1.)

2.2 Xavier正态分布

  • 不适用ReLU,适用于饱和函数,如sigmoid,tanh
nn.xavier_normal_(tensor, gain=1.)

2.3. Kaiming均匀分布

  • 适用于ReLu
nn.kaiming_uniform_(tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')

2.4 Kaiming正态分布

  • 适用于ReLu
nn.kaiming_normal_(tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')

2.5 均匀分布

nn.uniform_(tensor, a=0., b=1.)

2.6 正态分布

 nn.normal_(tensor, mean=0., std=1.)

2.7 常数分布

nn.constant_(tensor, val)
nn.ones_(tensor)
nn.zeros_(tensor)

2.8 正交矩阵初始化

nn.orthogonal_(tensor, gain=1)

2.9 单位矩阵初始化

nn.eye_(tensor)

2.10 稀疏矩阵初始化

nn.sparse_(tensor, sparsity, std=0.01)

3. 使用方法

在网络类内部定义initialize_weights(self)方法

nn.init.方法名(self.weight.data)
nn.init.方法名(self.bias.data)

或者,由于这些data都是Tensor,也可以使用Tensor的方法来初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值