训练了一些网络,发现一个问题,怎样查卷积核的初始权重,以及初始权重是如何配置的?
1.首先了解初始化的目的

使得神经网络在训练过程中学习到有用的信息,这意味着参数的梯度能为0。那么参数初始化应该满足:各层**值不会出现饱和现象;各层**值不为0。

2.随机生成小的随机数

我们将参数初始化为小的随机数。其中randn从均值为0,标准差是1的高斯分布中取样。需要注意的是参数初始值不能取得太小,因为小的参数在反向传播时会导致小的梯度,对于深度网络来说,也会产生梯度消失问题,降低参数的收敛速度。

3.Pytorch下卷积神经网络的卷积核的初始权重
Pytorch下训练神经网络,卷积核的初始权重设置
Pytorch下训练神经网络,卷积核的初始权重设置
Pytorch下训练神经网络,卷积核的初始权重设置
Pytorch下训练神经网络,卷积核的初始权重设置
这就是整体的卷积核权重初始化过程,利用了kaiming_normal初始化,均值为0,方差计算得到。
当然也可以自己定义卷积核的初始权重,这样是自己根据计算经验得到的。

相关文章:

  • 2021-11-13
  • 2021-08-04
  • 2021-11-24
  • 2022-01-01
  • 2022-12-23
  • 2021-06-08
猜你喜欢
  • 2021-10-05
  • 2021-03-31
  • 2022-12-23
  • 2021-12-21
  • 2021-09-27
相关资源
相似解决方案