神经网络中参数的初始化问题

为什么神经网络不能初始化权重W为0?


转载自https://zhuanlan.zhihu.com/p/75879624

随意初始化为非零的权重是否可行?

答案肯定是不行的!
随意的初始化权重可能会导致梯度爆炸和梯度消失。例如当神经网络为线性的,我们初始化所有参数W=0.1或者W=0.9,都会造成指数级影响
神经网络中参数的初始化问题_第1张图片

如何初始化

快速总结一下,初始化的目的其实是为了二阶矩(也就是模长)不发生大变化:

Lecun: 从N(0,1/fan_in)从采样
Xavier: 从N(0,2/(fan_in+fan_out))中采样,pytorch的TransformerEncoder用的是这个
He kaiming: 针对Relu,N(0,2/fan_in)或者N(0,2/fan_out)中都行

细看https://blog.csdn.net/taoqick/article/details/130798166

你可能感兴趣的:(神经网络,人工智能,深度学习)