网络权重初始化方法 常数初始化、Lecun、Xavier与He Kaiming
梯度消失与梯度爆炸 梯度为偏导数构成的向量。 损失函数收敛至极小值时,梯度为0(接近0),损失函数不再下降。 我们不希望在抵达极小值前,梯度就为0了,也不希望下降过程过于震荡,甚至不收敛。 梯度消失与梯度爆炸分别对应这2种现象, 梯度消失(vanishing gradients) :指的是在训练过程中,梯度(偏导)过早接近于0的现象,导致(部分)参数一直不再更新,整体上表现得像损失函数收敛了,实际上网络尚未得到充分的训练。 梯度爆炸(exploding gradients) :指的是在训练过程中,梯度(偏导)过大甚至为NAN(not a number)的现象,导致损失剧烈震荡,甚至发散(divergence)。 由上一节的分析可知,在梯度(偏导)计算中,主要的影响因素来自 激活函数的偏导 、当前层的输入(前一层的输出)、以及 权重的数值 等, 这些因子连续相乘,带来的影响是指数级的 。训练阶段, 权重在不断调整 ,每一层的输入输出也在不断变化, 梯度消失和梯度爆炸可能发生在训练的一开始、也可能发生在训练的过程中 。 因子项中当前层的输入仅出现一次,下面着重看一下激活函数和权重的影响。 激活函数的影响 以Sigmoid和Tanh为例,其函数与导数如下(来自 链接 ), Sigmoid和Tanh,及其导数 两者的导数均在原点处取得最大值,前者为0.25后者为1,在远离原点的正负方向上